Documentation

Complexitylib.Classes.PPoly.Uniform.Unrolling.Generator.Offset.Defs

Dynamic recent-wire offsets -- definitions #

Some transition blocks need a wire whose distance behind available is computed at run time. This module prepares such a reference with a bounded binary loop and combines it with one ordinary fixed-offset reference.

The explicit distinctness records rule out aliasing between controller, scratch, reference, and emission registers. They make preservation claims about the dynamic offset and loop counter part of the auditable interface.

Pairwise separation of the reference, dynamic offset, and count-up controller used by dynamic subtraction.

  • reference_ne_offset : reference offset
  • reference_ne_counter : reference counter
  • offset_ne_counter : offset counter
Instances For

    Pairwise separation of every register used by dynamic recent-reference preparation.

    Instances For

      Pairwise separation of every register used by dynamic recent-gate emission.

      Instances For

        Subtract a run-time offset from reference with a bounded count-up loop, then restore its controller to zero.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For

          Copy available into reference, decrement it once for every value below the dynamic offset, and restore the count-up controller to zero.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            def Complexity.CircuitUnrolling.Serializer.DirectGenerator.emitDynamicRecentGate (op : AndOrOp) (negated₀ negated₁ : Bool) (offset counter : Fin WorkCount) (fixedOffset₁ : ) :

            Emit a raw gate whose first input has a run-time recent-wire offset and whose second input has a fixed recent-wire offset.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For