TorchLean API

FloatLib.Floats.ExecFloat.Dispatch

Static dispatch for public ExecFloat operations #

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, and 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. In proofs, ExecFloat.Proof.add_eq_spec rewrites it to the 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. In proofs, ExecFloat.Proof.sub_eq_spec rewrites it to the 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. In proofs, ExecFloat.Proof.mul_eq_spec rewrites it to the 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. In proofs, ExecFloat.Proof.div_eq_spec rewrites it to the reference definition.

        Instances For
          @[inline]

          Compute square root using the certified implementation selected for F.

          Write ExecFloat.sqrt value, or value.sqrt for a format without its own sqrt. On a configured binary value, value.sqrt is ExecFloat.Binary.sqrt, whose default call is this function. In proofs, ExecFloat.Proof.sqrt_eq_spec rewrites it to the reference definition.

          Instances For
            @[inline]

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

            In proofs, ExecFloat.Proof.fma_eq_spec rewrites it to the reference definition.

            Instances For