Source code for primitives.batch_inverse

"""Montgomery batch inversion for Goldilocks field and cubic extension."""


from primitives.field import FF, FF3, batch_inverse


[docs] def batch_inverse_ff(values: list[FF]) -> list[FF]: """Montgomery batch inversion for base field (list interface).""" if len(values) == 0: return [] return list(batch_inverse(FF(values)))
[docs] def batch_inverse_ff3(values: list[FF3]) -> list[FF3]: """Montgomery batch inversion for cubic extension (list interface).""" if len(values) == 0: return [] return list(batch_inverse(FF3(values)))
# Array-based interfaces (preferred for performance) # These are thin wrappers; callers can use batch_inverse() directly from field.py
[docs] def batch_inverse_ff_array(values: FF) -> FF: """Montgomery batch inversion for FF galois array.""" return batch_inverse(values)
[docs] def batch_inverse_ff3_array(values: FF3) -> FF3: """Montgomery batch inversion for FF3 galois array.""" return batch_inverse(values)