Fix Barrett reduction.

This commit is contained in:
2018-04-13 10:56:59 -04:00
parent 330dabe017
commit d98baa1381

View File

@@ -214,10 +214,8 @@ impl UCN {
let mut r1 = self.clone();
r1.contents.resize(u.k + 1, 0);
println!("r1: {:X}", r1);
let mut mlimited = u.m.clone();
mlimited.contents.resize(u.k + 1, 0);
let r2 = q3 * &mlimited;
println!("r2: {:X}", r2);
let mut r2 = q3 * &u.m;
r2.contents.resize(u.k + 1, 0);
let mut r = if r1 >= r2 {
r1 - r2
} else {
@@ -226,12 +224,10 @@ impl UCN {
bk1cont.push(1);
(r1 + UCN{ contents: bk1cont }) - r2
};
println!("r: {:?}", r);
// 4. Whiler≥mdo:r←rm.
while &r >= &u.m {
r -= &u.m;
}
println!("r: {:?}", r);
// 5. Return(r).
r
}