/** {@inheritDoc} */ @Override public ISignedNumber fractionalPart() { return F.num(getRealPart() % 1); }
@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 numericEvalD1(final Num arg1) { return F.num(Math.asin(arg1.getRealPart())); }
@Override public IExpr numericEvalD1(final Num arg1) { return F.num(1.0D / Math.tan(arg1.getRealPart())); }
@Override public IExpr numericEvalD1(final Num arg1) { return F.num(Math.acos(arg1.getRealPart())); }
@Override public IExpr numericEvalD1(final Num arg1) { return F.num(Math.cos(arg1.getRealPart())); }
@Override public IExpr numericEvalD1(final Num arg1) { return F.num(Math.tan(arg1.getRealPart())); }
@Override public IExpr numericEvalD1(final Num arg1) { return F.num(1.0D / Math.cos(arg1.getRealPart())); }
@Override public IExpr numericEvalD1(final Num arg1) { return num(Math.sin(arg1.getRealPart())); }
@Override public IExpr numericEvalD1(final Num arg1) { return F.num(1.0D / Math.sin(arg1.getRealPart())); }
@Override public IExpr numericEvalD1(final Num arg1) { return F.num(Math.atan(arg1.getRealPart())); }
public IExpr numericEvalD1(final Num arg1) { return F.num(Math.abs(arg1.getRealPart())); }
public ComplexNum value(final ComplexNum z1, final ComplexNum z2) { final Object temp = apply(z1, z2); if (temp instanceof ComplexNum) { return (ComplexNum) temp; } if (temp instanceof Num) { return ComplexNum.valueOf(((Num) temp).getRealPart()); } throw new ArithmeticException("Numerical complex value expected"); }
public ComplexNum value(final ComplexNum z1, final ComplexNum z2) { final Object temp = apply(z1, z2); if (temp instanceof ComplexNum) { return (ComplexNum) temp; } if (temp instanceof Num) { return ComplexNum.valueOf(((Num) temp).getRealPart()); } throw new ArithmeticException("Numerical complex value expected"); }
@Override public IExpr numericEvalD1(final Num arg1) { try { return Num.valueOf(org.apache.commons.math3.special.Erf.erf(arg1.getRealPart())); } catch (final MaxCountExceededException e) { } return null; }
@Override public IExpr numericEvalD1(final Num arg1) { return F.num(Math.sinh(arg1.getRealPart())); }
@Override public IExpr numericEvalD1(final Num arg1) { return F.num(Math.cosh(arg1.getRealPart())); }
@Override public IExpr numericEvalD1(final Num arg1) { return F.num(Math.tanh(arg1.getRealPart())); }
@Override public IExpr plus(final IExpr that) { if (that instanceof ApfloatNum) { return add((ApfloatNum) that); } if (that instanceof Num) { return add(ApfloatNum.valueOf(((Num) that).getRealPart(), fApfloat.precision())); } if (that instanceof ApcomplexNum) { return ApcomplexNum.valueOf(fApfloat, Apcomplex.ZERO).add((ApcomplexNum) that); } if (that instanceof ComplexNum) { ComplexNum cn = (ComplexNum) that; return ApcomplexNum.valueOf(fApfloat, Apcomplex.ZERO) .add(ApcomplexNum.valueOf(cn.getRealPart(), cn.getImaginaryPart(), fApfloat.precision())); } return INum.super.plus(that); }
@Override public IExpr times(final IExpr that) { if (that instanceof ApfloatNum) { return multiply((ApfloatNum) that); } if (that instanceof Num) { return multiply(ApfloatNum.valueOf(((Num) that).getRealPart(), fApfloat.precision())); } if (that instanceof ApcomplexNum) { return ApcomplexNum.valueOf(fApfloat, Apcomplex.ZERO).multiply((ApcomplexNum) that); } if (that instanceof ComplexNum) { ComplexNum cn = (ComplexNum) that; return ApcomplexNum.valueOf(fApfloat, Apcomplex.ZERO) .multiply(ApcomplexNum.valueOf(cn.getRealPart(), cn.getImaginaryPart(), fApfloat.precision())); } return INum.super.times(that); }