Documentation

Complexity.Computability.Circuit.Boolean.Modular.Multiply

Logarithmic-depth modular multiplication #

All shifted partial products are generated in parallel, reduced along the existing half-split carry-save tree, and finished by carry lookahead. The result is the product modulo 2 ^ w on every pair of words. Width zero uses the actual empty carry-save fallback and finishing circuit.

Main definitions #

Main results #

References #

Binary partial products and carry-save reduction follow Vollmer, Chapter 1; parallel-prefix finishing follows Ladner and Fischer.

Reduce all shifted partial products and finish their sum with carry lookahead.

Instances For

    The circuit computes the modular product of arbitrary input words.

    The balanced pair tree uses one-level leaves and logarithmic-depth finishing.

    Every partial product and every carry-save gate is charged.