Skip to content

Commit 0dbc01a

Browse files
committed
Convert u128s to WideWord
1 parent 368c03d commit 0dbc01a

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

src/modular/bernstein_yang.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
99
#![allow(clippy::needless_range_loop)]
1010

11-
use crate::limb::{Limb, SignedWord, Word};
11+
use crate::limb::{Limb, SignedWord, WideWord, Word};
1212
use core::{
1313
cmp::PartialEq,
1414
ops::{Add, Mul, Neg, Sub},
@@ -371,9 +371,9 @@ impl<const B: usize, const L: usize> Mul for &CInt<B, L> {
371371
for i in 0..L {
372372
let mut carry = 0;
373373
for k in 0..(L - i) {
374-
let sum = (data[i + k] as u128)
375-
+ (carry as u128)
376-
+ (self.0[i] as u128) * (other.0[k] as u128);
374+
let sum = (data[i + k] as WideWord)
375+
+ (carry as WideWord)
376+
+ (self.0[i] as WideWord) * (other.0[k] as WideWord);
377377
data[i + k] = sum as Word & CInt::<B, L>::MASK;
378378
carry = (sum >> B) as Word;
379379
}
@@ -418,7 +418,7 @@ impl<const B: usize, const L: usize> Mul<SignedWord> for &CInt<B, L> {
418418
(other, 0, 0)
419419
};
420420
for i in 0..L {
421-
let sum = (carry as u128) + ((self.0[i] ^ mask) as u128) * (other as u128);
421+
let sum = (carry as WideWord) + ((self.0[i] ^ mask) as WideWord) * (other as WideWord);
422422
data[i] = sum as Word & CInt::<B, L>::MASK;
423423
carry = (sum >> B) as Word;
424424
}

0 commit comments

Comments
 (0)