public class org.apache.commons.math.analysis.function.Sinc extends java.lang.Object implements org.apache.commons.math.analysis.differentiation.UnivariateDifferentiableFunction, org.apache.commons.math.analysis.DifferentiableUnivariateFunction
{
private static final double SHORTCUT;
private final boolean normalized;
public void <init>()
{
org.apache.commons.math.analysis.function.Sinc v;
v := @this: org.apache.commons.math.analysis.function.Sinc;
specialinvoke v.<org.apache.commons.math.analysis.function.Sinc: void <init>(boolean)>(0);
return;
}
public void <init>(boolean)
{
org.apache.commons.math.analysis.function.Sinc v;
boolean v;
v := @this: org.apache.commons.math.analysis.function.Sinc;
v := @parameter: boolean;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<org.apache.commons.math.analysis.function.Sinc: boolean normalized> = v;
return;
}
public double value(double)
{
org.apache.commons.math.analysis.function.Sinc v;
byte v;
boolean v;
double v, v, v, v, v, v, v, v, v, v;
v := @this: org.apache.commons.math.analysis.function.Sinc;
v := @parameter: double;
v = v.<org.apache.commons.math.analysis.function.Sinc: boolean normalized>;
if v == 0 goto label;
v = 3.141592653589793 * v;
goto label;
label:
v = v;
label:
v = staticinvoke <org.apache.commons.math.util.FastMath: double abs(double)>(v);
v = v cmpg 0.006;
if v > 0 goto label;
v = v * v;
v = v - 20.0;
v = v * v;
v = v + 120.0;
v = v / 120.0;
return v;
label:
v = staticinvoke <org.apache.commons.math.util.FastMath: double sin(double)>(v);
v = v / v;
return v;
}
public org.apache.commons.math.analysis.UnivariateFunction derivative()
{
org.apache.commons.math.analysis.UnivariateFunction v;
org.apache.commons.math.analysis.function.Sinc v;
org.apache.commons.math.analysis.DifferentiableUnivariateFunction v;
v := @this: org.apache.commons.math.analysis.function.Sinc;
v = staticinvoke <org.apache.commons.math.analysis.FunctionUtils: org.apache.commons.math.analysis.DifferentiableUnivariateFunction toDifferentiableUnivariateFunction(org.apache.commons.math.analysis.differentiation.UnivariateDifferentiableFunction)>(v);
v = interfaceinvoke v.<org.apache.commons.math.analysis.DifferentiableUnivariateFunction: org.apache.commons.math.analysis.UnivariateFunction derivative()>();
return v;
}
public org.apache.commons.math.analysis.differentiation.DerivativeStructure value(org.apache.commons.math.analysis.differentiation.DerivativeStructure) throws org.apache.commons.math.exception.DimensionMismatchException
{
byte v, v;
org.apache.commons.math.analysis.function.Sinc v;
double[] v, v;
org.apache.commons.math.analysis.differentiation.DerivativeStructure v, v;
boolean v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
double v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
v := @this: org.apache.commons.math.analysis.function.Sinc;
v := @parameter: org.apache.commons.math.analysis.differentiation.DerivativeStructure;
v = v.<org.apache.commons.math.analysis.function.Sinc: boolean normalized>;
if v == 0 goto label;
v = 3.141592653589793;
goto label;
label:
v = 1.0;
label:
v = virtualinvoke v.<org.apache.commons.math.analysis.differentiation.DerivativeStructure: double getValue()>();
v = v * v;
v = v * v;
v = virtualinvoke v.<org.apache.commons.math.analysis.differentiation.DerivativeStructure: int getOrder()>();
v = v + 1;
v = newarray (double)[v];
v = staticinvoke <org.apache.commons.math.util.FastMath: double abs(double)>(v);
v = v cmpg 0.006;
if v > 0 goto label;
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v / 2;
v = v & 1;
if v != 0 goto label;
v = v;
v = v & 1;
if v != 0 goto label;
v = 1;
goto label;
label:
v = -1;
label:
v = v + 1;
v = 1.0 / v;
v = 2 * v;
v = v + 6;
v = 1.0 / v;
v = 24 * v;
v = v + 120;
v = v / v;
v = v - v;
v = v * v;
v = v - v;
v = v * v;
v[v] = v;
goto label;
label:
v = v;
v = v & 1;
if v != 0 goto label;
v = neg v;
goto label;
label:
v = v;
label:
v = v + 2;
v = 1.0 / v;
v = 6 * v;
v = v + 24;
v = 1.0 / v;
v = 120 * v;
v = v + 720;
v = v / v;
v = v - v;
v = v * v;
v = v - v;
v = v * v;
v[v] = v;
label:
v = v + 1;
goto label;
label:
v = 1.0 / v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double cos(double)>(v);
v = staticinvoke <org.apache.commons.math.util.FastMath: double sin(double)>(v);
v = v * v;
v[0] = v;
v = lengthof v;
v = newarray (double)[v];
v[0] = 1.0;
v = v;
v = 1;
label:
v = lengthof v;
if v >= v goto label;
v = 0.0;
v = 0.0;
v = v & 1;
if v != 0 goto label;
v[v] = 0.0;
v = v;
goto label;
label:
v = v - 1;
v = v[v];
v[v] = v;
v = v[v];
v = v - 1;
label:
v = v;
label:
if v <= 1 goto label;
v = v - v;
v = v[v];
v = v * v;
v = v - 1;
v = v[v];
v = v - v;
v[v] = v;
v = v * v;
v = v[v];
v = v + v;
v = v - 1;
v = v - 1;
v = v - v;
v = v - 1;
v = v[v];
v = v * v;
v = v - 2;
v = v[v];
v = v + v;
v[v] = v;
v = v * v;
v = v - 1;
v = v[v];
v = v + v;
v = v - 2;
goto label;
label:
v = v[0];
v = neg v;
v = v * v;
v[0] = v;
v = v * v;
v = v[0];
v = v + v;
v = v * v;
v = v * v;
v = v * v;
v = v * v;
v = v + v;
v = v * v;
v[v] = v;
v = v + 1;
goto label;
label:
v = v.<org.apache.commons.math.analysis.function.Sinc: boolean normalized>;
if v == 0 goto label;
v = 3.141592653589793;
v = 1;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = v * v;
v[v] = v;
v = v * 3.141592653589793;
v = v + 1;
goto label;
label:
v = virtualinvoke v.<org.apache.commons.math.analysis.differentiation.DerivativeStructure: org.apache.commons.math.analysis.differentiation.DerivativeStructure compose(double[])>(v);
return v;
}
}