public class oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory extends oadd.org.apache.commons.math.analysis.integration.gauss.BaseRuleFactory
{
private final java.math.MathContext mContext;
private final java.math.BigDecimal two;
private final java.math.BigDecimal minusOne;
private final java.math.BigDecimal oneHalf;
public void <init>()
{
oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory v;
java.math.MathContext v;
v := @this: oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory;
v = <java.math.MathContext: java.math.MathContext DECIMAL128>;
specialinvoke v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: void <init>(java.math.MathContext)>(v);
return;
}
public void <init>(java.math.MathContext)
{
java.math.BigDecimal v, v, v;
java.math.MathContext v;
oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory v;
v := @this: oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory;
v := @parameter: java.math.MathContext;
specialinvoke v.<oadd.org.apache.commons.math.analysis.integration.gauss.BaseRuleFactory: void <init>()>();
v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext> = v;
v = new java.math.BigDecimal;
specialinvoke v.<java.math.BigDecimal: void <init>(java.lang.String,java.math.MathContext)>("2", v);
v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.BigDecimal two> = v;
v = new java.math.BigDecimal;
specialinvoke v.<java.math.BigDecimal: void <init>(java.lang.String,java.math.MathContext)>("-1", v);
v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.BigDecimal minusOne> = v;
v = new java.math.BigDecimal;
specialinvoke v.<java.math.BigDecimal: void <init>(java.lang.String,java.math.MathContext)>("0.5", v);
v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.BigDecimal oneHalf> = v;
return;
}
protected oadd.org.apache.commons.math.util.Pair computeRule(int)
{
java.lang.Integer v;
java.math.MathContext 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;
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, v, v, v, v, v, v;
java.lang.Object v;
java.math.BigDecimal[] v, v, v, v;
java.math.BigDecimal 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;
oadd.org.apache.commons.math.exception.NotStrictlyPositiveException v;
oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory v;
boolean v, v;
oadd.org.apache.commons.math.util.Pair v, v, v;
v := @this: oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory;
v := @parameter: int;
if v > 0 goto label;
v = new oadd.org.apache.commons.math.exception.NotStrictlyPositiveException;
v = <oadd.org.apache.commons.math.exception.util.LocalizedFormats: oadd.org.apache.commons.math.exception.util.LocalizedFormats NUMBER_OF_POINTS>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
specialinvoke v.<oadd.org.apache.commons.math.exception.NotStrictlyPositiveException: void <init>(oadd.org.apache.commons.math.exception.util.Localizable,java.lang.Number)>(v, v);
throw v;
label:
if v != 1 goto label;
v = new oadd.org.apache.commons.math.util.Pair;
v = newarray (java.math.BigDecimal)[1];
v = <java.math.BigDecimal: java.math.BigDecimal ZERO>;
v[0] = v;
v = newarray (java.math.BigDecimal)[1];
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.BigDecimal two>;
v[0] = v;
specialinvoke v.<oadd.org.apache.commons.math.util.Pair: void <init>(java.lang.Object,java.lang.Object)>(v, v);
return v;
label:
v = v - 1;
v = virtualinvoke v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: oadd.org.apache.commons.math.util.Pair getRuleInternal(int)>(v);
v = virtualinvoke v.<oadd.org.apache.commons.math.util.Pair: java.lang.Object getFirst()>();
v = newarray (java.math.BigDecimal)[v];
v = newarray (java.math.BigDecimal)[v];
v = v / 2;
v = 0;
label:
if v >= v goto label;
if v != 0 goto label;
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.BigDecimal minusOne>;
goto label;
label:
v = v - 1;
v = v[v];
label:
v = v;
if v != 1 goto label;
v = <java.math.BigDecimal: java.math.BigDecimal ONE>;
goto label;
label:
v = v[v];
label:
v = v;
v = <java.math.BigDecimal: java.math.BigDecimal ONE>;
v = v;
v = <java.math.BigDecimal: java.math.BigDecimal ONE>;
v = v;
v = 1;
label:
if v >= v goto label;
v = new java.math.BigDecimal;
v = 2 * v;
v = v + 1;
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
specialinvoke v.<java.math.BigDecimal: void <init>(int,java.math.MathContext)>(v, v);
v = new java.math.BigDecimal;
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
specialinvoke v.<java.math.BigDecimal: void <init>(int,java.math.MathContext)>(v, v);
v = new java.math.BigDecimal;
v = v + 1;
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
specialinvoke v.<java.math.BigDecimal: void <init>(int,java.math.MathContext)>(v, v);
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal multiply(java.math.BigDecimal,java.math.MathContext)>(v, v);
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal multiply(java.math.BigDecimal,java.math.MathContext)>(v, v);
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal multiply(java.math.BigDecimal,java.math.MathContext)>(v, v);
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal subtract(java.math.BigDecimal,java.math.MathContext)>(v, v);
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal divide(java.math.BigDecimal,java.math.MathContext)>(v, v);
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal multiply(java.math.BigDecimal,java.math.MathContext)>(v, v);
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal multiply(java.math.BigDecimal,java.math.MathContext)>(v, v);
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal multiply(java.math.BigDecimal,java.math.MathContext)>(v, v);
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal subtract(java.math.BigDecimal,java.math.MathContext)>(v, v);
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal divide(java.math.BigDecimal,java.math.MathContext)>(v, v);
v = v;
v = v;
v = v;
v = v;
v = v + 1;
goto label;
label:
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal add(java.math.BigDecimal,java.math.MathContext)>(v, v);
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.BigDecimal oneHalf>;
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal multiply(java.math.BigDecimal,java.math.MathContext)>(v, v);
v = <java.math.BigDecimal: java.math.BigDecimal ONE>;
v = v;
v = 0;
label:
if v != 0 goto label;
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal subtract(java.math.BigDecimal,java.math.MathContext)>(v, v);
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal ulp()>();
v = <java.math.BigDecimal: java.math.BigDecimal TEN>;
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal multiply(java.math.BigDecimal,java.math.MathContext)>(v, v);
v = virtualinvoke v.<java.math.BigDecimal: int compareTo(java.math.BigDecimal)>(v);
if v > 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = <java.math.BigDecimal: java.math.BigDecimal ONE>;
v = v;
v = 1;
label:
if v >= v goto label;
v = new java.math.BigDecimal;
v = 2 * v;
v = v + 1;
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
specialinvoke v.<java.math.BigDecimal: void <init>(int,java.math.MathContext)>(v, v);
v = new java.math.BigDecimal;
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
specialinvoke v.<java.math.BigDecimal: void <init>(int,java.math.MathContext)>(v, v);
v = new java.math.BigDecimal;
v = v + 1;
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
specialinvoke v.<java.math.BigDecimal: void <init>(int,java.math.MathContext)>(v, v);
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal multiply(java.math.BigDecimal,java.math.MathContext)>(v, v);
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal multiply(java.math.BigDecimal,java.math.MathContext)>(v, v);
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal multiply(java.math.BigDecimal,java.math.MathContext)>(v, v);
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal subtract(java.math.BigDecimal,java.math.MathContext)>(v, v);
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal divide(java.math.BigDecimal,java.math.MathContext)>(v, v);
v = v;
v = v;
v = v + 1;
goto label;
label:
if v != 0 goto label;
v = virtualinvoke v.<java.math.BigDecimal: int signum()>();
v = virtualinvoke v.<java.math.BigDecimal: int signum()>();
v = v * v;
if v > 0 goto label;
v = v;
goto label;
label:
v = v;
v = v;
label:
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal add(java.math.BigDecimal,java.math.MathContext)>(v, v);
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.BigDecimal oneHalf>;
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal multiply(java.math.BigDecimal,java.math.MathContext)>(v, v);
goto label;
label:
v = new java.math.BigDecimal;
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
specialinvoke v.<java.math.BigDecimal: void <init>(int,java.math.MathContext)>(v, v);
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal multiply(java.math.BigDecimal,java.math.MathContext)>(v, v);
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal subtract(java.math.BigDecimal,java.math.MathContext)>(v, v);
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal multiply(java.math.BigDecimal)>(v);
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal pow(int,java.math.MathContext)>(2, v);
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal pow(int,java.math.MathContext)>(2, v);
v = <java.math.BigDecimal: java.math.BigDecimal ONE>;
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal subtract(java.math.BigDecimal,java.math.MathContext)>(v, v);
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.BigDecimal two>;
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal multiply(java.math.BigDecimal,java.math.MathContext)>(v, v);
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal divide(java.math.BigDecimal,java.math.MathContext)>(v, v);
v[v] = v;
v[v] = v;
v = v - v;
v = v - 1;
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal negate(java.math.MathContext)>(v);
v[v] = v;
v[v] = v;
v = v + 1;
goto label;
label:
v = v % 2;
if v == 0 goto label;
v = <java.math.BigDecimal: java.math.BigDecimal ONE>;
v = 1;
label:
if v >= v goto label;
v = new java.math.BigDecimal;
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
specialinvoke v.<java.math.BigDecimal: void <init>(int,java.math.MathContext)>(v, v);
v = new java.math.BigDecimal;
v = v + 1;
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
specialinvoke v.<java.math.BigDecimal: void <init>(int,java.math.MathContext)>(v, v);
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal multiply(java.math.BigDecimal,java.math.MathContext)>(v, v);
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal divide(java.math.BigDecimal,java.math.MathContext)>(v, v);
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal negate(java.math.MathContext)>(v);
v = v + 2;
goto label;
label:
v = new java.math.BigDecimal;
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
specialinvoke v.<java.math.BigDecimal: void <init>(int,java.math.MathContext)>(v, v);
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal multiply(java.math.BigDecimal,java.math.MathContext)>(v, v);
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal pow(int,java.math.MathContext)>(2, v);
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.BigDecimal two>;
v = v.<oadd.org.apache.commons.math.analysis.integration.gauss.LegendreHighPrecisionRuleFactory: java.math.MathContext mContext>;
v = virtualinvoke v.<java.math.BigDecimal: java.math.BigDecimal divide(java.math.BigDecimal,java.math.MathContext)>(v, v);
v = <java.math.BigDecimal: java.math.BigDecimal ZERO>;
v[v] = v;
v[v] = v;
label:
v = new oadd.org.apache.commons.math.util.Pair;
specialinvoke v.<oadd.org.apache.commons.math.util.Pair: void <init>(java.lang.Object,java.lang.Object)>(v, v);
return v;
}
}