public class oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator extends java.lang.Object implements oadd.org.apache.commons.math.analysis.interpolation.UnivariateRealInterpolator, 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) throws oadd.org.apache.commons.math.MathException
{
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.MathException
{
java.lang.Object[] v, v;
oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator v;
java.lang.Double v;
java.lang.Integer v;
oadd.org.apache.commons.math.MathException v, v;
byte v, v;
int 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.MathException;
v = <oadd.org.apache.commons.math.exception.util.LocalizedFormats: oadd.org.apache.commons.math.exception.util.LocalizedFormats BANDWIDTH_OUT_OF_INTERVAL>;
v = newarray (java.lang.Object)[1];
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
v[0] = v;
specialinvoke v.<oadd.org.apache.commons.math.MathException: void <init>(oadd.org.apache.commons.math.exception.util.Localizable,java.lang.Object[])>(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.MathException;
v = <oadd.org.apache.commons.math.exception.util.LocalizedFormats: oadd.org.apache.commons.math.exception.util.LocalizedFormats NEGATIVE_ROBUSTNESS_ITERATIONS>;
v = newarray (java.lang.Object)[1];
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
specialinvoke v.<oadd.org.apache.commons.math.MathException: void <init>(oadd.org.apache.commons.math.exception.util.Localizable,java.lang.Object[])>(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.MathException
{
oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator v;
double[] v, v, v;
oadd.org.apache.commons.math.analysis.interpolation.SplineInterpolator v;
oadd.org.apache.commons.math.analysis.polynomials.PolynomialSplineFunction 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.MathException
{
java.lang.Integer v, v, v;
byte v, v, v, v;
java.lang.Object[] v, v, v;
java.lang.Double v, v;
double[] v, v, v, v, v, v, v, v, v;
oadd.org.apache.commons.math.exception.util.LocalizedFormats v, v, v, v, v, v;
oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator v;
oadd.org.apache.commons.math.MathException v, v, v;
int[] 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, 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.MathException;
v = <oadd.org.apache.commons.math.exception.util.LocalizedFormats: oadd.org.apache.commons.math.exception.util.LocalizedFormats MISMATCHED_LOESS_ABSCISSA_ORDINATE_ARRAYS>;
v = newarray (java.lang.Object)[2];
v = lengthof v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = lengthof v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
specialinvoke v.<oadd.org.apache.commons.math.MathException: void <init>(oadd.org.apache.commons.math.exception.util.Localizable,java.lang.Object[])>(v, v);
throw v;
label:
v = lengthof v;
if v != 0 goto label;
v = new oadd.org.apache.commons.math.MathException;
v = <oadd.org.apache.commons.math.exception.util.LocalizedFormats: oadd.org.apache.commons.math.exception.util.LocalizedFormats LOESS_EXPECTS_AT_LEAST_ONE_POINT>;
v = newarray (java.lang.Object)[0];
specialinvoke v.<oadd.org.apache.commons.math.MathException: void <init>(oadd.org.apache.commons.math.exception.util.Localizable,java.lang.Object[])>(v, v);
throw v;
label:
v = <oadd.org.apache.commons.math.exception.util.LocalizedFormats: oadd.org.apache.commons.math.exception.util.LocalizedFormats NON_REAL_FINITE_ABSCISSA>;
staticinvoke <oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator: void checkAllFiniteReal(double[],oadd.org.apache.commons.math.exception.util.Localizable)>(v, v);
v = <oadd.org.apache.commons.math.exception.util.LocalizedFormats: oadd.org.apache.commons.math.exception.util.LocalizedFormats NON_REAL_FINITE_ORDINATE>;
staticinvoke <oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator: void checkAllFiniteReal(double[],oadd.org.apache.commons.math.exception.util.Localizable)>(v, v);
v = <oadd.org.apache.commons.math.exception.util.LocalizedFormats: oadd.org.apache.commons.math.exception.util.LocalizedFormats NON_REAL_FINITE_WEIGHT>;
staticinvoke <oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator: void checkAllFiniteReal(double[],oadd.org.apache.commons.math.exception.util.Localizable)>(v, v);
staticinvoke <oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator: void checkStrictlyIncreasing(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.MathException;
v = <oadd.org.apache.commons.math.exception.util.LocalizedFormats: oadd.org.apache.commons.math.exception.util.LocalizedFormats TOO_SMALL_BANDWIDTH>;
v = newarray (java.lang.Object)[3];
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = 2.0 / v;
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
v[1] = v;
v = v.<oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator: double bandwidth>;
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
v[2] = v;
specialinvoke v.<oadd.org.apache.commons.math.MathException: void <init>(oadd.org.apache.commons.math.exception.util.Localizable,java.lang.Object[])>(v, v);
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.MathException
{
java.lang.Object[] v;
oadd.org.apache.commons.math.analysis.interpolation.LoessInterpolator v;
double[] v, v, v, v;
java.lang.Integer v, v;
oadd.org.apache.commons.math.MathException v;
int v, v, v, v, v;
oadd.org.apache.commons.math.exception.util.LocalizedFormats 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.MathException;
v = <oadd.org.apache.commons.math.exception.util.LocalizedFormats: oadd.org.apache.commons.math.exception.util.LocalizedFormats MISMATCHED_LOESS_ABSCISSA_ORDINATE_ARRAYS>;
v = newarray (java.lang.Object)[2];
v = lengthof v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = lengthof v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
specialinvoke v.<oadd.org.apache.commons.math.MathException: void <init>(oadd.org.apache.commons.math.exception.util.Localizable,java.lang.Object[])>(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)
{
double v, v, v, v, v, v;
v := @parameter: double;
v = v * v;
v = v * v;
v = 1.0 - v;
v = v * v;
v = v * v;
return v;
}
private static void checkAllFiniteReal(double[], oadd.org.apache.commons.math.exception.util.Localizable) throws oadd.org.apache.commons.math.MathException
{
java.lang.Object[] v;
java.lang.Double v;
double[] v;
java.lang.Integer v;
oadd.org.apache.commons.math.MathException v;
int v, v;
oadd.org.apache.commons.math.exception.util.Localizable v;
boolean v, v;
double v;
v := @parameter: double[];
v := @parameter: oadd.org.apache.commons.math.exception.util.Localizable;
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v[v];
v = staticinvoke <java.lang.Double: boolean isInfinite(double)>(v);
if v != 0 goto label;
v = staticinvoke <java.lang.Double: boolean isNaN(double)>(v);
if v == 0 goto label;
label:
v = new oadd.org.apache.commons.math.MathException;
v = newarray (java.lang.Object)[2];
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
v[1] = v;
specialinvoke v.<oadd.org.apache.commons.math.MathException: void <init>(oadd.org.apache.commons.math.exception.util.Localizable,java.lang.Object[])>(v, v);
throw v;
label:
v = v + 1;
goto label;
label:
return;
}
private static void checkStrictlyIncreasing(double[]) throws oadd.org.apache.commons.math.MathException
{
java.lang.Object[] v;
java.lang.Double v, v;
double[] v;
java.lang.Integer v, v;
oadd.org.apache.commons.math.MathException v;
byte v;
int v, v, v, v, v;
oadd.org.apache.commons.math.exception.util.LocalizedFormats v;
double v, v, v, v;
v := @parameter: double[];
v = 0;
label:
v = lengthof v;
if v >= v goto label;
if v < 1 goto label;
v = v - 1;
v = v[v];
v = v[v];
v = v cmpl v;
if v < 0 goto label;
v = new oadd.org.apache.commons.math.MathException;
v = <oadd.org.apache.commons.math.exception.util.LocalizedFormats: oadd.org.apache.commons.math.exception.util.LocalizedFormats OUT_OF_ORDER_ABSCISSA_ARRAY>;
v = newarray (java.lang.Object)[4];
v = v - 1;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = v - 1;
v = v[v];
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
v[1] = v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[2] = v;
v = v[v];
v = staticinvoke <java.lang.Double: java.lang.Double valueOf(double)>(v);
v[3] = v;
specialinvoke v.<oadd.org.apache.commons.math.MathException: void <init>(oadd.org.apache.commons.math.exception.util.Localizable,java.lang.Object[])>(v, v);
throw v;
label:
v = v + 1;
goto label;
label:
return;
}
}