fn pow(r: *Mutable, a: Const, b: u32, limbs_buffer: []Limb) !void

q = a ^ b

r may not alias a.

Asserts that r has enough limbs to store the result. Upper bound is calcPowLimbsBufferLen(a.bitCountAbs(), b).

limbs_buffer is used for temporary storage. The amount required is given by calcPowLimbsBufferLen.

Parameters

r: *Mutable,
a: Const,
b: u32,
limbs_buffer: []Limb,