/** {@inheritDoc} */ @Override public final Complex evalComplex() { INumber number = evalNumber(); if (number != null) { return number.complexNumValue().complexValue(); } throw new WrongArgumentType(this, "Conversion into a complex numeric value is not possible!"); }
/** {@inheritDoc} */ @Override public final Complex evalComplex() { INumber number = evalNumber(); if (number != null) { return number.complexNumValue().complexValue(); } throw new WrongArgumentType(this, "Conversion into a complex numeric value is not possible!"); }
/** {@inheritDoc} */ @Override public final Complex evalComplex() { INumber number = evalNumber(); if (number != null) { return number.complexNumValue().complexValue(); } throw new WrongArgumentType(this, "Conversion into a complex numeric value is not possible!"); }
/** * Evaluate the expression to a <code>INumber</code> value. * * @return <code>null</code> if the conversion is not possible. */ default Complex evalComplex() { if (isNumber()) { return ((INumber) this).complexNumValue().complexValue(); } throw new WrongArgumentType(this, "Conversion into a complex numeric value is not possible!"); }
@Override public IExpr numericEval(final IAST ast, EvalEngine engine) { Validate.checkSize(ast, 2); IExpr arg1 = ast.arg1(); if (arg1 instanceof INum) { if (arg1 instanceof ApfloatNum) { return e1ApfloatArg(((ApfloatNum) arg1).apfloatValue()); } return e1DblArg(((Num) arg1).doubleValue()); } if (arg1 instanceof IComplexNum) { if (arg1 instanceof ApcomplexNum) { return e1ApcomplexArg(((ApcomplexNum) arg1).apcomplexValue()); } return e1ComplexArg(((ComplexNum) arg1).complexValue()); } return evaluateArg1(arg1); }
return e1ApcomplexArg(((ApcomplexNum) arg1).apcomplexValue()); return e1ComplexArg(((ComplexNum) arg1).complexValue()); } else { return e1IntArg((IInteger) arg1);