Function invert [src]

Return the inverse of a field element, or 0 if a=0.

Prototype

pub fn invert(a: Fe) Fe

Parameters

a: Fe

Source

pub fn invert(a: Fe) Fe { var t0 = a.sq(); var t1 = t0.sqn(2).mul(a); t0 = t0.mul(t1); t1 = t1.mul(t0.sq()); t1 = t1.mul(t1.sqn(5)); var t2 = t1.sqn(10).mul(t1); t2 = t2.mul(t2.sqn(20)).sqn(10); t1 = t1.mul(t2); t2 = t1.sqn(50).mul(t1); return t1.mul(t2.mul(t2.sqn(100)).sqn(50)).sqn(5).mul(t0); }