public class org.apache.commons.math3.transform.FastSineTransformer implements org.apache.commons.math3.transform.RealTransformer, java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.commons.math3.transform.FastSineTransformer
super_class: java.lang.Object
{
static final long serialVersionUID;
descriptor: J
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 20120211
private final org.apache.commons.math3.transform.DstNormalization normalization;
descriptor: Lorg/apache/commons/math3/transform/DstNormalization;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(org.apache.commons.math3.transform.DstNormalization);
descriptor: (Lorg/apache/commons/math3/transform/DstNormalization;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.apache.commons.math3.transform.FastSineTransformer.normalization:Lorg/apache/commons/math3/transform/DstNormalization;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/commons/math3/transform/FastSineTransformer;
0 3 1 normalization Lorg/apache/commons/math3/transform/DstNormalization;
MethodParameters:
Name Flags
normalization final
public double[] transform(double[], org.apache.commons.math3.transform.TransformType);
descriptor: ([DLorg/apache/commons/math3/transform/TransformType;)[D
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.commons.math3.transform.FastSineTransformer.normalization:Lorg/apache/commons/math3/transform/DstNormalization;
getstatic org.apache.commons.math3.transform.DstNormalization.ORTHOGONAL_DST_I:Lorg/apache/commons/math3/transform/DstNormalization;
if_acmpne 3
1: ldc 2.0
aload 1
arraylength
i2d
ddiv
invokestatic org.apache.commons.math3.util.FastMath.sqrt:(D)D
dstore 3
start local 3 2: aload 0
aload 1
invokevirtual org.apache.commons.math3.transform.FastSineTransformer.fst:([D)[D
dload 3
invokestatic org.apache.commons.math3.transform.TransformUtils.scaleArray:([DD)[D
areturn
end local 3 3: StackMap locals:
StackMap stack:
aload 2
getstatic org.apache.commons.math3.transform.TransformType.FORWARD:Lorg/apache/commons/math3/transform/TransformType;
if_acmpne 5
4: aload 0
aload 1
invokevirtual org.apache.commons.math3.transform.FastSineTransformer.fst:([D)[D
areturn
5: StackMap locals:
StackMap stack:
ldc 2.0
aload 1
arraylength
i2d
ddiv
dstore 3
start local 3 6: aload 0
aload 1
invokevirtual org.apache.commons.math3.transform.FastSineTransformer.fst:([D)[D
dload 3
invokestatic org.apache.commons.math3.transform.TransformUtils.scaleArray:([DD)[D
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/commons/math3/transform/FastSineTransformer;
0 7 1 f [D
0 7 2 type Lorg/apache/commons/math3/transform/TransformType;
2 3 3 s D
6 7 3 s D
MethodParameters:
Name Flags
f final
type final
public double[] transform(org.apache.commons.math3.analysis.UnivariateFunction, double, double, int, org.apache.commons.math3.transform.TransformType);
descriptor: (Lorg/apache/commons/math3/analysis/UnivariateFunction;DDILorg/apache/commons/math3/transform/TransformType;)[D
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 4 start local 6 start local 7 0: aload 1
dload 2
dload 4
iload 6
invokestatic org.apache.commons.math3.analysis.FunctionUtils.sample:(Lorg/apache/commons/math3/analysis/UnivariateFunction;DDI)[D
astore 8
start local 8 1: aload 8
iconst_0
dconst_0
dastore
2: aload 0
aload 8
aload 7
invokevirtual org.apache.commons.math3.transform.FastSineTransformer.transform:([DLorg/apache/commons/math3/transform/TransformType;)[D
areturn
end local 8 end local 7 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/commons/math3/transform/FastSineTransformer;
0 3 1 f Lorg/apache/commons/math3/analysis/UnivariateFunction;
0 3 2 min D
0 3 4 max D
0 3 6 n I
0 3 7 type Lorg/apache/commons/math3/transform/TransformType;
1 3 8 data [D
MethodParameters:
Name Flags
f final
min final
max final
n final
type final
protected double[] fst(double[]);
descriptor: ([D)[D
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=10, args_size=2
start local 0 start local 1 0: aload 1
arraylength
newarray 7
astore 2
start local 2 1: aload 1
arraylength
i2l
invokestatic org.apache.commons.math3.util.ArithmeticUtils.isPowerOfTwo:(J)Z
ifne 6
2: new org.apache.commons.math3.exception.MathIllegalArgumentException
dup
3: getstatic org.apache.commons.math3.exception.util.LocalizedFormats.NOT_POWER_OF_TWO_CONSIDER_PADDING:Lorg/apache/commons/math3/exception/util/LocalizedFormats;
iconst_1
anewarray java.lang.Object
dup
iconst_0
4: aload 1
arraylength
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
5: aastore
invokespecial org.apache.commons.math3.exception.MathIllegalArgumentException.<init>:(Lorg/apache/commons/math3/exception/util/Localizable;[Ljava/lang/Object;)V
athrow
6: StackMap locals: double[]
StackMap stack:
aload 1
iconst_0
daload
dconst_0
dcmpl
ifeq 11
7: new org.apache.commons.math3.exception.MathIllegalArgumentException
dup
8: getstatic org.apache.commons.math3.exception.util.LocalizedFormats.FIRST_ELEMENT_NOT_ZERO:Lorg/apache/commons/math3/exception/util/LocalizedFormats;
iconst_1
anewarray java.lang.Object
dup
iconst_0
9: aload 1
iconst_0
daload
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
10: aastore
invokespecial org.apache.commons.math3.exception.MathIllegalArgumentException.<init>:(Lorg/apache/commons/math3/exception/util/Localizable;[Ljava/lang/Object;)V
athrow
11: StackMap locals:
StackMap stack:
aload 1
arraylength
istore 3
start local 3 12: iload 3
iconst_1
if_icmpne 15
13: aload 2
iconst_0
dconst_0
dastore
14: aload 2
areturn
15: StackMap locals: int
StackMap stack:
iload 3
newarray 7
astore 4
start local 4 16: aload 4
iconst_0
dconst_0
dastore
17: aload 4
iload 3
iconst_1
ishr
ldc 2.0
aload 1
iload 3
iconst_1
ishr
daload
dmul
dastore
18: iconst_1
istore 5
start local 5 19: goto 25
20: StackMap locals: double[] int
StackMap stack:
iload 5
i2d
ldc 3.141592653589793
dmul
iload 3
i2d
ddiv
invokestatic org.apache.commons.math3.util.FastMath.sin:(D)D
aload 1
iload 5
daload
aload 1
iload 3
iload 5
isub
daload
dadd
dmul
dstore 6
start local 6 21: ldc 0.5
aload 1
iload 5
daload
aload 1
iload 3
iload 5
isub
daload
dsub
dmul
dstore 8
start local 8 22: aload 4
iload 5
dload 6
dload 8
dadd
dastore
23: aload 4
iload 3
iload 5
isub
dload 6
dload 8
dsub
dastore
end local 8 end local 6 24: iinc 5 1
StackMap locals:
StackMap stack:
25: iload 5
iload 3
iconst_1
ishr
if_icmplt 20
end local 5 26: new org.apache.commons.math3.transform.FastFourierTransformer
dup
getstatic org.apache.commons.math3.transform.DftNormalization.STANDARD:Lorg/apache/commons/math3/transform/DftNormalization;
invokespecial org.apache.commons.math3.transform.FastFourierTransformer.<init>:(Lorg/apache/commons/math3/transform/DftNormalization;)V
astore 5
start local 5 27: aload 5
aload 4
getstatic org.apache.commons.math3.transform.TransformType.FORWARD:Lorg/apache/commons/math3/transform/TransformType;
invokevirtual org.apache.commons.math3.transform.FastFourierTransformer.transform:([DLorg/apache/commons/math3/transform/TransformType;)[Lorg/apache/commons/math3/complex/Complex;
astore 6
start local 6 28: aload 2
iconst_0
dconst_0
dastore
29: aload 2
iconst_1
ldc 0.5
aload 6
iconst_0
aaload
invokevirtual org.apache.commons.math3.complex.Complex.getReal:()D
dmul
dastore
30: iconst_1
istore 7
start local 7 31: goto 35
32: StackMap locals: org.apache.commons.math3.transform.FastSineTransformer double[] double[] int double[] org.apache.commons.math3.transform.FastFourierTransformer org.apache.commons.math3.complex.Complex[] int
StackMap stack:
aload 2
iconst_2
iload 7
imul
aload 6
iload 7
aaload
invokevirtual org.apache.commons.math3.complex.Complex.getImaginary:()D
dneg
dastore
33: aload 2
iconst_2
iload 7
imul
iconst_1
iadd
aload 6
iload 7
aaload
invokevirtual org.apache.commons.math3.complex.Complex.getReal:()D
aload 2
iconst_2
iload 7
imul
iconst_1
isub
daload
dadd
dastore
34: iinc 7 1
StackMap locals:
StackMap stack:
35: iload 7
iload 3
iconst_1
ishr
if_icmplt 32
end local 7 36: aload 2
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lorg/apache/commons/math3/transform/FastSineTransformer;
0 37 1 f [D
1 37 2 transformed [D
12 37 3 n I
16 37 4 x [D
19 26 5 i I
21 24 6 a D
22 24 8 b D
27 37 5 transformer Lorg/apache/commons/math3/transform/FastFourierTransformer;
28 37 6 y [Lorg/apache/commons/math3/complex/Complex;
31 36 7 i I
Exceptions:
throws org.apache.commons.math3.exception.MathIllegalArgumentException
MethodParameters:
Name Flags
f
}
SourceFile: "FastSineTransformer.java"