Package org.apache.commons.numbers.field
Class FP64
- java.lang.Object
-
- java.lang.Number
-
- org.apache.commons.numbers.field.FP64
-
- All Implemented Interfaces:
Serializable
,Comparable<FP64>
,Addition<FP64>
,Multiplication<FP64>
,NativeOperators<FP64>
public final class FP64 extends Number implements NativeOperators<FP64>, Comparable<FP64>
Wraps adouble
value in order to be used as a field element.- See Also:
- Serialized Form
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description FP64
add(FP64 a)
Binary addition.byte
byteValue()
int
compareTo(FP64 other)
FP64
divide(FP64 a)
Binary division.double
doubleValue()
boolean
equals(Object other)
float
floatValue()
int
hashCode()
int
intValue()
boolean
isOne()
Check if this is a neutral element of multiplication, i.e.boolean
isZero()
Check if this is a neutral element of addition, i.e.long
longValue()
FP64
multiply(int n)
Repeated addition.FP64
multiply(FP64 a)
Binary multiplication.FP64
negate()
Additive inverse.static FP64
of(double value)
Factory.FP64
one()
Identity element.FP64
pow(int n)
Repeated multiplication.FP64
reciprocal()
Multiplicative inverse.FP64
subtract(FP64 a)
Binary subtraction.String
toString()
FP64
zero()
Identity element.-
Methods inherited from class java.lang.Number
shortValue
-
-
-
-
Method Detail
-
of
public static FP64 of(double value)
Factory.- Parameters:
value
- Value.- Returns:
- a new instance.
-
multiply
public FP64 multiply(FP64 a)
Binary multiplication.- Specified by:
multiply
in interfaceMultiplication<FP64>
- Parameters:
a
- Element.- Returns:
this * a
.
-
reciprocal
public FP64 reciprocal()
Multiplicative inverse.- Specified by:
reciprocal
in interfaceMultiplication<FP64>
- Returns:
this-1
.
-
subtract
public FP64 subtract(FP64 a)
Binary subtraction.- Specified by:
subtract
in interfaceNativeOperators<FP64>
- Parameters:
a
- Element.- Returns:
this - a
.
-
divide
public FP64 divide(FP64 a)
Binary division.- Specified by:
divide
in interfaceNativeOperators<FP64>
- Parameters:
a
- Element.- Returns:
this / a
.
-
multiply
public FP64 multiply(int n)
Repeated addition.- Specified by:
multiply
in interfaceNativeOperators<FP64>
- Parameters:
n
- Number of times to addthis
to itself.- Returns:
n * this
.
-
pow
public FP64 pow(int n)
Repeated multiplication.- Specified by:
pow
in interfaceNativeOperators<FP64>
- Parameters:
n
- Number of times to multiplythis
with itself.- Returns:
this^n
.
-
doubleValue
public double doubleValue()
- Specified by:
doubleValue
in classNumber
-
floatValue
public float floatValue()
- Specified by:
floatValue
in classNumber
-
compareTo
public int compareTo(FP64 other)
- Specified by:
compareTo
in interfaceComparable<FP64>
-
isZero
public boolean isZero()
Check if this is a neutral element of addition, i.e.this.add(a)
returnsa
or an element representing the same value asa
.The default implementation calls
equals(zero())
. Implementations may want to employ more a efficient method. This may even be required if an implementation has multiple representations ofzero
and itsequals
method differentiates between them.- Specified by:
isZero
in interfaceAddition<FP64>
- Returns:
true
ifthis
is a neutral element of addition.- See Also:
Addition.zero()
-
one
public FP64 one()
Identity element.- Specified by:
one
in interfaceMultiplication<FP64>
- Returns:
- the field element such that for all
a
,one().multiply(a).equals(a)
istrue
.
-
isOne
public boolean isOne()
Check if this is a neutral element of multiplication, i.e.this.multiply(a)
returnsa
or an element representing the same value asa
.The default implementation calls
equals(one())
. Implementations may want to employ more a efficient method. This may even be required if an implementation has multiple representations ofone
and itsequals
method differentiates between them.- Specified by:
isOne
in interfaceMultiplication<FP64>
- Returns:
true
ifthis
is a neutral element of multiplication.- See Also:
Multiplication.one()
-
-