Function cMov [src]

Conditonally replace a field element with a if c is positive

Prototype

pub inline fn cMov(fe: *Fe, a: Fe, c: u64) void

Parameters

fe: *Fea: Fec: u64

Source

pub inline 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]; } }