Decompiled Code For FTEST( C641:D641, E641:H641 )
The expression
=FTEST( C641:D641, E641:H641 )
is compiled to the following class(es):
package org.formulacompiler.gen; import org.formulacompiler.runtime.Computation; import org.formulacompiler.runtime.internal.Environment; import org.formulacompiler.runtime.internal.RuntimeDouble_v2; import org.formulacompiler.runtime.internal.Runtime_v2; import org.formulacompiler.tests.reference.base.Inputs; import org.formulacompiler.tests.reference.base.Outputs; final class $Root extends Outputs implements Computation { private final Inputs $inputs; final Environment $environment; $Root(Inputs inputs, Environment environment) { $environment = environment; $inputs = inputs; } final double get$0() { double d; if (!(Math.abs((0.0 + get$1() * get$1() + get$2() * get$2() - (get$1() + get$2()) * (get$1() + get$2()) / 2.0) / 1.0) >= 1.0E-6) || Math.abs((0.0 + get$3() * get$3() + get$4() * get$4() + get$5() * get$5() + get$6() * get$6() - ((get$3() + get$4() + get$5() + get$6()) * (get$3() + get$4() + get$5() + get$6()) / 4.0)) / 3.0) < 1.0E-6) { Runtime_v2.fun_ERROR("#DIV/0! in FTEST"); d = (double) -1; } else if ((0.0 + get$1() * get$1() + get$2() * get$2() - (get$1() + get$2()) * (get$1() + get$2()) / 2.0) / 1.0 > ((0.0 + get$3() * get$3() + get$4() * get$4() + get$5() * get$5() + get$6() * get$6() - ((get$3() + get$4() + get$5() + get$6()) * (get$3() + get$4() + get$5() + get$6()) / 4.0)) / 3.0)) { double d_0_ = 2.0; double d_1_; if (((0.0 + get$1() * get$1() + get$2() * get$2() - (get$1() + get$2()) * (get$1() + get$2()) / 2.0) / 1.0 / ((0.0 + get$3() * get$3() + get$4() * get$4() + get$5() * get$5() + get$6() * get$6() - ((get$3() + get$4() + get$5() + get$6()) * (get$3() + get$4() + get$5() + get$6()) / 4.0)) / 3.0)) < 0.0) { Runtime_v2.fun_ERROR ("#NUM! because x < 0 or df1 < 0 or df2 < 0 in FDIST"); d_1_ = (double) -1; } else d_1_ = (RuntimeDouble_v2.fun_BETADIST (3.0 / (3.0 + 1.0 * ((0.0 + get$1() * get$1() + get$2() * get$2() - ((get$1() + get$2()) * (get$1() + get$2()) / 2.0)) / 1.0 / ((0.0 + get$3() * get$3() + get$4() * get$4() + get$5() * get$5() + get$6() * get$6() - ((get$3() + get$4() + get$5() + get$6()) * (get$3() + get$4() + get$5() + get$6()) / 4.0)) / 3.0))), 1.5, 0.5)); d = d_0_ * d_1_; } else { double d_2_ = 2.0; double d_3_; if (((0.0 + get$3() * get$3() + get$4() * get$4() + get$5() * get$5() + get$6() * get$6() - ((get$3() + get$4() + get$5() + get$6()) * (get$3() + get$4() + get$5() + get$6()) / 4.0)) / 3.0 / ((0.0 + get$1() * get$1() + get$2() * get$2() - (get$1() + get$2()) * (get$1() + get$2()) / 2.0) / 1.0)) < 0.0) { Runtime_v2.fun_ERROR ("#NUM! because x < 0 or df1 < 0 or df2 < 0 in FDIST"); d_3_ = (double) -1; } else d_3_ = (RuntimeDouble_v2.fun_BETADIST (1.0 / (1.0 + 3.0 * ((0.0 + get$3() * get$3() + get$4() * get$4() + get$5() * get$5() + get$6() * get$6() - ((get$3() + get$4() + get$5() + get$6()) * (get$3() + get$4() + get$5() + get$6()) / 4.0)) / 3.0 / ((0.0 + get$1() * get$1() + get$2() * get$2() - ((get$1() + get$2()) * (get$1() + get$2()) / 2.0)) / 1.0))), 0.5, 1.5)); d = d_2_ * d_3_; } return d; } public final double dbl() { return get$0(); } final double get$1() { return $inputs.dbl(0); } final double get$2() { return $inputs.dbl(1); } final double get$3() { return $inputs.dbl(2); } final double get$4() { return $inputs.dbl(3); } final double get$5() { return $inputs.dbl(4); } final double get$6() { return $inputs.dbl(5); } }