public class org.jruby.RubyMath$NemesLogGamma
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.RubyMath$NemesLogGamma
super_class: java.lang.Object
{
public final double value;
descriptor: D
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final double sign;
descriptor: D
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public void <init>(double);
descriptor: (D)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: dload 1
invokestatic java.lang.Double.isInfinite:(D)Z
ifeq 4
2: aload 0
ldc Infinity
putfield org.jruby.RubyMath$NemesLogGamma.value:D
aload 0
dconst_1
putfield org.jruby.RubyMath$NemesLogGamma.sign:D
3: return
4: StackMap locals: org.jruby.RubyMath$NemesLogGamma double
StackMap stack:
dload 1
invokestatic java.lang.Double.isNaN:(D)Z
ifeq 7
5: aload 0
ldc NaN
putfield org.jruby.RubyMath$NemesLogGamma.value:D
aload 0
dconst_1
putfield org.jruby.RubyMath$NemesLogGamma.sign:D
6: return
7: StackMap locals:
StackMap stack:
dload 1
d2i
i2d
dstore 3
start local 3 8: aload 0
dload 1
dload 3
invokestatic org.jruby.RubyMath$NemesLogGamma.signum:(DD)I
i2d
putfield org.jruby.RubyMath$NemesLogGamma.sign:D
9: dload 1
dload 3
dsub
dconst_0
dcmpl
ifne 12
dconst_0
dload 3
dcmpg
ifge 12
dload 3
getstatic org.jruby.RubyMath.FACTORIAL:[D
arraylength
i2d
dcmpg
ifgt 12
10: aload 0
getstatic org.jruby.RubyMath.FACTORIAL:[D
dload 3
d2i
iconst_1
isub
daload
invokestatic java.lang.Math.log:(D)D
putfield org.jruby.RubyMath$NemesLogGamma.value:D
11: goto 31
12: StackMap locals: double
StackMap stack:
dload 1
ldc 10.0
dcmpg
ifge 22
13: dconst_1
dstore 5
start local 5 14: iconst_0
istore 7
start local 7 15: goto 18
16: StackMap locals: double int
StackMap stack:
dload 5
dload 1
iload 7
i2d
dadd
dmul
dstore 5
17: iinc 7 1
StackMap locals:
StackMap stack:
18: iload 7
i2d
dload 1
invokestatic java.lang.Math.abs:(D)D
d2i
i2d
dload 3
dsub
ldc 10.0
dadd
dcmpg
iflt 16
end local 7 19: new org.jruby.RubyMath$NemesLogGamma
dup
dload 1
dload 1
invokestatic java.lang.Math.abs:(D)D
d2i
i2d
dadd
dload 3
dsub
ldc 10.0
dadd
invokespecial org.jruby.RubyMath$NemesLogGamma.<init>:(D)V
astore 7
start local 7 20: aload 0
aload 7
getfield org.jruby.RubyMath$NemesLogGamma.value:D
dload 5
invokestatic java.lang.Math.abs:(D)D
invokestatic java.lang.Math.log:(D)D
dsub
putfield org.jruby.RubyMath$NemesLogGamma.value:D
end local 7 end local 5 21: goto 31
22: StackMap locals:
StackMap stack:
dconst_0
dstore 5
start local 5 23: iconst_0
istore 7
start local 7 24: goto 27
25: StackMap locals: double int
StackMap stack:
dload 5
getstatic org.jruby.RubyMath.NEMES_GAMMA_COEFF:[D
iload 7
daload
dconst_1
dmul
dload 1
iload 7
i2d
invokestatic java.lang.Math.pow:(DD)D
ddiv
dadd
dstore 5
26: iinc 7 1
StackMap locals:
StackMap stack:
27: iload 7
getstatic org.jruby.RubyMath.NEMES_GAMMA_COEFF:[D
arraylength
if_icmplt 25
end local 7 28: aload 0
dload 1
dload 1
invokestatic java.lang.Math.log:(D)D
dconst_1
dsub
dload 5
invokestatic java.lang.Math.log:(D)D
dadd
dmul
29: ldc 2.0
invokestatic java.lang.Math.log:(D)D
ldc 3.141592653589793
invokestatic java.lang.Math.log:(D)D
dadd
dload 1
invokestatic java.lang.Math.log:(D)D
dsub
ldc 2.0
ddiv
dadd
30: putfield org.jruby.RubyMath$NemesLogGamma.value:D
end local 5 31: StackMap locals:
StackMap stack:
return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lorg/jruby/RubyMath$NemesLogGamma;
0 32 1 x D
8 32 3 int_part D
14 21 5 rising_factorial D
15 19 7 i I
20 21 7 l Lorg/jruby/RubyMath$NemesLogGamma;
23 31 5 temp D
24 28 7 i I
MethodParameters:
Name Flags
x
private static int signum(double, double);
descriptor: (DD)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 2 0: dload 2
ldc 2.0
drem
dconst_0
dcmpl
ifne 1
dload 0
dload 2
dsub
dconst_0
dcmpl
ifeq 1
dload 0
dconst_0
dcmpg
iflt 2
StackMap locals:
StackMap stack:
1: dload 0
invokestatic org.jruby.RubyMath$NemesLogGamma.negZero:(D)Z
ifeq 3
StackMap locals:
StackMap stack:
2: iconst_m1
goto 4
StackMap locals:
StackMap stack:
3: iconst_1
StackMap locals:
StackMap stack: int
4: ireturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 x D
0 5 2 int_part D
MethodParameters:
Name Flags
x final
int_part final
private static boolean negZero(double);
descriptor: (D)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: dload 0
dconst_0
dcmpl
ifne 1
dload 0
invokestatic java.lang.Double.doubleToRawLongBits:(D)J
lconst_0
lcmp
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 x D
MethodParameters:
Name Flags
x final
}
SourceFile: "RubyMath.java"
NestHost: org.jruby.RubyMath
InnerClasses:
public NemesLogGamma = org.jruby.RubyMath$NemesLogGamma of org.jruby.RubyMath