/** * Be cautious with this method, no new internal rational is created * * @param numerator * @return */ protected static FractionSym newInstance(final BigFraction rational) { FractionSym r = new FractionSym(); r.fRational = rational; return r; }
public static FractionSym valueOf(final BigInteger numerator, final BigInteger denominator) { FractionSym r = new FractionSym(); r.fRational = new BigFraction(numerator, denominator); return r; }
public static FractionSym valueOf(final BigInteger numerator) { FractionSym r = new FractionSym(); r.fRational = new BigFraction(numerator, BigInteger.ONE); return r; }
public static FractionSym valueOf(final long numerator, final long denominator) { FractionSym r = new FractionSym(); r.fRational = new BigFraction(numerator, denominator); return r; }
/** * Construct a rational from two longs. Use this method to create a rational number. This method normalizes the * rational number and may return a previously created one. This method does not work if called with value * Long.MIN_VALUE. * * @param newnum * Numerator. * @return */ public static IFraction valueOf(long newnum) { if (newnum == 0) { return ZERO; } if (newnum == 1) { return ONE; } if (newnum == -1) { return MONE; } if (Integer.MIN_VALUE <= newnum && newnum <= Integer.MAX_VALUE) { return new FractionSym((int) newnum, 1); } return new BigFractionSym(BigInteger.valueOf(newnum), BigInteger.ONE); }
public final static FractionSym ZERO = new FractionSym(0, 1); public final static FractionSym ONE = new FractionSym(1, 1); public final static FractionSym MONE = new FractionSym(-1, 1);
public static FractionSym valueOf(final double value) { FractionSym r = new FractionSym(); try { r.fRational = new BigFraction(value, Config.DOUBLE_EPSILON, 200); } catch (FractionConversionException e) { r.fRational = new BigFraction(value); } return r; }
/** * * @param rat * @return * * @deprecated */ public static FractionSym valueOf(final BigFraction rat) { FractionSym r = new FractionSym(); r.fRational = new BigFraction(rat.getNumerator(), rat.getDenominator()); return r; }
public static FractionSym valueOf(final IInteger numerator, final IInteger denominator) { FractionSym r = new FractionSym(); r.fRational = new BigFraction(numerator.getBigNumerator(), denominator.getBigNumerator()); return r; }
return new FractionSym((int) newnum, (int) newdenom);