public double evalD(final EvalEnv env, final Term[] args) { final int si0 = stackIndex; prepareCall(env, args, si0); final double ret = body.evalD(env); finishCall(env, si0); return ret; }
public boolean evalB(final EvalEnv env, final Term[] args) throws EvalException { if (body.isB()) { final int si0 = stackIndex; prepareCall(env, args, si0); final boolean ret = body.evalB(env); finishCall(env, si0); return ret; } return Term.toB(evalD(env, args)); }
public int evalI(final EvalEnv env, final Term[] args) throws EvalException { if (body.isI()) { final int si0 = stackIndex; prepareCall(env, args, si0); final int ret = body.evalI(env); finishCall(env, si0); return ret; } return Term.toI(evalD(env, args)); }