public class org.apache.commons.math3.random.HaltonSequenceGenerator implements org.apache.commons.math3.random.RandomVectorGenerator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.commons.math3.random.HaltonSequenceGenerator
super_class: java.lang.Object
{
private static final int[] PRIMES;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] WEIGHTS;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final int dimension;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int count;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final int[] base;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int[] weight;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: bipush 40
newarray 10
dup
iconst_0
1: iconst_2
iastore
dup
iconst_1
iconst_3
iastore
dup
iconst_2
iconst_5
iastore
dup
iconst_3
bipush 7
iastore
dup
iconst_4
bipush 11
iastore
dup
iconst_5
bipush 13
iastore
dup
bipush 6
bipush 17
iastore
dup
bipush 7
bipush 19
iastore
dup
bipush 8
bipush 23
iastore
dup
bipush 9
bipush 29
iastore
dup
bipush 10
bipush 31
iastore
dup
bipush 11
bipush 37
iastore
dup
bipush 12
bipush 41
iastore
dup
bipush 13
bipush 43
iastore
dup
bipush 14
bipush 47
iastore
dup
bipush 15
bipush 53
iastore
dup
bipush 16
bipush 59
iastore
dup
bipush 17
bipush 61
iastore
dup
bipush 18
bipush 67
iastore
dup
bipush 19
2: bipush 71
iastore
dup
bipush 20
bipush 73
iastore
dup
bipush 21
bipush 79
iastore
dup
bipush 22
bipush 83
iastore
dup
bipush 23
bipush 89
iastore
dup
bipush 24
bipush 97
iastore
dup
bipush 25
bipush 101
iastore
dup
bipush 26
bipush 103
iastore
dup
bipush 27
bipush 107
iastore
dup
bipush 28
bipush 109
iastore
dup
bipush 29
bipush 113
iastore
dup
bipush 30
bipush 127
iastore
dup
bipush 31
sipush 131
iastore
dup
bipush 32
sipush 137
iastore
dup
bipush 33
sipush 139
iastore
dup
bipush 34
3: sipush 149
iastore
dup
bipush 35
sipush 151
iastore
dup
bipush 36
sipush 157
iastore
dup
bipush 37
sipush 163
iastore
dup
bipush 38
sipush 167
iastore
dup
bipush 39
sipush 173
iastore
4: putstatic org.apache.commons.math3.random.HaltonSequenceGenerator.PRIMES:[I
5: bipush 40
newarray 10
dup
iconst_0
6: iconst_1
iastore
dup
iconst_1
iconst_2
iastore
dup
iconst_2
iconst_3
iastore
dup
iconst_3
iconst_3
iastore
dup
iconst_4
bipush 8
iastore
dup
iconst_5
bipush 11
iastore
dup
bipush 6
bipush 12
iastore
dup
bipush 7
bipush 14
iastore
dup
bipush 8
bipush 7
iastore
dup
bipush 9
bipush 18
iastore
dup
bipush 10
bipush 12
iastore
dup
bipush 11
bipush 13
iastore
dup
bipush 12
bipush 17
iastore
dup
bipush 13
bipush 18
iastore
dup
bipush 14
bipush 29
iastore
dup
bipush 15
bipush 14
iastore
dup
bipush 16
bipush 18
iastore
dup
bipush 17
bipush 43
iastore
dup
bipush 18
bipush 41
iastore
dup
bipush 19
7: bipush 44
iastore
dup
bipush 20
bipush 40
iastore
dup
bipush 21
bipush 30
iastore
dup
bipush 22
bipush 47
iastore
dup
bipush 23
bipush 65
iastore
dup
bipush 24
bipush 71
iastore
dup
bipush 25
bipush 28
iastore
dup
bipush 26
bipush 40
iastore
dup
bipush 27
bipush 60
iastore
dup
bipush 28
bipush 79
iastore
dup
bipush 29
bipush 89
iastore
dup
bipush 30
bipush 56
iastore
dup
bipush 31
bipush 50
iastore
dup
bipush 32
bipush 52
iastore
dup
bipush 33
bipush 61
iastore
dup
bipush 34
bipush 108
iastore
dup
bipush 35
bipush 56
iastore
dup
bipush 36
8: bipush 66
iastore
dup
bipush 37
bipush 63
iastore
dup
bipush 38
bipush 60
iastore
dup
bipush 39
bipush 66
iastore
9: putstatic org.apache.commons.math3.random.HaltonSequenceGenerator.WEIGHTS:[I
10: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
getstatic org.apache.commons.math3.random.HaltonSequenceGenerator.PRIMES:[I
getstatic org.apache.commons.math3.random.HaltonSequenceGenerator.WEIGHTS:[I
invokespecial org.apache.commons.math3.random.HaltonSequenceGenerator.<init>:(I[I[I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/commons/math3/random/HaltonSequenceGenerator;
0 2 1 dimension I
Exceptions:
throws org.apache.commons.math3.exception.OutOfRangeException
MethodParameters:
Name Flags
dimension final
public void <init>(int, int[], int[]);
descriptor: (I[I[I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield org.apache.commons.math3.random.HaltonSequenceGenerator.count:I
2: aload 2
invokestatic org.apache.commons.math3.util.MathUtils.checkNotNull:(Ljava/lang/Object;)V
3: iload 1
iconst_1
if_icmplt 4
iload 1
aload 2
arraylength
if_icmple 5
4: StackMap locals: org.apache.commons.math3.random.HaltonSequenceGenerator int int[] int[]
StackMap stack:
new org.apache.commons.math3.exception.OutOfRangeException
dup
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
getstatic org.apache.commons.math3.random.HaltonSequenceGenerator.PRIMES:[I
arraylength
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokespecial org.apache.commons.math3.exception.OutOfRangeException.<init>:(Ljava/lang/Number;Ljava/lang/Number;Ljava/lang/Number;)V
athrow
5: StackMap locals:
StackMap stack:
aload 3
ifnull 7
aload 3
arraylength
aload 2
arraylength
if_icmpeq 7
6: new org.apache.commons.math3.exception.DimensionMismatchException
dup
aload 3
arraylength
aload 2
arraylength
invokespecial org.apache.commons.math3.exception.DimensionMismatchException.<init>:(II)V
athrow
7: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield org.apache.commons.math3.random.HaltonSequenceGenerator.dimension:I
8: aload 0
aload 2
invokevirtual int[].clone:()Ljava/lang/Object;
checkcast int[]
putfield org.apache.commons.math3.random.HaltonSequenceGenerator.base:[I
9: aload 0
aload 3
ifnonnull 10
aconst_null
goto 11
StackMap locals:
StackMap stack: org.apache.commons.math3.random.HaltonSequenceGenerator
10: aload 3
invokevirtual int[].clone:()Ljava/lang/Object;
checkcast int[]
StackMap locals: org.apache.commons.math3.random.HaltonSequenceGenerator int int[] int[]
StackMap stack: org.apache.commons.math3.random.HaltonSequenceGenerator int[]
11: putfield org.apache.commons.math3.random.HaltonSequenceGenerator.weight:[I
12: aload 0
iconst_0
putfield org.apache.commons.math3.random.HaltonSequenceGenerator.count:I
13: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/apache/commons/math3/random/HaltonSequenceGenerator;
0 14 1 dimension I
0 14 2 bases [I
0 14 3 weights [I
Exceptions:
throws org.apache.commons.math3.exception.NullArgumentException, org.apache.commons.math3.exception.OutOfRangeException, org.apache.commons.math3.exception.DimensionMismatchException
MethodParameters:
Name Flags
dimension final
bases final
weights final
public double[] nextVector();
descriptor: ()[D
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=8, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.math3.random.HaltonSequenceGenerator.dimension:I
newarray 7
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 13
3: StackMap locals: double[] int
StackMap stack:
aload 0
getfield org.apache.commons.math3.random.HaltonSequenceGenerator.count:I
istore 3
start local 3 4: dconst_1
aload 0
getfield org.apache.commons.math3.random.HaltonSequenceGenerator.base:[I
iload 2
iaload
i2d
ddiv
dstore 4
start local 4 5: iconst_0
istore 6
start local 6 6: goto 11
7: StackMap locals: int double int
StackMap stack:
aload 0
iload 2
iload 6
aload 0
getfield org.apache.commons.math3.random.HaltonSequenceGenerator.base:[I
iload 2
iaload
iload 3
aload 0
getfield org.apache.commons.math3.random.HaltonSequenceGenerator.base:[I
iload 2
iaload
irem
invokevirtual org.apache.commons.math3.random.HaltonSequenceGenerator.scramble:(IIII)I
istore 7
start local 7 8: aload 1
iload 2
dup2
daload
dload 4
iload 7
i2d
dmul
dadd
dastore
9: iload 3
aload 0
getfield org.apache.commons.math3.random.HaltonSequenceGenerator.base:[I
iload 2
iaload
idiv
istore 3
10: dload 4
aload 0
getfield org.apache.commons.math3.random.HaltonSequenceGenerator.base:[I
iload 2
iaload
i2d
ddiv
dstore 4
end local 7 11: StackMap locals:
StackMap stack:
iload 3
ifgt 7
end local 6 end local 4 end local 3 12: iinc 2 1
StackMap locals:
StackMap stack:
13: iload 2
aload 0
getfield org.apache.commons.math3.random.HaltonSequenceGenerator.dimension:I
if_icmplt 3
end local 2 14: aload 0
dup
getfield org.apache.commons.math3.random.HaltonSequenceGenerator.count:I
iconst_1
iadd
putfield org.apache.commons.math3.random.HaltonSequenceGenerator.count:I
15: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/apache/commons/math3/random/HaltonSequenceGenerator;
1 16 1 v [D
2 14 2 i I
4 12 3 index I
5 12 4 f D
6 12 6 j I
8 11 7 digit I
protected int scramble(int, int, int, int);
descriptor: (IIII)I
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield org.apache.commons.math3.random.HaltonSequenceGenerator.weight:[I
ifnull 1
aload 0
getfield org.apache.commons.math3.random.HaltonSequenceGenerator.weight:[I
iload 1
iaload
iload 4
imul
iload 3
irem
goto 2
StackMap locals:
StackMap stack:
1: iload 4
StackMap locals:
StackMap stack: int
2: ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/commons/math3/random/HaltonSequenceGenerator;
0 3 1 i I
0 3 2 j I
0 3 3 b I
0 3 4 digit I
MethodParameters:
Name Flags
i final
j final
b final
digit final
public double[] skipTo(int);
descriptor: (I)[D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.apache.commons.math3.random.HaltonSequenceGenerator.count:I
1: aload 0
invokevirtual org.apache.commons.math3.random.HaltonSequenceGenerator.nextVector:()[D
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/commons/math3/random/HaltonSequenceGenerator;
0 2 1 index I
Exceptions:
throws org.apache.commons.math3.exception.NotPositiveException
MethodParameters:
Name Flags
index final
public int getNextIndex();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.commons.math3.random.HaltonSequenceGenerator.count:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/commons/math3/random/HaltonSequenceGenerator;
}
SourceFile: "HaltonSequenceGenerator.java"