Package org.apfloat.internal
Class FloatCRTMath
java.lang.Object
org.apfloat.internal.FloatBaseMath
org.apfloat.internal.FloatCRTMath
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
FloatCarryCRTStepStrategy
Basic arithmetic for calculating the Chinese Remainder
Theorem. Works for the
float
type.- Version:
- 1.6
- Author:
- Mikko Tommila
- See Also:
- Serialized Form
-
Constructor Summary
ConstructorsConstructorDescriptionFloatCRTMath(int radix)
Creates a carry-CRT math using the specified radix. -
Method Summary
Modifier and TypeMethodDescriptionfloat
add(float[] src, float[] srcDst)
Adds three words.float
compare(float[] src1, float[] src2)
Compares three words.float
divide(float[] srcDst)
Divides three words by the base to produce two words.void
multiply(float[] src, float factor, float[] dst)
Multiplies two words by one word to produce a result of three words.void
subtract(float[] src, float[] srcDst)
Subtracts three words.Methods inherited from class org.apfloat.internal.FloatBaseMath
baseAdd, baseDivide, baseMultiplyAdd, baseSubtract
-
Constructor Details
-
FloatCRTMath
public FloatCRTMath(int radix)Creates a carry-CRT math using the specified radix.- Parameters:
radix
- The radix that will be used.
-
-
Method Details
-
multiply
public final void multiply(float[] src, float factor, float[] dst)Multiplies two words by one word to produce a result of three words. Most significant word is stored first.- Parameters:
src
- Source array, first multiplicand.factor
- Second multiplicand.dst
- Destination array.
-
compare
public final float compare(float[] src1, float[] src2)Compares three words. Most significant word is stored first.- Parameters:
src1
- First operand.src2
- Second operand.- Returns:
- Less than zero if
src1 < src2
, greater than zero ifsrc1 > src2
and zero ifsrc1 == src2
.
-
add
public final float add(float[] src, float[] srcDst)Adds three words. Most significant word is stored first.- Parameters:
src
- First operand.srcDst
- Second operand, and destination of the operation.- Returns:
- Overflow carry bit.
-
subtract
public final void subtract(float[] src, float[] srcDst)Subtracts three words. Most significant word is stored first.- Parameters:
src
- First operand.srcDst
- Second operand, and destination of the operation.
-
divide
public final float divide(float[] srcDst)Divides three words by the base to produce two words. Most significant word is stored first.- Parameters:
srcDst
- Source and destination of the operation.- Returns:
- Remainder of the division.
-