Skip to main content

batch_compress

Function batch_compress 

Source
pub fn batch_compress(g: u8) -> Program
Expand description

Batch affine conversion of g points held in bank I as X, Y, Z triples.

Output 2p is affine x and 2p + 1 is affine y of point p. All values are canonical, so x’s least-significant bit is its Ed25519 sign. A zero Z would zero the whole batch; valid curve points never have one.

Montgomery’s trick: g - 1 multiplies build the prefix products, one inversion inverts the last, and a backward walk recovers each 1/Z with two multiplies.