TorchLean API

FloatLib.Floats.ExecFloat.Dispatch

Static dispatch for public ExecFloat operations #

These are the same-format arithmetic entry points of the format-independent execution layer. Capability dictionaries are resolved from the static format type. Each function is marked inline; the checks under benchmarks/scripts/checks/ verify that specialization erases the dictionary lookup.

@[inline]

Add two values in the same format using the certified implementation selected for F.

This is the function behind left + right. Proofs can use ExecFloat.Proof.add_eq_spec to replace the call with its reference definition.

Instances For
    @[inline]

    Subtract two values in the same format using the certified implementation selected for F.

    This is the function behind left - right. Proofs can use ExecFloat.Proof.sub_eq_spec to replace the call with its reference definition.

    Instances For
      @[inline]

      Multiply two values in the same format using the certified implementation selected for F.

      This is the function behind left * right. Proofs can use ExecFloat.Proof.mul_eq_spec to replace the call with its reference definition.

      Instances For
        @[inline]

        Divide two values in the same format using the certified implementation selected for F.

        This is the function behind left / right. Proofs can use ExecFloat.Proof.div_eq_spec to replace the call with its reference definition.

        Instances For
          @[inline]

          Compute square root using the certified implementation selected for F.

          This is the function behind value.sqrt. Proofs can use ExecFloat.Proof.sqrt_eq_spec to replace the call with its reference definition.

          Instances For
            @[inline]

            Compute left * right + addend with one final rounding using the certified implementation selected for F.

            Proofs can use ExecFloat.Proof.fma_eq_spec to replace the call with its reference definition.

            Instances For