@Override public ComplexNum complexNumValue() { // double precision complex number double nr = fNumerator; double dr = fDenominator; return ComplexNum.valueOf(nr / dr); }
/** * Create a complex numeric value * * @param r * real part * @param i * imaginary part * @return */ public static IComplexNum complexNum(final double r, final double i) { return ComplexNum.valueOf(r, i); }
/** * Create a complex numeric value * * @param r * real part * @param i * imaginary part * @return */ public static IComplexNum complexNum(final double r, final double i) { return ComplexNum.valueOf(r, i); }
public static IComplexNum complexNum(final Complex c) { return ComplexNum.valueOf(c); }
@Override public ComplexNum complexNumValue() { // double precision complex number return ComplexNum.valueOf(doubleValue(), 0.0); }
@Override public ComplexNum complexNumValue() { // double precision complex number return ComplexNum.valueOf(doubleValue()); }
@Override public ComplexNum complexNumValue() { // double precision complex number return ComplexNum.valueOf(doubleValue()); }
public ComplexNum value(final ComplexNum z) { final Object temp = apply(z); if (temp instanceof ComplexNum) { return (ComplexNum) temp; } if (temp instanceof INum) { return ComplexNum.valueOf((INum) temp); } throw new ArithmeticException("Expected numerical complex value object!"); }
public ComplexNum value(final ComplexNum z) { final Object temp = apply(z); if (temp instanceof ComplexNum) { return (ComplexNum) temp; } if (temp instanceof INum) { return ComplexNum.valueOf((INum) temp); } throw new ArithmeticException("Expected numerical complex value object!"); }
public IExpr sqrt() { return valueOf(fComplex.sqrt()); }
@Override public ComplexNum complexNumValue() { return ComplexNum.valueOf(fApfloat.doubleValue()); }
@Override public ComplexNum complexNumValue() { // double precision complex number double nr = toBigNumerator().doubleValue(); double dr = toBigDenominator().doubleValue(); return ComplexNum.valueOf(nr / dr); }
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 ComplexNum complexNumValue() { return ComplexNum.valueOf(fApcomplex.real().doubleValue(), fApcomplex.imag().doubleValue()); }
public static AST newInstance(final ISymbol symbol, final org.apache.commons.math3.complex.Complex[] arr) { // AST ast; // if (Config.SERVER_MODE) { // ast = FACTORY.object(); // } else { // ast = new AST(5, false); // } AST ast = new AST(5, false); ast.add(symbol); for (int i = 1; i <= arr.length; i++) { ast.add(i, ComplexNum.valueOf(arr[i - 1].getReal(),arr[i - 1].getImaginary())); } return ast; }
@Override public IExpr inverse() { final double tmp = (fComplex.getReal() * fComplex.getReal()) + (fComplex.getImaginary() * fComplex.getImaginary()); return valueOf(fComplex.getReal() / tmp, -fComplex.getImaginary() / tmp); }
/** * @param isPreserved * @return */ // public Object preserve(boolean isPreserved) { // return fComplex.preserve(isPreserved); // } @Override public IExpr inverse() { // return new DoubleComplexImpl(fComplex.inverse()); final double tmp = (fComplex.getReal() * fComplex.getReal()) + (fComplex.getImaginary() * fComplex.getImaginary()); return valueOf(fComplex.getReal() / tmp, -fComplex.getImaginary() / tmp); }
@Override public ComplexNum complexNumValue() { // double precision complex number double nr = fReal.numerator().doubleValue(); double dr = fReal.denominator().doubleValue(); double ni = fImaginary.numerator().doubleValue(); double di = fImaginary.denominator().doubleValue(); return ComplexNum.valueOf(nr / dr, ni / di); }
@Override public IExpr times(final IExpr that) { if (that instanceof ApfloatNum) { return multiply(ApfloatNum.valueOf(fDouble, ((ApfloatNum) that).fApfloat.precision())); } if (that instanceof Num) { return valueOf(fDouble * ((Num) that).fDouble); } if (that instanceof ApcomplexNum) { return ApcomplexNum.valueOf(fDouble, ((ApcomplexNum) that).fApcomplex.precision()) .multiply((ApcomplexNum) that); } if (that instanceof ComplexNum) { return ComplexNum.valueOf(fDouble).multiply((ComplexNum) that); } return INum.super.times(that); }