All Downloads are FREE. Search and download functionalities are using the official Maven repository.

framework.src.org.checkerframework.common.value.util.NumberMath Maven / Gradle / Ivy

Go to download

The Checker Framework enhances Java’s type system to make it more powerful and useful. This lets software developers detect and prevent errors in their Java programs. The Checker Framework includes compiler plug-ins ("checkers") that find bugs or verify their absence. It also permits you to write your own compiler plug-ins.

There is a newer version: 3.42.0
Show newest version
package org.checkerframework.common.value.util;


public abstract class NumberMath {
    public static NumberMath getNumberMath(Number number) {
        if (number instanceof Byte) {
            return new ByteMath(number.byteValue());
        }
        if (number instanceof Double) {
            return new DoubleMath(number.doubleValue());
        }
        if (number instanceof Float) {
            return new FloatMath(number.floatValue());
        }
        if (number instanceof Integer) {
            return new IntegerMath(number.intValue());
        }
        if (number instanceof Long) {
            return new LongMath(number.longValue());
        }
        if (number instanceof Short) {
            return new ShortMath(number.shortValue());
        }
        return null;
    }

    public abstract Number plus(Number right);

    public abstract Number minus(Number right) ;

    public abstract  Number times(Number right);

    public abstract  Number divide(Number right);

    public abstract  Number remainder(Number right);

    public abstract  Number shiftLeft(Number right);

    public abstract Number signedSiftRight(Number right);

    public abstract Number unsignedSiftRight(Number right);

    public abstract Number bitwiseAnd(Number right);

    public abstract Number bitwiseOr(Number right);

    public abstract Number bitwiseXor(Number right);

    public abstract Number unaryPlus();

    public abstract Number unaryMinus();

    public abstract Number bitwiseComplement();

    public abstract Boolean equalTo(Number right);
    public abstract Boolean notEqualTo(Number right);
    public abstract Boolean greaterThan(Number right);
    public abstract Boolean greaterThanEq(Number right);
    public abstract Boolean lessThan(Number right);
    public abstract Boolean lessThanEq(Number right);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy