Lines Matching refs:arg2

113 simpleAddHighPrecision (uint64_t * arg1, int32_t length, uint64_t arg2)
118 *arg1 += arg2;
119 if (arg2 <= *arg1)
131 addHighPrecision (uint64_t * arg1, int32_t length1, uint64_t * arg2, int32_t length2)
156 temp2 = arg2[index];
159 if (arg2[index] < arg1[index])
161 else if (arg2[index] != arg1[index])
177 subtractHighPrecision (uint64_t * arg1, int32_t length1, uint64_t * arg2, int32_t length2)
179 /* assumes arg1 > arg2 */
185 while (length2 > 0 && arg2[length2 - 1] == 0)
188 addHighPrecision (arg1, length1, arg2, length2);
195 static uint32_t simpleMultiplyHighPrecision(uint64_t* arg1, int32_t length, uint64_t arg2) {
196 /* assumes arg2 only holds 32 bits of information */
206 HIGH_IN_U64 (product) + arg2 * LOW_U32_FROM_PTR (arg1 + index);
209 HIGH_IN_U64 (product) + arg2 * HIGH_U32_FROM_PTR (arg1 + index);
218 simpleMultiplyAddHighPrecision (uint64_t * arg1, int32_t length, uint64_t arg2,
221 /* Assumes result can hold the product and arg2 only holds 32 bits
233 arg2 * LOW_U32_FROM_PTR (arg1 + index);
238 arg2 * HIGH_U32_FROM_PTR (arg1 + index);
255 void simpleMultiplyAddHighPrecisionBigEndianFix(uint64_t* arg1, int32_t length, uint64_t arg2, uint32_t* result) {
256 /* Assumes result can hold the product and arg2 only holds 32 bits of information */
262 product = HIGH_IN_U64(product) + result[halfAt(resultIndex)] + arg2 * LOW_U32_FROM_PTR(arg1 + index);
265 product = HIGH_IN_U64(product) + result[halfAt(resultIndex)] + arg2 * HIGH_U32_FROM_PTR(arg1 + index);
280 multiplyHighPrecision (uint64_t * arg1, int32_t length1, uint64_t * arg2, int32_t length2,
291 arg1 = arg2;
292 arg2 = temp;
305 simpleMultiplyAddHighPrecision (arg1, length1, LOW_IN_U64 (arg2[count]),
308 simpleMultiplyAddHighPrecision(arg1, length1, HIGH_IN_U64(arg2[count]), resultIn32 + (++index));
310 simpleMultiplyAddHighPrecisionBigEndianFix(arg1, length1, HIGH_IN_U64(arg2[count]), resultIn32 + (++index));
339 simpleShiftLeftHighPrecision (uint64_t * arg1, int32_t length, int32_t arg2)
343 if (arg2 >= 64)
345 offset = arg2 >> 6;
356 arg2 &= 0x3F;
359 if (arg2 == 0)
363 arg1[length] = arg1[length] << arg2 | arg1[length - 1] >> (64 - arg2);
365 *arg1 <<= arg2;
542 compareHighPrecision (uint64_t * arg1, int32_t length1, uint64_t * arg2, int32_t length2)
546 while (--length2 >= 0 && arg2[length2] == 0) {
557 if (arg1[length1] > arg2[length1])
559 else if (arg1[length1] < arg2[length1])
674 static uint64_t simpleMultiplyHighPrecision64(uint64_t* arg1, int32_t length, uint64_t arg2);
824 /* Allow a 64-bit value in arg2 */
826 simpleMultiplyHighPrecision64 (uint64_t * arg1, int32_t length, uint64_t arg2)
843 static_cast<uint64_t>(LOW_U32_FROM_VAR (arg2)) * static_cast<uint64_t>(LOW_U32_FROM_PTR (pArg1));
854 static_cast<uint64_t>(LOW_U32_FROM_VAR (arg2)) * static_cast<uint64_t>(HIGH_U32_FROM_PTR (pArg1));
856 static_cast<uint64_t>(HIGH_U32_FROM_VAR (arg2)) * static_cast<uint64_t>(LOW_U32_FROM_PTR (pArg1));
870 + static_cast<uint64_t>(HIGH_U32_FROM_VAR (arg2)) * static_cast<uint64_t>(buf32);