Documentation

Complexity.Algorithms.WordRAM.ExactTriangle.RecordProduct.Program

Calling a queried product from an actual prepared record #

The low 64 producer registers are retained. Register 64 selects an actual record ordinal; the native code computes its stride, reads its six words and places the original raw matrices and interleaved query coordinates at the actual producer heap end. The complete callable product occupies a separate 163-register bank. Its existing matrix-input code, not this adapter, performs raw-zero/one to canonical-signed doubling.

The logarithm is computed by NatLog.program. Under D=4^m, dividing its binary result by two recovers m exactly. No layout, logarithm, execution or solver certificate is a runtime input. These definitions are internal stages of the complete record consumer.

@[reducible, inline]

Actual record ordinal supplied by the outer caller.

Instances For
    @[reducible, inline]

    Absolute result pointer.

    Instances For
      @[reducible, inline]

      Actual producer heap end, and the callee's local-memory base.

      Instances For
        @[reducible, inline]

        Original padded middle dimension.

        Instances For
          @[reducible, inline]

          Original outer dimension.

          Instances For
            @[reducible, inline]

            Computed selected record pointer.

            Instances For
              @[reducible, inline]

              Loaded residue and piece metadata, retained without reinterpreting them.

              Instances For
                @[reducible, inline]

                Loaded piece index.

                Instances For
                  @[reducible, inline]

                  Loaded interleaved query pointer.

                  Instances For
                    @[reducible, inline]

                    Loaded number of query occurrences.

                    Instances For
                      @[reducible, inline]

                      Loaded left-matrix pointer.

                      Instances For
                        @[reducible, inline]

                        Loaded right-matrix pointer.

                        Instances For
                          @[reducible, inline]

                          Computed size of either matrix block.

                          Instances For
                            @[reducible, inline]

                            Computed combined matrix-block length.

                            Instances For
                              @[reducible, inline]

                              Recovered inner depth.

                              Instances For
                                @[reducible, inline]

                                Computed tensor level, nineteen times the inner depth.

                                Instances For
                                  @[reducible, inline]

                                  Computed original callee payload length.

                                  Instances For
                                    @[reducible, inline]

                                    Constant one.

                                    Instances For
                                      @[reducible, inline]

                                      Constant two.

                                      Instances For
                                        @[reducible, inline]

                                        Record header length.

                                        Instances For
                                          @[reducible, inline]

                                          Tensor-level multiplier.

                                          Instances For
                                            @[reducible, inline]

                                            Original callee scalar header length.

                                            Instances For
                                              @[reducible, inline]

                                              Adapter address scratch.

                                              Instances For
                                                @[reducible, inline]

                                                Temporary source pointer, also the logarithm input.

                                                Instances For
                                                  @[reducible, inline]

                                                  Temporary destination pointer, also the logarithm result.

                                                  Instances For
                                                    @[reducible, inline]

                                                    Temporary copy length.

                                                    Instances For

                                                      The logarithm and copy routines share an adapter-local temporary register bank.

                                                      Instances For

                                                        All seven registers of the real array-copy routine are relocated together.

                                                        Instances For

                                                          The complete callable product bank is disjoint from producer and adapter registers.

                                                          Instances For

                                                            Compute the record pointer and read every actual descriptor field.

                                                            Instances For

                                                              Recover the exact power-of-four exponent with the existing charged binary logarithm.

                                                              Instances For

                                                                Write the complete original local input header, including its length word.

                                                                Instances For

                                                                  Deliver real source and destination pointers for the left-matrix copy.

                                                                  Instances For

                                                                    The right block follows the left destination block.

                                                                    Instances For

                                                                      Preserve each query occurrence's two original raw coordinates, in its original order.

                                                                      Instances For

                                                                        Real copying, with every address calculation, load/store and loop instruction charged.

                                                                        Instances For

                                                                          Three actual copies; no catalogue or virtual-window snapshot is made.

                                                                          Instances For

                                                                            Runtime memory rebasing is provided by the callee; renaming moves only its registers.

                                                                            Instances For

                                                                              Runtime preparation prefix, useful for admitted decoder/copy tests without the full solver.

                                                                              Instances For

                                                                                One selected actual producer record, including all copying and the complete native callee.

                                                                                Instances For

                                                                                  One fixed finite native program, independent of dimensions, record ordinal and word width.