/** {@inheritDoc} */ @Override public IExpr evaluate(EvalEngine engine){ if (F.isZero(getImaginaryPart())) { return F.num(getRealPart()); } return null; }
@Override public IExpr numericEvalD1(final Num arg1) { final double d = arg1.getRealPart(); if (d < 0) { return F.num(Math.PI); } else if (d > 0) { return F.CD0; } return null; }
@Override public IExpr times(final IExpr that) { if (that instanceof Num) { return newInstance(fDouble * ((Num) that).fDouble); } return super.times(that); }
/** {@inheritDoc} */ @Override public IExpr inverse() { return newInstance(NumberUtil.inverse(fRational)); }