Package jmathexpr.set

Examples of jmathexpr.set.OrderedPair


//        Logger.dump(new ExpressionParser().parse("2x^2 - 5x"));
//        System.exit(1);
//        Polynomial a = Polynomial.create(new ExpressionParser().parse("x^3 - 2x^2 - 4"), x);
        Polynomial a = Polynomial.create(new ExpressionParser().parse("x^3 - 2*x^2 - 4"), x);
        Polynomial b = Polynomial.create(new ExpressionParser().parse("x - 3"), x);
        OrderedPair quotient = a.euclideanDivision(b);
       
        System.out.printf("(%s) : (%s) = %s%n", a, b, quotient);
       
        Polynomial q = Polynomial.create(new ExpressionParser().parse("x^2 + x + 3"), x);
        Polynomial r = Polynomial.create(N.create(5), x);
       
        assertEquals(quotient, new OrderedPair(q, r));
    }
View Full Code Here


     * numbers
     */
    public static OrderedPair toSameType(Expression a, Expression b) {
        if (a instanceof NaturalNumber) {
            if (b instanceof NaturalNumber) {
                return new OrderedPair(a, b);
            } else if (b instanceof IntegerNumber) {
                return new OrderedPair(((NaturalNumber) a).toInteger(), b);
            } else if (b instanceof RationalNumber) {
                return new OrderedPair(((NaturalNumber) a).toRational(), b);
            } else if (b instanceof RealNumber) {
                return new OrderedPair(((NaturalNumber) a).toReal(), b);
            }
        } else if (a instanceof IntegerNumber) {
            if (b instanceof NaturalNumber) {
                return new OrderedPair(a, ((NaturalNumber) b).toInteger());
            } else if (b instanceof IntegerNumber) {
                return new OrderedPair(a, b);
            } else if (b instanceof RationalNumber) {
                return new OrderedPair(((IntegerNumber) a).toRational(), b);
            } else if (b instanceof RealNumber) {
                return new OrderedPair(((IntegerNumber) a).toReal(), b);
            }
        } else if (a instanceof RationalNumber) {
            if (b instanceof NaturalNumber) {
                return new OrderedPair(a, ((NaturalNumber) b).toRational());
            } else if (b instanceof IntegerNumber) {
                return new OrderedPair(a, ((IntegerNumber) b).toRational());
            } else if (b instanceof RationalNumber) {
                return new OrderedPair(a, b);
            } else if (b instanceof RealNumber) {
                return new OrderedPair(((RationalNumber) a).toReal(), b);
            }
        } else if (a instanceof RealNumber) {
            if (b instanceof NaturalNumber) {
                return new OrderedPair(a, ((NaturalNumber) b).toReal());
            } else if (b instanceof IntegerNumber) {
                return new OrderedPair(a, ((IntegerNumber) b).toReal());
            } else if (b instanceof RationalNumber) {
                return new OrderedPair(a, ((NaturalNumber) b).toReal());
            } else if (b instanceof RealNumber) {
                return new OrderedPair(a, b);
            }
        }
       
        return new OrderedPair(a, b);
    }
View Full Code Here

     * @param b second number
     *
     * @return true if the two numbers are equal
     */
    public static boolean equal(ANumber a, ANumber b) {
        OrderedPair numbers = toSameType(a, b);
       
        return numbers.a().equals(numbers.b());
    }
View Full Code Here

     * Converts the arguments to the same type and performs the addition.
     *
     * @return the sum of the two numbers
     */
    public static ANumber add(ANumber augend, ANumber addend) {
        OrderedPair terms = toSameType(augend, addend);
       
        return ((ANumber) terms.a()).add((ANumber) terms.b());
    }
View Full Code Here

     * Converts the arguments to the same type and performs a subtraction.
     *
     * @return the difference of the two numbers
     */
    public static ANumber subtract(ANumber minuend, ANumber subtrahend) {
        OrderedPair terms = toSameType(minuend, subtrahend);
       
        return ((ANumber) terms.a()).subtract((ANumber) terms.b());
    }
View Full Code Here

     * Converts the arguments to the same type and performs a multiplication.
     *
     * @return the product of the two numbers
     */
    public static ANumber multiply(ANumber multiplicand, ANumber multiplier) {
        OrderedPair terms = toSameType(multiplicand, multiplier);
       
        return ((ANumber) terms.a()).multiply((ANumber) terms.b());
    }
View Full Code Here

     * Converts the arguments to the same type and performs the division.
     *
     * @return the quotient of the two numbers
     */
    public static ANumber divide(ANumber dividend, ANumber divisor) {
        OrderedPair terms = toSameType(dividend, divisor);
       
        return ((ANumber) terms.a()).divide((ANumber) terms.b());
    }
View Full Code Here

     * than the second one.
     *
     * @return true if the first argument is smaller than the second one
     */
    public static boolean lt(ANumber a, ANumber b) {
        OrderedPair terms = toSameType(a, b);
       
        return ((ANumber) terms.a()).lt((ANumber) terms.b());
    }
View Full Code Here

    public Expression evaluate() {
        Expression l = lhs.evaluate();
        Expression r = rhs.evaluate();
       
        if (l instanceof ANumber && r instanceof ANumber) {
            OrderedPair args = Numbers.toSameType(l, r);
           
            return TruthValue.valueOf(((ANumber) args.a()).lt((ANumber) args.b()));
        } else if (l.equals(Infinity.MINUS_INFINITY) && (r instanceof ANumber)) {
            return TruthValue.True;
        } else if (r.equals(Infinity.PLUS_INFINITY) && (l instanceof ANumber)) {
            return TruthValue.True;
        } else if (l.equals(Infinity.MINUS_INFINITY) && r.equals(Infinity.PLUS_INFINITY)) {
View Full Code Here

    public Expression evaluate() {
        Expression l = lhs.evaluate();
        Expression r = rhs.evaluate();
       
        if (l instanceof ANumber && r instanceof ANumber) {
            OrderedPair args = Numbers.toSameType(l, r);
           
            return TruthValue.valueOf(((ANumber) args.a()).le((ANumber) args.b()));
        } else if (l.equals(Infinity.MINUS_INFINITY) &&
                ((r instanceof Infinity) || (r instanceof ANumber))) {
            return TruthValue.True;
        } else if (r.equals(Infinity.PLUS_INFINITY) &&
                ((l instanceof Infinity) || (l instanceof ANumber))) {
View Full Code Here

TOP

Related Classes of jmathexpr.set.OrderedPair

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.