Decompiled Code For TTEST( C576:D576, E576:F576, G576, H576 )
The expression
=TTEST( C576:D576, E576:F576, G576, H576 )
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 (get$5() != 1.0 && get$5() != 2.0) { Runtime_v2.fun_ERROR("#NUM! because not tails in {1,2} in TTEST"); d = (double) -1; } else if (get$6() == 1.0) { double d_0_; double d_1_; double d_2_; double d_3_; d = get$7(d_0_ = 2.0, d_1_ = get$1() + get$2(), d_2_ = get$3() + get$4(), d_3_ = get$5()); } else if (get$6() == 2.0) d = (RuntimeDouble_v2.fun_TDIST ((Math.abs((get$1() + get$2()) / 2.0 - (get$3() + get$4()) / 2.0) / RuntimeDouble_v2.fun_SQRT(1.0 * ((0.0 + get$1() * get$1() + get$2() * get$2() - ((get$1() + get$2()) * (get$1() + get$2()) / 2.0)) / 1.0) + (1.0 * ((0.0 + get$3() * get$3() + get$4() * get$4() - ((get$3() + get$4()) * (get$3() + get$4()) / 2.0)) / 1.0))) * 1.4142135623730951), 2.0, (int) get$5(), false)); else if (get$6() == 3.0) d = (RuntimeDouble_v2.fun_TDIST ((Math.abs((get$1() + get$2()) / 2.0 - (get$3() + get$4()) / 2.0) / RuntimeDouble_v2.fun_SQRT((0.0 + get$1() * get$1() + get$2() * get$2() - ((get$1() + get$2()) * (get$1() + get$2()) / 2.0)) / 1.0 / 2.0 + (0.0 + get$3() * get$3() + get$4() * get$4() - ((get$3() + get$4()) * (get$3() + get$4()) / 2.0)) / 1.0 / 2.0)), ((((0.0 + get$1() * get$1() + get$2() * get$2() - (get$1() + get$2()) * (get$1() + get$2()) / 2.0) / 1.0 / 2.0) + ((0.0 + get$3() * get$3() + get$4() * get$4() - (get$3() + get$4()) * (get$3() + get$4()) / 2.0) / 1.0 / 2.0)) * (((0.0 + get$1() * get$1() + get$2() * get$2() - (get$1() + get$2()) * (get$1() + get$2()) / 2.0) / 1.0 / 2.0) + ((0.0 + get$3() * get$3() + get$4() * get$4() - (get$3() + get$4()) * (get$3() + get$4()) / 2.0) / 1.0 / 2.0)) / (((0.0 + get$1() * get$1() + get$2() * get$2() - (get$1() + get$2()) * (get$1() + get$2()) / 2.0) / 1.0 / 2.0 * ((0.0 + get$1() * get$1() + get$2() * get$2() - (get$1() + get$2()) * (get$1() + get$2()) / 2.0) / 1.0 / 2.0) / 1.0) + ((0.0 + get$3() * get$3() + get$4() * get$4() - (get$3() + get$4()) * (get$3() + get$4()) / 2.0) / 1.0 / 2.0 * ((0.0 + get$3() * get$3() + get$4() * get$4() - (get$3() + get$4()) * (get$3() + get$4()) / 2.0) / 1.0 / 2.0) / 1.0))), (int) get$5(), 1.0 != 0.0)); else { Runtime_v2 .fun_ERROR("#NUM! because not type in {1, 2, 3} in TTEST"); d = (double) -1; } return d; } public final double dbl() { return get$0(); } final double get$7(double d, double d_4_, double d_5_, double d_6_) { double d_7_ = 0.0; d_7_ += (get$1() - get$3()) * (get$1() - get$3()); d_7_ += (get$2() - get$4()) * (get$2() - get$4()); double d_8_; double d_9_; if ((d_8_ = d * d_7_ - (d_4_ - d_5_) * (d_4_ - d_5_)) <= 0.0) { Runtime_v2.fun_ERROR("#DIV/0! in TTEST"); d_9_ = (double) -1; } else { double d_10_; double d_11_; d_9_ = RuntimeDouble_v2.fun_TDIST(d_10_ = (RuntimeDouble_v2 .fun_SQRT(d - 1.0) * Math.abs(d_4_ - d_5_) / RuntimeDouble_v2 .fun_SQRT(d_8_)), d_11_ = d - 1.0, (int) d_6_, false); } return d_9_; } 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); } }