Class RationalInt
- java.lang.Object
-
- org.networkcalculus.num.implementations.RationalInt
-
- All Implemented Interfaces:
Num
public class RationalInt extends java.lang.Object implements Num
Wrapper class around org.apache.commons.math3.fraction.Fraction introducing special values like positive / negative infinity and NaN as well as operators like min, max, ==, >, >=, <, and <= that are not part of Fraction but needed by the network calculator.For the ease of converting from the primitive data type double to Fraction objects, copy by value semantic are is applied.
-
-
Field Summary
Fields Modifier and Type Field Description private static RationalIntinstanceprivate NumNaNprivate NumNEGATIVE_INFINITYprivate NumPOSITIVE_INFINITYprivate org.apache.commons.math3.fraction.Fractionvalueprivate NumZERO
-
Constructor Summary
Constructors Modifier Constructor Description privateRationalInt()RationalInt(double value)RationalInt(int num)RationalInt(int num, int den)privateRationalInt(org.apache.commons.math3.fraction.Fraction frac)RationalInt(RationalInt num)
-
Method Summary
Modifier and Type Method Description Numabs(Num num)Numadd(Num num1, Num num2)Numcopy()Numcreate(double value)Numcreate(int num)Numcreate(int num, int den)Numcreate(java.lang.String num_str)NumcreateNaN()NumcreateNegativeInfinity()NumcreatePositiveInfinity()NumcreateZero()Numdiff(Num num1, Num num2)Numdiv(Num num1, Num num2)doubledoubleValue()booleaneq(double num)booleaneq(Num num)booleanequals(java.lang.Object obj)booleaneqZero()booleangeq(Num num)booleangeqZero()static RationalIntgetInstance()NumgetNaN()NumgetNegativeInfinity()NumgetPositiveInfinity()org.apache.commons.math3.fraction.FractiongetValue()NumgetZero()booleangt(Num num)booleangtZero()inthashCode()booleanisFinite()booleanisInfinite()booleanisNaN()booleanleq(Num num)booleanleqZero()booleanlt(Num num)booleanltZero()Nummax(Num num1, Num num2)Nummin(Num num1, Num num2)Nummult(Num num1, Num num2)Numnegate(Num num)Numsub(Num num1, Num num2)java.lang.StringtoString()
-
-
-
Field Detail
-
instance
private static RationalInt instance
-
value
private org.apache.commons.math3.fraction.Fraction value
-
POSITIVE_INFINITY
private Num POSITIVE_INFINITY
-
NEGATIVE_INFINITY
private Num NEGATIVE_INFINITY
-
NaN
private Num NaN
-
ZERO
private Num ZERO
-
-
Constructor Detail
-
RationalInt
private RationalInt()
-
RationalInt
public RationalInt(int num)
-
RationalInt
public RationalInt(double value)
-
RationalInt
public RationalInt(int num, int den)
-
RationalInt
public RationalInt(RationalInt num)
-
RationalInt
private RationalInt(org.apache.commons.math3.fraction.Fraction frac)
-
-
Method Detail
-
getInstance
public static RationalInt getInstance()
-
doubleValue
public double doubleValue()
- Specified by:
doubleValuein interfaceNum
-
getValue
public org.apache.commons.math3.fraction.Fraction getValue()
-
hashCode
public int hashCode()
-
toString
public java.lang.String toString()
-
getPositiveInfinity
public Num getPositiveInfinity()
- Specified by:
getPositiveInfinityin interfaceNum
-
createPositiveInfinity
public Num createPositiveInfinity()
- Specified by:
createPositiveInfinityin interfaceNum
-
getNegativeInfinity
public Num getNegativeInfinity()
- Specified by:
getNegativeInfinityin interfaceNum
-
createNegativeInfinity
public Num createNegativeInfinity()
- Specified by:
createNegativeInfinityin interfaceNum
-
createZero
public Num createZero()
- Specified by:
createZeroin interfaceNum
-
create
public Num create(java.lang.String num_str) throws java.lang.Exception
-
equals
public boolean equals(java.lang.Object obj)
-
isInfinite
public boolean isInfinite()
- Specified by:
isInfinitein interfaceNum
-
-