Function cMov [src]
Conditonally replace a field element with a if c is positive
Prototype
pub fn cMov(fe: *Fe, a: Fe, c: u64) void Parameters
fe: *Fea: Fec: u64 Source
pub fn cMov(fe: *Fe, a: Fe, c: u64) void {
const mask: u64 = 0 -% c;
var x = fe.*;
comptime var i = 0;
inline while (i < 5) : (i += 1) {
x.limbs[i] ^= a.limbs[i];
}
i = 0;
inline while (i < 5) : (i += 1) {
x.limbs[i] &= mask;
}
i = 0;
inline while (i < 5) : (i += 1) {
fe.limbs[i] ^= x.limbs[i];
}
}