public class oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator extends java.lang.Object implements oadd.org.apache.commons.math.analysis.interpolation.UnivariateInterpolator, java.io.Serializable
{
public static final double DEFAULT_BANDWIDTH;
public static final int DEFAULT_ROBUSTNESS_ITERS;
public static final double DEFAULT_ACCURACY;
private static final long serialVersionUID;
private final double bandwidth;
private final int robustnessIters;
private final double accuracy;
public void <init>()
{
oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator v;
v := @this: oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator: double bandwidth> = 0.3;
v.<oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator: int robustnessIters> = 2;
v.<oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator: double accuracy> = 1.0E-12;
return;
}
public void <init>(double, int)
{
int v;
oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator v;
double v;
v := @this: oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator;
v := @parameter: double;
v := @parameter: int;
specialinvoke v.<oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator: void <init>(double,int,double)>(v, v, 1.0E-12);
return;
}
public void <init>(double, int, double) throws oadd.org.apache.commons.math.exception.OutOfRangeException, oadd.org.apache.commons.math.exception.NotPositiveException
{
oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator v;
java.lang.Double v;
java.lang.Integer v, v, v;
byte v, v;
oadd.org.apache.commons.math.exception.NotPositiveException v;
int v;
oadd.org.apache.commons.math.exception.OutOfRangeException v;
oadd.org.apache.commons.math.exception.util.LocalizedFormats v, v;
double v, v;
v := @this: oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator;
v := @parameter: double;
v := @parameter: int;
v := @parameter: double;
specialinvoke v.<java.lang.Object: void <init>()>();
v = v cmpg 0.0;
if v < 0 goto label;
v = v cmpl 1.0;
if v <= 0 goto label;
label:
v = new oadd.org.apache.commons.math.exception.OutOfRangeException;
v = <oadd.org.apache.commons.math.exception.util.LocalizedFormats: oadd.org.apache.commons.math.exception.util.LocalizedFormats BANDWIDTH>;
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(0);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(1);
specialinvoke v.<oadd.org.apache.commons.math.exception.OutOfRangeException: void <init>(oadd.org.apache.commons.math.exception.util.Localizable,java.lang.Number,java.lang.Number,java.lang.Number)>(v, v, v, v);
throw v;
label:
v.<oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator: double bandwidth> = v;
if v >= 0 goto label;
v = new oadd.org.apache.commons.math.exception.NotPositiveException;
v = <oadd.org.apache.commons.math.exception.util.LocalizedFormats: oadd.org.apache.commons.math.exception.util.LocalizedFormats ROBUSTNESS_ITERATIONS>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
specialinvoke v.<oadd.org.apache.commons.math.exception.NotPositiveException: void <init>(oadd.org.apache.commons.math.exception.util.Localizable,java.lang.Number)>(v, v);
throw v;
label:
v.<oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator: int robustnessIters> = v;
v.<oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator: double accuracy> = v;
return;
}
public final oadd.org.apache.commons.math.analysis.polynomials.PolynomialSplineFunction interpolate(double[], double[]) throws oadd.org.apache.commons.math.exception.NonMonotonicSequenceException, oadd.org.apache.commons.math.exception.DimensionMismatchException, oadd.org.apache.commons.math.exception.NoDataException, oadd.org.apache.commons.math.exception.NotFiniteNumberException, oadd.org.apache.commons.math.exception.NumberIsTooSmallException
{
oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator v;
oadd.org.apache.commons.math.analysis.polynomials.PolynomialSplineFunction v;
oadd.org.apache.commons.math.analysis.interpolation.SplineInterpolator v;
double[] v, v, v;
v := @this: oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator;
v := @parameter: double[];
v := @parameter: double[];
v = new oadd.org.apache.commons.math.analysis.interpolation.SplineInterpolator;
specialinvoke v.<oadd.org.apache.commons.math.analysis.interpolation.SplineInterpolator: void <init>()>();
v = virtualinvoke v.<oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator: double[] smooth(double[],double[])>(v, v);
v = virtualinvoke v.<oadd.org.apache.commons.math.analysis.interpolation.SplineInterpolator: oadd.org.apache.commons.math.analysis.polynomials.PolynomialSplineFunction interpolate(double[],double[])>(v, v);
return v;
}
public final double[] smooth(double[], double[], double[]) throws oadd.org.apache.commons.math.exception.NonMonotonicSequenceException, oadd.org.apache.commons.math.exception.DimensionMismatchException, oadd.org.apache.commons.math.exception.NoDataException, oadd.org.apache.commons.math.exception.NotFiniteNumberException, oadd.org.apache.commons.math.exception.NumberIsTooSmallException
{
java.lang.Integer v, v;
byte v, v, v, v;
double[] v, v, v, v, v, v, v, v, v;
oadd.org.apache.commons.math.exception.NoDataException v;
oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator v;
int[] v;
oadd.org.apache.commons.math.exception.NumberIsTooSmallException v;
oadd.org.apache.commons.math.exception.DimensionMismatchException v;
oadd.org.apache.commons.math.exception.util.LocalizedFormats v;
int 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, v, v, v, v, v, v, v, v, v, v, v;
v := @this: oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator;
v := @parameter: double[];
v := @parameter: double[];
v := @parameter: double[];
v = lengthof v;
v = lengthof v;
if v == v goto label;
v = new oadd.org.apache.commons.math.exception.DimensionMismatchException;
v = lengthof v;
v = lengthof v;
specialinvoke v.<oadd.org.apache.commons.math.exception.DimensionMismatchException: void <init>(int,int)>(v, v);
throw v;
label:
v = lengthof v;
if v != 0 goto label;
v = new oadd.org.apache.commons.math.exception.NoDataException;
specialinvoke v.<oadd.org.apache.commons.math.exception.NoDataException: void <init>()>();
throw v;
label:
staticinvoke <oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator: void checkAllFiniteReal(double[])>(v);
staticinvoke <oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator: void checkAllFiniteReal(double[])>(v);
staticinvoke <oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator: void checkAllFiniteReal(double[])>(v);
staticinvoke <oadd.org.apache.commons.math.util.MathArrays: void checkOrder(double[])>(v);
if v != 1 goto label;
v = newarray (double)[1];
v = v[0];
v[0] = v;
return v;
label:
if v != 2 goto label;
v = newarray (double)[2];
v = v[0];
v[0] = v;
v = v[1];
v[1] = v;
return v;
label:
v = v.<oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator: double bandwidth>;
v = v * v;
if v >= 2 goto label;
v = new oadd.org.apache.commons.math.exception.NumberIsTooSmallException;
v = <oadd.org.apache.commons.math.exception.util.LocalizedFormats: oadd.org.apache.commons.math.exception.util.LocalizedFormats BANDWIDTH>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(2);
specialinvoke v.<oadd.org.apache.commons.math.exception.NumberIsTooSmallException: void <init>(oadd.org.apache.commons.math.exception.util.Localizable,java.lang.Number,java.lang.Number,boolean)>(v, v, v, 1);
throw v;
label:
v = newarray (double)[v];
v = newarray (double)[v];
v = newarray (double)[v];
v = newarray (double)[v];
staticinvoke <java.util.Arrays: void fill(double[],double)>(v, 1.0);
v = 0;
label:
v = v.<oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator: int robustnessIters>;
if v > v goto label;
v = newarray (int)[2];
v[0] = 0;
v = v - 1;
v[1] = v;
v = 0;
label:
if v >= v goto label;
v = v[v];
if v <= 0 goto label;
staticinvoke <oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator: void updateBandwidthInterval(double[],double[],int,int[])>(v, v, v, v);
label:
v = v[0];
v = v[1];
v = v[v];
v = v[v];
v = v - v;
v = v[v];
v = v[v];
v = v - v;
v = v cmpl v;
if v <= 0 goto label;
v = v;
goto label;
label:
v = v;
label:
v = 0.0;
v = 0.0;
v = 0.0;
v = 0.0;
v = 0.0;
v = v[v];
v = v - v;
v = 1.0 / v;
v = staticinvoke <oadd.org.apache.commons.math.util.FastMath: double abs(double)>(v);
v = v;
label:
if v > v goto label;
v = v[v];
v = v[v];
if v >= v goto label;
v = v - v;
goto label;
label:
v = v - v;
label:
v = v * v;
v = staticinvoke <oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator: double tricube(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 + 1;
goto label;
label:
v = v / v;
v = v / v;
v = v / v;
v = v / v;
v = v * v;
v = v - v;
v = staticinvoke <oadd.org.apache.commons.math.util.FastMath: double abs(double)>(v);
v = staticinvoke <oadd.org.apache.commons.math.util.FastMath: double sqrt(double)>(v);
v = v.<oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator: double accuracy>;
v = v cmpg v;
if v >= 0 goto label;
v = 0.0;
goto label;
label:
v = v * v;
v = v - v;
v = v * v;
v = v - v;
v = v / v;
label:
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 = staticinvoke <oadd.org.apache.commons.math.util.FastMath: double abs(double)>(v);
v[v] = v;
v = v + 1;
goto label;
label:
v = v.<oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator: int robustnessIters>;
if v == v goto label;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, 0, v, 0, v);
staticinvoke <java.util.Arrays: void sort(double[])>(v);
v = v / 2;
v = v[v];
v = staticinvoke <oadd.org.apache.commons.math.util.FastMath: double abs(double)>(v);
v = v.<oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator: double accuracy>;
v = v cmpg v;
if v < 0 goto label;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = 6.0 * v;
v = v / v;
v = v cmpl 1.0;
if v < 0 goto label;
v[v] = 0.0;
goto label;
label:
v = v * v;
v = 1.0 - v;
v = v * v;
v[v] = v;
label:
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
return v;
}
public final double[] smooth(double[], double[]) throws oadd.org.apache.commons.math.exception.NonMonotonicSequenceException, oadd.org.apache.commons.math.exception.DimensionMismatchException, oadd.org.apache.commons.math.exception.NoDataException, oadd.org.apache.commons.math.exception.NotFiniteNumberException, oadd.org.apache.commons.math.exception.NumberIsTooSmallException
{
oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator v;
double[] v, v, v, v;
oadd.org.apache.commons.math.exception.DimensionMismatchException v;
int v, v, v, v, v;
v := @this: oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator;
v := @parameter: double[];
v := @parameter: double[];
v = lengthof v;
v = lengthof v;
if v == v goto label;
v = new oadd.org.apache.commons.math.exception.DimensionMismatchException;
v = lengthof v;
v = lengthof v;
specialinvoke v.<oadd.org.apache.commons.math.exception.DimensionMismatchException: void <init>(int,int)>(v, v);
throw v;
label:
v = lengthof v;
v = newarray (double)[v];
staticinvoke <java.util.Arrays: void fill(double[],double)>(v, 1.0);
v = virtualinvoke v.<oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator: double[] smooth(double[],double[],double[])>(v, v, v);
return v;
}
private static void updateBandwidthInterval(double[], double[], int, int[])
{
double[] v, v;
byte v;
int[] v;
int v, v, v, v, v, v, v;
double v, v, v, v, v, v;
v := @parameter: double[];
v := @parameter: double[];
v := @parameter: int;
v := @parameter: int[];
v = v[0];
v = v[1];
v = staticinvoke <oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator: int nextNonzero(double[],int)>(v, v);
v = lengthof v;
if v >= v goto label;
v = v[v];
v = v[v];
v = v - v;
v = v[v];
v = v[v];
v = v - v;
v = v cmpg v;
if v >= 0 goto label;
v = v[0];
v = staticinvoke <oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator: int nextNonzero(double[],int)>(v, v);
v[0] = v;
v[1] = v;
label:
return;
}
private static int nextNonzero(double[], int)
{
byte v;
double[] v;
int v, v, v;
double v;
v := @parameter: double[];
v := @parameter: int;
v = v + 1;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = v cmpl 0.0;
if v != 0 goto label;
v = v + 1;
goto label;
label:
return v;
}
private static double tricube(double)
{
byte v;
double v, v, v, v, v, v, v;
v := @parameter: double;
v = staticinvoke <oadd.org.apache.commons.math.util.FastMath: double abs(double)>(v);
v = v cmpl 1.0;
if v < 0 goto label;
return 0.0;
label:
v = v * v;
v = v * v;
v = 1.0 - v;
v = v * v;
v = v * v;
return v;
}
private static void checkAllFiniteReal(double[])
{
double[] v;
int v, v;
double v;
v := @parameter: double[];
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
staticinvoke <oadd.org.apache.commons.math.util.MathUtils: void checkFinite(double)>(v);
v = v + 1;
goto label;
label:
return;
}
}