Decompiled Code For LOOKUP( C82, D82:F82, G82:I82 )
The expression
=LOOKUP( C82, D82:F82, G82:I82 )
is compiled to the following class(es):
package org.formulacompiler.gen; import org.formulacompiler.runtime.Computation; import org.formulacompiler.runtime.FormulaException; import org.formulacompiler.runtime.internal.Environment; import org.formulacompiler.runtime.internal.RuntimeDouble_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; private boolean $arr$0$init; private double[] $constarr$0; $Root(Inputs inputs, Environment environment) { $environment = environment; $inputs = inputs; } final double get$0() { return $idx$0(RuntimeDouble_v2.fun_MATCH_Ascending(get$1(), $arr$0()) - 1); } public final double dbl() { return get$0(); } final double[] $arr$0() { if (!$arr$0$init) { $arr$0$init = true; double[] ds = $constarr$0(); ds[0] = get$2(); ds[1] = get$3(); ds[2] = get$4(); return ds; } return $constarr$0(); } final double[] $constarr$0() { if ($constarr$0 == null) $constarr$0 = new double[3]; return $constarr$0; } final double $idx$0(int i) { switch (i) { case 0: return get$5(); case 1: return get$6(); case 2: return get$7(); default: throw new FormulaException ("#VALUE/REF! because index is out of range in INDEX"); } } 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); } final double get$7() { return $inputs.dbl(6); } }