public class org.apache.commons.math.ode.ExpandableStatefulODE extends java.lang.Object
{
private final org.apache.commons.math.ode.FirstOrderDifferentialEquations primary;
private final org.apache.commons.math.ode.EquationsMapper primaryMapper;
private double time;
private final double[] primaryState;
private final double[] primaryStateDot;
private java.util.List components;
public void <init>(org.apache.commons.math.ode.FirstOrderDifferentialEquations)
{
org.apache.commons.math.ode.EquationsMapper v;
double[] v, v;
int v;
org.apache.commons.math.ode.FirstOrderDifferentialEquations v;
org.apache.commons.math.ode.ExpandableStatefulODE v;
java.util.ArrayList v;
v := @this: org.apache.commons.math.ode.ExpandableStatefulODE;
v := @parameter: org.apache.commons.math.ode.FirstOrderDifferentialEquations;
specialinvoke v.<java.lang.Object: void <init>()>();
v = interfaceinvoke v.<org.apache.commons.math.ode.FirstOrderDifferentialEquations: int getDimension()>();
v.<org.apache.commons.math.ode.ExpandableStatefulODE: org.apache.commons.math.ode.FirstOrderDifferentialEquations primary> = v;
v = new org.apache.commons.math.ode.EquationsMapper;
specialinvoke v.<org.apache.commons.math.ode.EquationsMapper: void <init>(int,int)>(0, v);
v.<org.apache.commons.math.ode.ExpandableStatefulODE: org.apache.commons.math.ode.EquationsMapper primaryMapper> = v;
v.<org.apache.commons.math.ode.ExpandableStatefulODE: double time> = #NaN;
v = newarray (double)[v];
v.<org.apache.commons.math.ode.ExpandableStatefulODE: double[] primaryState> = v;
v = newarray (double)[v];
v.<org.apache.commons.math.ode.ExpandableStatefulODE: double[] primaryStateDot> = v;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<org.apache.commons.math.ode.ExpandableStatefulODE: java.util.List components> = v;
return;
}
public org.apache.commons.math.ode.FirstOrderDifferentialEquations getPrimary()
{
org.apache.commons.math.ode.FirstOrderDifferentialEquations v;
org.apache.commons.math.ode.ExpandableStatefulODE v;
v := @this: org.apache.commons.math.ode.ExpandableStatefulODE;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: org.apache.commons.math.ode.FirstOrderDifferentialEquations primary>;
return v;
}
public int getTotalDimension()
{
org.apache.commons.math.ode.EquationsMapper v, v;
org.apache.commons.math.ode.ExpandableStatefulODE v;
java.util.List v, v, v;
int v, v, v, v, v, v;
java.lang.Object v;
boolean v;
v := @this: org.apache.commons.math.ode.ExpandableStatefulODE;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: java.util.List components>;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: org.apache.commons.math.ode.EquationsMapper primaryMapper>;
v = virtualinvoke v.<org.apache.commons.math.ode.EquationsMapper: int getDimension()>();
return v;
label:
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: java.util.List components>;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: java.util.List components>;
v = interfaceinvoke v.<java.util.List: int size()>();
v = v - 1;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE$SecondaryComponent: org.apache.commons.math.ode.EquationsMapper mapper>;
v = virtualinvoke v.<org.apache.commons.math.ode.EquationsMapper: int getFirstIndex()>();
v = virtualinvoke v.<org.apache.commons.math.ode.EquationsMapper: int getDimension()>();
v = v + v;
return v;
}
public void computeDerivatives(double, double[], double[]) throws org.apache.commons.math.exception.MaxCountExceededException, org.apache.commons.math.exception.DimensionMismatchException
{
org.apache.commons.math.ode.EquationsMapper v, v, v, v;
double[] v, v, v, v, v, v, v, v, v, v, v, v;
org.apache.commons.math.ode.ExpandableStatefulODE v;
org.apache.commons.math.ode.SecondaryEquations v;
org.apache.commons.math.ode.FirstOrderDifferentialEquations v;
boolean v;
double v;
java.util.Iterator v;
java.util.List v;
java.lang.Object v;
v := @this: org.apache.commons.math.ode.ExpandableStatefulODE;
v := @parameter: double;
v := @parameter: double[];
v := @parameter: double[];
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: org.apache.commons.math.ode.EquationsMapper primaryMapper>;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: double[] primaryState>;
virtualinvoke v.<org.apache.commons.math.ode.EquationsMapper: void extractEquationData(double[],double[])>(v, v);
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: org.apache.commons.math.ode.FirstOrderDifferentialEquations primary>;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: double[] primaryState>;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: double[] primaryStateDot>;
interfaceinvoke v.<org.apache.commons.math.ode.FirstOrderDifferentialEquations: void computeDerivatives(double,double[],double[])>(v, v, v);
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: java.util.List components>;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE$SecondaryComponent: org.apache.commons.math.ode.EquationsMapper mapper>;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE$SecondaryComponent: double[] state>;
virtualinvoke v.<org.apache.commons.math.ode.EquationsMapper: void extractEquationData(double[],double[])>(v, v);
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE$SecondaryComponent: org.apache.commons.math.ode.SecondaryEquations equation>;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: double[] primaryState>;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: double[] primaryStateDot>;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE$SecondaryComponent: double[] state>;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE$SecondaryComponent: double[] stateDot>;
interfaceinvoke v.<org.apache.commons.math.ode.SecondaryEquations: void computeDerivatives(double,double[],double[],double[],double[])>(v, v, v, v, v);
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE$SecondaryComponent: org.apache.commons.math.ode.EquationsMapper mapper>;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE$SecondaryComponent: double[] stateDot>;
virtualinvoke v.<org.apache.commons.math.ode.EquationsMapper: void insertEquationData(double[],double[])>(v, v);
goto label;
label:
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: org.apache.commons.math.ode.EquationsMapper primaryMapper>;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: double[] primaryStateDot>;
virtualinvoke v.<org.apache.commons.math.ode.EquationsMapper: void insertEquationData(double[],double[])>(v, v);
return;
}
public int addSecondaryEquations(org.apache.commons.math.ode.SecondaryEquations)
{
org.apache.commons.math.ode.EquationsMapper v, v;
org.apache.commons.math.ode.ExpandableStatefulODE v;
java.util.ArrayList v;
org.apache.commons.math.ode.SecondaryEquations v;
int v, v, v, v, v, v, v;
org.apache.commons.math.ode.FirstOrderDifferentialEquations v;
boolean v;
java.util.List v, v, v, v, v;
org.apache.commons.math.ode.ExpandableStatefulODE$SecondaryComponent v;
java.lang.Object v;
v := @this: org.apache.commons.math.ode.ExpandableStatefulODE;
v := @parameter: org.apache.commons.math.ode.SecondaryEquations;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: java.util.List components>;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<org.apache.commons.math.ode.ExpandableStatefulODE: java.util.List components> = v;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: org.apache.commons.math.ode.FirstOrderDifferentialEquations primary>;
v = interfaceinvoke v.<org.apache.commons.math.ode.FirstOrderDifferentialEquations: int getDimension()>();
goto label;
label:
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: java.util.List components>;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: java.util.List components>;
v = interfaceinvoke v.<java.util.List: int size()>();
v = v - 1;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE$SecondaryComponent: org.apache.commons.math.ode.EquationsMapper mapper>;
v = virtualinvoke v.<org.apache.commons.math.ode.EquationsMapper: int getFirstIndex()>();
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE$SecondaryComponent: org.apache.commons.math.ode.EquationsMapper mapper>;
v = virtualinvoke v.<org.apache.commons.math.ode.EquationsMapper: int getDimension()>();
v = v + v;
label:
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: java.util.List components>;
v = new org.apache.commons.math.ode.ExpandableStatefulODE$SecondaryComponent;
specialinvoke v.<org.apache.commons.math.ode.ExpandableStatefulODE$SecondaryComponent: void <init>(org.apache.commons.math.ode.SecondaryEquations,int)>(v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: java.util.List components>;
v = interfaceinvoke v.<java.util.List: int size()>();
v = v - 1;
return v;
}
public org.apache.commons.math.ode.EquationsMapper getPrimaryMapper()
{
org.apache.commons.math.ode.ExpandableStatefulODE v;
org.apache.commons.math.ode.EquationsMapper v;
v := @this: org.apache.commons.math.ode.ExpandableStatefulODE;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: org.apache.commons.math.ode.EquationsMapper primaryMapper>;
return v;
}
public org.apache.commons.math.ode.EquationsMapper[] getSecondaryMappers()
{
org.apache.commons.math.ode.EquationsMapper v;
org.apache.commons.math.ode.ExpandableStatefulODE v;
org.apache.commons.math.ode.EquationsMapper[] v;
java.util.List v, v;
int v, v, v;
java.lang.Object v;
v := @this: org.apache.commons.math.ode.ExpandableStatefulODE;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: java.util.List components>;
v = interfaceinvoke v.<java.util.List: int size()>();
v = newarray (org.apache.commons.math.ode.EquationsMapper)[v];
v = 0;
label:
v = lengthof v;
if v >= v goto label;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: java.util.List components>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE$SecondaryComponent: org.apache.commons.math.ode.EquationsMapper mapper>;
v[v] = v;
v = v + 1;
goto label;
label:
return v;
}
public void setTime(double)
{
org.apache.commons.math.ode.ExpandableStatefulODE v;
double v;
v := @this: org.apache.commons.math.ode.ExpandableStatefulODE;
v := @parameter: double;
v.<org.apache.commons.math.ode.ExpandableStatefulODE: double time> = v;
return;
}
public double getTime()
{
org.apache.commons.math.ode.ExpandableStatefulODE v;
double v;
v := @this: org.apache.commons.math.ode.ExpandableStatefulODE;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: double time>;
return v;
}
public void setPrimaryState(double[]) throws org.apache.commons.math.exception.DimensionMismatchException
{
double[] v, v, v, v;
org.apache.commons.math.exception.DimensionMismatchException v;
org.apache.commons.math.ode.ExpandableStatefulODE v;
int v, v, v, v, v;
v := @this: org.apache.commons.math.ode.ExpandableStatefulODE;
v := @parameter: double[];
v = lengthof v;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: double[] primaryState>;
v = lengthof v;
if v == v goto label;
v = new org.apache.commons.math.exception.DimensionMismatchException;
v = lengthof v;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: double[] primaryState>;
v = lengthof v;
specialinvoke v.<org.apache.commons.math.exception.DimensionMismatchException: void <init>(int,int)>(v, v);
throw v;
label:
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: double[] primaryState>;
v = lengthof v;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, 0, v, 0, v);
return;
}
public double[] getPrimaryState()
{
double[] v;
java.lang.Object v;
org.apache.commons.math.ode.ExpandableStatefulODE v;
v := @this: org.apache.commons.math.ode.ExpandableStatefulODE;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: double[] primaryState>;
v = virtualinvoke v.<java.lang.Object: java.lang.Object clone()>();
return v;
}
public double[] getPrimaryStateDot()
{
double[] v;
java.lang.Object v;
org.apache.commons.math.ode.ExpandableStatefulODE v;
v := @this: org.apache.commons.math.ode.ExpandableStatefulODE;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: double[] primaryStateDot>;
v = virtualinvoke v.<java.lang.Object: java.lang.Object clone()>();
return v;
}
public void setSecondaryState(int, double[]) throws org.apache.commons.math.exception.DimensionMismatchException
{
double[] v, v;
org.apache.commons.math.exception.DimensionMismatchException v;
org.apache.commons.math.ode.ExpandableStatefulODE v;
java.util.List v;
int v, v, v, v, v, v;
java.lang.Object v;
v := @this: org.apache.commons.math.ode.ExpandableStatefulODE;
v := @parameter: int;
v := @parameter: double[];
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: java.util.List components>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE$SecondaryComponent: double[] state>;
v = lengthof v;
v = lengthof v;
if v == v goto label;
v = new org.apache.commons.math.exception.DimensionMismatchException;
v = lengthof v;
v = lengthof v;
specialinvoke v.<org.apache.commons.math.exception.DimensionMismatchException: void <init>(int,int)>(v, v);
throw v;
label:
v = lengthof v;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, 0, v, 0, v);
return;
}
public double[] getSecondaryState(int)
{
java.util.List v;
double[] v;
int v;
java.lang.Object v, v;
org.apache.commons.math.ode.ExpandableStatefulODE v;
v := @this: org.apache.commons.math.ode.ExpandableStatefulODE;
v := @parameter: int;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: java.util.List components>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE$SecondaryComponent: double[] state>;
v = virtualinvoke v.<java.lang.Object: java.lang.Object clone()>();
return v;
}
public double[] getSecondaryStateDot(int)
{
java.util.List v;
double[] v;
int v;
java.lang.Object v, v;
org.apache.commons.math.ode.ExpandableStatefulODE v;
v := @this: org.apache.commons.math.ode.ExpandableStatefulODE;
v := @parameter: int;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: java.util.List components>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE$SecondaryComponent: double[] stateDot>;
v = virtualinvoke v.<java.lang.Object: java.lang.Object clone()>();
return v;
}
public void setCompleteState(double[]) throws org.apache.commons.math.exception.DimensionMismatchException
{
java.util.Iterator v;
org.apache.commons.math.ode.EquationsMapper v, v;
double[] v, v, v;
org.apache.commons.math.exception.DimensionMismatchException v;
org.apache.commons.math.ode.ExpandableStatefulODE v;
java.util.List v;
int v, v, v, v;
java.lang.Object v;
boolean v;
v := @this: org.apache.commons.math.ode.ExpandableStatefulODE;
v := @parameter: double[];
v = lengthof v;
v = virtualinvoke v.<org.apache.commons.math.ode.ExpandableStatefulODE: int getTotalDimension()>();
if v == v goto label;
v = new org.apache.commons.math.exception.DimensionMismatchException;
v = lengthof v;
v = virtualinvoke v.<org.apache.commons.math.ode.ExpandableStatefulODE: int getTotalDimension()>();
specialinvoke v.<org.apache.commons.math.exception.DimensionMismatchException: void <init>(int,int)>(v, v);
throw v;
label:
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: org.apache.commons.math.ode.EquationsMapper primaryMapper>;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: double[] primaryState>;
virtualinvoke v.<org.apache.commons.math.ode.EquationsMapper: void extractEquationData(double[],double[])>(v, v);
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: java.util.List components>;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE$SecondaryComponent: org.apache.commons.math.ode.EquationsMapper mapper>;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE$SecondaryComponent: double[] state>;
virtualinvoke v.<org.apache.commons.math.ode.EquationsMapper: void extractEquationData(double[],double[])>(v, v);
goto label;
label:
return;
}
public double[] getCompleteState() throws org.apache.commons.math.exception.DimensionMismatchException
{
java.util.Iterator v;
org.apache.commons.math.ode.EquationsMapper v, v;
double[] v, v, v;
org.apache.commons.math.ode.ExpandableStatefulODE v;
java.util.List v;
int v;
java.lang.Object v;
boolean v;
v := @this: org.apache.commons.math.ode.ExpandableStatefulODE;
v = virtualinvoke v.<org.apache.commons.math.ode.ExpandableStatefulODE: int getTotalDimension()>();
v = newarray (double)[v];
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: org.apache.commons.math.ode.EquationsMapper primaryMapper>;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: double[] primaryState>;
virtualinvoke v.<org.apache.commons.math.ode.EquationsMapper: void insertEquationData(double[],double[])>(v, v);
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE: java.util.List components>;
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE$SecondaryComponent: org.apache.commons.math.ode.EquationsMapper mapper>;
v = v.<org.apache.commons.math.ode.ExpandableStatefulODE$SecondaryComponent: double[] state>;
virtualinvoke v.<org.apache.commons.math.ode.EquationsMapper: void insertEquationData(double[],double[])>(v, v);
goto label;
label:
return v;
}
}