AFC - Abacus Formula Compiler for Java

Decompiled Code For INDEX( E$75:F$76, C76, 1.0 )

The expression

=INDEX( E$75:F$76, C76, 1.0 )

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.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() {
        return $idx$0($lin$2$2((int) Runtime_v2.checkDouble(get$1()),
                               (int) Runtime_v2.checkDouble(1.0)));
    }

    public final double dbl() {
        return get$0();
    }

    final int $lin$2$2(int i, int i_0_) {
        if (i >= 1 &#38;&#38; i <= 2 &#38;&#38; i_0_ >= 1 &#38;&#38; i_0_ <= 2)
            return (i - 1) * 2 + (i_0_ - 1);
        throw new FormulaException
                  ("#VALUE/REF! because index is out of range in INDEX");
    }

    final double $idx$0(int i) {
        switch (i) {
        case 0:
            return 11.0;
        case 1:
            return 13.0;
        case 2:
            return 12.0;
        case 3:
            return 14.0;
        default:
            throw new FormulaException
                      ("#VALUE/REF! because index is out of range in INDEX");
        }
    }

    final double get$1() {
        return $inputs.dbl(0);
    }
}