public NumValue evaluate(NumValue[] params) { switch (m_utype) { case SIN: return NumLang.Func.sin(m_func.evaluate(params)); case COS: return NumLang.Func.cos(m_func.evaluate(params)); case LN: return NumLang.Func.ln(m_func.evaluate(params)); case LOG: return NumLang.Func.log(m_func.evaluate(params)); case CEIL: return NumLang.Func.ceil(m_func.evaluate(params)); case FLOOR: return NumLang.Func.floor(m_func.evaluate(params)); default: return null; } }
private int c_index(NumValue index) { int i = NumLang.Func.floor(index).getValue().intValue(); if (i < 0 || i >= m_list.size()) NumLang.Exception.InvalidArrayIndex(i); return i; }