public class org.apache.commons.math.ode.sampling.StepNormalizer extends java.lang.Object implements org.apache.commons.math.ode.sampling.StepHandler
{
private double h;
private final org.apache.commons.math.ode.sampling.FixedStepHandler handler;
private double firstTime;
private double lastTime;
private double[] lastState;
private double[] lastDerivatives;
private boolean forward;
private final org.apache.commons.math.ode.sampling.StepNormalizerBounds bounds;
private final org.apache.commons.math.ode.sampling.StepNormalizerMode mode;
public void <init>(double, org.apache.commons.math.ode.sampling.FixedStepHandler)
{
org.apache.commons.math.ode.sampling.FixedStepHandler v;
org.apache.commons.math.ode.sampling.StepNormalizer v;
org.apache.commons.math.ode.sampling.StepNormalizerMode v;
org.apache.commons.math.ode.sampling.StepNormalizerBounds v;
double v;
v := @this: org.apache.commons.math.ode.sampling.StepNormalizer;
v := @parameter: double;
v := @parameter: org.apache.commons.math.ode.sampling.FixedStepHandler;
v = <org.apache.commons.math.ode.sampling.StepNormalizerMode: org.apache.commons.math.ode.sampling.StepNormalizerMode INCREMENT>;
v = <org.apache.commons.math.ode.sampling.StepNormalizerBounds: org.apache.commons.math.ode.sampling.StepNormalizerBounds FIRST>;
specialinvoke v.<org.apache.commons.math.ode.sampling.StepNormalizer: void <init>(double,org.apache.commons.math.ode.sampling.FixedStepHandler,org.apache.commons.math.ode.sampling.StepNormalizerMode,org.apache.commons.math.ode.sampling.StepNormalizerBounds)>(v, v, v, v);
return;
}
public void <init>(double, org.apache.commons.math.ode.sampling.FixedStepHandler, org.apache.commons.math.ode.sampling.StepNormalizerMode)
{
org.apache.commons.math.ode.sampling.FixedStepHandler v;
org.apache.commons.math.ode.sampling.StepNormalizer v;
org.apache.commons.math.ode.sampling.StepNormalizerMode v;
org.apache.commons.math.ode.sampling.StepNormalizerBounds v;
double v;
v := @this: org.apache.commons.math.ode.sampling.StepNormalizer;
v := @parameter: double;
v := @parameter: org.apache.commons.math.ode.sampling.FixedStepHandler;
v := @parameter: org.apache.commons.math.ode.sampling.StepNormalizerMode;
v = <org.apache.commons.math.ode.sampling.StepNormalizerBounds: org.apache.commons.math.ode.sampling.StepNormalizerBounds FIRST>;
specialinvoke v.<org.apache.commons.math.ode.sampling.StepNormalizer: void <init>(double,org.apache.commons.math.ode.sampling.FixedStepHandler,org.apache.commons.math.ode.sampling.StepNormalizerMode,org.apache.commons.math.ode.sampling.StepNormalizerBounds)>(v, v, v, v);
return;
}
public void <init>(double, org.apache.commons.math.ode.sampling.FixedStepHandler, org.apache.commons.math.ode.sampling.StepNormalizerBounds)
{
org.apache.commons.math.ode.sampling.FixedStepHandler v;
org.apache.commons.math.ode.sampling.StepNormalizer v;
org.apache.commons.math.ode.sampling.StepNormalizerMode v;
org.apache.commons.math.ode.sampling.StepNormalizerBounds v;
double v;
v := @this: org.apache.commons.math.ode.sampling.StepNormalizer;
v := @parameter: double;
v := @parameter: org.apache.commons.math.ode.sampling.FixedStepHandler;
v := @parameter: org.apache.commons.math.ode.sampling.StepNormalizerBounds;
v = <org.apache.commons.math.ode.sampling.StepNormalizerMode: org.apache.commons.math.ode.sampling.StepNormalizerMode INCREMENT>;
specialinvoke v.<org.apache.commons.math.ode.sampling.StepNormalizer: void <init>(double,org.apache.commons.math.ode.sampling.FixedStepHandler,org.apache.commons.math.ode.sampling.StepNormalizerMode,org.apache.commons.math.ode.sampling.StepNormalizerBounds)>(v, v, v, v);
return;
}
public void <init>(double, org.apache.commons.math.ode.sampling.FixedStepHandler, org.apache.commons.math.ode.sampling.StepNormalizerMode, org.apache.commons.math.ode.sampling.StepNormalizerBounds)
{
org.apache.commons.math.ode.sampling.FixedStepHandler v;
org.apache.commons.math.ode.sampling.StepNormalizer v;
org.apache.commons.math.ode.sampling.StepNormalizerMode v;
org.apache.commons.math.ode.sampling.StepNormalizerBounds v;
double v, v;
v := @this: org.apache.commons.math.ode.sampling.StepNormalizer;
v := @parameter: double;
v := @parameter: org.apache.commons.math.ode.sampling.FixedStepHandler;
v := @parameter: org.apache.commons.math.ode.sampling.StepNormalizerMode;
v := @parameter: org.apache.commons.math.ode.sampling.StepNormalizerBounds;
specialinvoke v.<java.lang.Object: void <init>()>();
v = staticinvoke <org.apache.commons.math.util.FastMath: double abs(double)>(v);
v.<org.apache.commons.math.ode.sampling.StepNormalizer: double h> = v;
v.<org.apache.commons.math.ode.sampling.StepNormalizer: org.apache.commons.math.ode.sampling.FixedStepHandler handler> = v;
v.<org.apache.commons.math.ode.sampling.StepNormalizer: org.apache.commons.math.ode.sampling.StepNormalizerMode mode> = v;
v.<org.apache.commons.math.ode.sampling.StepNormalizer: org.apache.commons.math.ode.sampling.StepNormalizerBounds bounds> = v;
v.<org.apache.commons.math.ode.sampling.StepNormalizer: double firstTime> = #NaN;
v.<org.apache.commons.math.ode.sampling.StepNormalizer: double lastTime> = #NaN;
v.<org.apache.commons.math.ode.sampling.StepNormalizer: double[] lastState> = null;
v.<org.apache.commons.math.ode.sampling.StepNormalizer: double[] lastDerivatives> = null;
v.<org.apache.commons.math.ode.sampling.StepNormalizer: boolean forward> = 1;
return;
}
public void init(double, double[], double)
{
org.apache.commons.math.ode.sampling.FixedStepHandler v;
org.apache.commons.math.ode.sampling.StepNormalizer v;
double[] v;
double v, v;
v := @this: org.apache.commons.math.ode.sampling.StepNormalizer;
v := @parameter: double;
v := @parameter: double[];
v := @parameter: double;
v.<org.apache.commons.math.ode.sampling.StepNormalizer: double firstTime> = #NaN;
v.<org.apache.commons.math.ode.sampling.StepNormalizer: double lastTime> = #NaN;
v.<org.apache.commons.math.ode.sampling.StepNormalizer: double[] lastState> = null;
v.<org.apache.commons.math.ode.sampling.StepNormalizer: double[] lastDerivatives> = null;
v.<org.apache.commons.math.ode.sampling.StepNormalizer: boolean forward> = 1;
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: org.apache.commons.math.ode.sampling.FixedStepHandler handler>;
interfaceinvoke v.<org.apache.commons.math.ode.sampling.FixedStepHandler: void init(double,double[],double)>(v, v, v);
return;
}
public void handleStep(org.apache.commons.math.ode.sampling.StepInterpolator, boolean) throws org.apache.commons.math.exception.MaxCountExceededException
{
byte v, v;
boolean v, v, v, v, v, v, v, v, v;
org.apache.commons.math.ode.sampling.StepNormalizerMode v, v, v, v;
org.apache.commons.math.ode.sampling.StepNormalizerBounds v;
org.apache.commons.math.ode.sampling.StepInterpolator v;
org.apache.commons.math.ode.sampling.StepNormalizer v;
double[] 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;
java.lang.Object v, v;
v := @this: org.apache.commons.math.ode.sampling.StepNormalizer;
v := @parameter: org.apache.commons.math.ode.sampling.StepInterpolator;
v := @parameter: boolean;
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: double[] lastState>;
if v != null goto label;
v = interfaceinvoke v.<org.apache.commons.math.ode.sampling.StepInterpolator: double getPreviousTime()>();
v.<org.apache.commons.math.ode.sampling.StepNormalizer: double firstTime> = v;
v = interfaceinvoke v.<org.apache.commons.math.ode.sampling.StepInterpolator: double getPreviousTime()>();
v.<org.apache.commons.math.ode.sampling.StepNormalizer: double lastTime> = v;
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: double lastTime>;
interfaceinvoke v.<org.apache.commons.math.ode.sampling.StepInterpolator: void setInterpolatedTime(double)>(v);
v = interfaceinvoke v.<org.apache.commons.math.ode.sampling.StepInterpolator: double[] getInterpolatedState()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Object clone()>();
v.<org.apache.commons.math.ode.sampling.StepNormalizer: double[] lastState> = v;
v = interfaceinvoke v.<org.apache.commons.math.ode.sampling.StepInterpolator: double[] getInterpolatedDerivatives()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Object clone()>();
v.<org.apache.commons.math.ode.sampling.StepNormalizer: double[] lastDerivatives> = v;
v = interfaceinvoke v.<org.apache.commons.math.ode.sampling.StepInterpolator: double getCurrentTime()>();
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: double lastTime>;
v = v cmpl v;
if v < 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v.<org.apache.commons.math.ode.sampling.StepNormalizer: boolean forward> = v;
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: boolean forward>;
if v != 0 goto label;
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: double h>;
v = neg v;
v.<org.apache.commons.math.ode.sampling.StepNormalizer: double h> = v;
label:
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: org.apache.commons.math.ode.sampling.StepNormalizerMode mode>;
v = <org.apache.commons.math.ode.sampling.StepNormalizerMode: org.apache.commons.math.ode.sampling.StepNormalizerMode INCREMENT>;
if v != v goto label;
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: double lastTime>;
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: double h>;
v = v + v;
goto label;
label:
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: double lastTime>;
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: double h>;
v = v / v;
v = staticinvoke <org.apache.commons.math.util.FastMath: double floor(double)>(v);
v = v + 1.0;
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: double h>;
v = v * v;
label:
v = v;
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: org.apache.commons.math.ode.sampling.StepNormalizerMode mode>;
v = <org.apache.commons.math.ode.sampling.StepNormalizerMode: org.apache.commons.math.ode.sampling.StepNormalizerMode MULTIPLES>;
if v != v goto label;
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: double lastTime>;
v = staticinvoke <org.apache.commons.math.util.Precision: boolean equals(double,double,int)>(v, v, 1);
if v == 0 goto label;
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: double h>;
v = v + v;
label:
v = specialinvoke v.<org.apache.commons.math.ode.sampling.StepNormalizer: boolean isNextInStep(double,org.apache.commons.math.ode.sampling.StepInterpolator)>(v, v);
label:
if v == 0 goto label;
specialinvoke v.<org.apache.commons.math.ode.sampling.StepNormalizer: void doNormalizedStep(boolean)>(0);
specialinvoke v.<org.apache.commons.math.ode.sampling.StepNormalizer: void storeStep(org.apache.commons.math.ode.sampling.StepInterpolator,double)>(v, v);
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: double h>;
v = v + v;
v = specialinvoke v.<org.apache.commons.math.ode.sampling.StepNormalizer: boolean isNextInStep(double,org.apache.commons.math.ode.sampling.StepInterpolator)>(v, v);
goto label;
label:
if v == 0 goto label;
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: org.apache.commons.math.ode.sampling.StepNormalizerBounds bounds>;
v = virtualinvoke v.<org.apache.commons.math.ode.sampling.StepNormalizerBounds: boolean lastIncluded()>();
if v == 0 goto label;
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: double lastTime>;
v = interfaceinvoke v.<org.apache.commons.math.ode.sampling.StepInterpolator: double getCurrentTime()>();
v = v cmpl v;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
specialinvoke v.<org.apache.commons.math.ode.sampling.StepNormalizer: void doNormalizedStep(boolean)>(v);
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.commons.math.ode.sampling.StepInterpolator: double getCurrentTime()>();
specialinvoke v.<org.apache.commons.math.ode.sampling.StepNormalizer: void storeStep(org.apache.commons.math.ode.sampling.StepInterpolator,double)>(v, v);
specialinvoke v.<org.apache.commons.math.ode.sampling.StepNormalizer: void doNormalizedStep(boolean)>(1);
label:
return;
}
private boolean isNextInStep(double, org.apache.commons.math.ode.sampling.StepInterpolator)
{
org.apache.commons.math.ode.sampling.StepNormalizer v;
byte v, v;
org.apache.commons.math.ode.sampling.StepInterpolator v;
boolean v, v;
double v, v, v;
v := @this: org.apache.commons.math.ode.sampling.StepNormalizer;
v := @parameter: double;
v := @parameter: org.apache.commons.math.ode.sampling.StepInterpolator;
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: boolean forward>;
if v == 0 goto label;
v = interfaceinvoke v.<org.apache.commons.math.ode.sampling.StepInterpolator: double getCurrentTime()>();
v = v cmpg v;
if v > 0 goto label;
v = 1;
goto label;
label:
v = 0;
goto label;
label:
v = interfaceinvoke v.<org.apache.commons.math.ode.sampling.StepInterpolator: double getCurrentTime()>();
v = v cmpl v;
if v < 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private void doNormalizedStep(boolean)
{
org.apache.commons.math.ode.sampling.StepNormalizer v;
double[] v, v;
org.apache.commons.math.ode.sampling.StepNormalizerBounds v;
org.apache.commons.math.ode.sampling.FixedStepHandler v;
byte v;
boolean v, v;
double v, v, v;
v := @this: org.apache.commons.math.ode.sampling.StepNormalizer;
v := @parameter: boolean;
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: org.apache.commons.math.ode.sampling.StepNormalizerBounds bounds>;
v = virtualinvoke v.<org.apache.commons.math.ode.sampling.StepNormalizerBounds: boolean firstIncluded()>();
if v != 0 goto label;
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: double firstTime>;
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: double lastTime>;
v = v cmpl v;
if v != 0 goto label;
return;
label:
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: org.apache.commons.math.ode.sampling.FixedStepHandler handler>;
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: double lastTime>;
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: double[] lastState>;
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: double[] lastDerivatives>;
interfaceinvoke v.<org.apache.commons.math.ode.sampling.FixedStepHandler: void handleStep(double,double[],double[],boolean)>(v, v, v, v);
return;
}
private void storeStep(org.apache.commons.math.ode.sampling.StepInterpolator, double) throws org.apache.commons.math.exception.MaxCountExceededException
{
org.apache.commons.math.ode.sampling.StepNormalizer v;
double[] v, v, v, v, v, v;
org.apache.commons.math.ode.sampling.StepInterpolator v;
int v, v;
double v, v;
v := @this: org.apache.commons.math.ode.sampling.StepNormalizer;
v := @parameter: org.apache.commons.math.ode.sampling.StepInterpolator;
v := @parameter: double;
v.<org.apache.commons.math.ode.sampling.StepNormalizer: double lastTime> = v;
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: double lastTime>;
interfaceinvoke v.<org.apache.commons.math.ode.sampling.StepInterpolator: void setInterpolatedTime(double)>(v);
v = interfaceinvoke v.<org.apache.commons.math.ode.sampling.StepInterpolator: double[] getInterpolatedState()>();
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: double[] lastState>;
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: double[] lastState>;
v = lengthof v;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, 0, v, 0, v);
v = interfaceinvoke v.<org.apache.commons.math.ode.sampling.StepInterpolator: double[] getInterpolatedDerivatives()>();
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: double[] lastDerivatives>;
v = v.<org.apache.commons.math.ode.sampling.StepNormalizer: double[] lastDerivatives>;
v = lengthof v;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, 0, v, 0, v);
return;
}
}