Function mul32 [src]

Multiply a field element with a small (32-bit) integer

Prototype

pub inline fn mul32(a: Fe, comptime n: u32) Fe

Parameters

a: Fen: u32

Source

pub inline fn mul32(a: Fe, comptime n: u32) Fe { const sn = @as(u128, @intCast(n)); var fe: Fe = undefined; var x: u128 = 0; comptime var i = 0; inline while (i < 5) : (i += 1) { x = a.limbs[i] * sn + (x >> 51); fe.limbs[i] = @as(u64, @truncate(x)) & MASK51; } fe.limbs[0] += @as(u64, @intCast(x >> 51)) * 19; return fe; }