Function fromBytes64 [src]

Map a 64 bytes big endian string into a field element

Prototype

pub fn fromBytes64(s: [64]u8) Fe

Parameters

s: [64]u8

Source

pub fn fromBytes64(s: [64]u8) Fe { var fl: [32]u8 = undefined; var gl: [32]u8 = undefined; var i: usize = 0; while (i < 32) : (i += 1) { fl[i] = s[63 - i]; gl[i] = s[31 - i]; } fl[31] &= 0x7f; gl[31] &= 0x7f; var fe_f = fromBytes(fl); const fe_g = fromBytes(gl); fe_f.limbs[0] += (s[32] >> 7) * 19 + @as(u10, s[0] >> 7) * 722; i = 0; while (i < 5) : (i += 1) { fe_f.limbs[i] += 38 * fe_g.limbs[i]; } fe_f.reduce(); return fe_f; }