Package org.apfloat.internal
Class IntCRTMath
java.lang.Object
org.apfloat.internal.IntBaseMath
org.apfloat.internal.IntCRTMath
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
IntCarryCRTStepStrategy
Basic arithmetic for calculating the Chinese Remainder
Theorem. Works for the
int type.- Version:
- 1.6
- Author:
- Mikko Tommila
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal intadd(int[] src, int[] srcDst) Adds three words.final intcompare(int[] src1, int[] src2) Compares three words.final intdivide(int[] srcDst) Divides three words by the base to produce two words.final voidmultiply(int[] src, int factor, int[] dst) Multiplies two words by one word to produce a result of three words.final voidsubtract(int[] src, int[] srcDst) Subtracts three words.Methods inherited from class org.apfloat.internal.IntBaseMath
baseAdd, baseDivide, baseMultiplyAdd, baseSubtract
-
Constructor Details
-
IntCRTMath
public IntCRTMath(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(int[] src, int factor, int[] 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 int compare(int[] src1, int[] 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 > src2and zero ifsrc1 == src2.
-
add
public final int add(int[] src, int[] 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(int[] src, int[] 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 int divide(int[] 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.
-