TorchLean API

FloatLib.Floats.Formats.BinaryInterchange.Complex.NumericalSystem

Executable complex values as numerical systems #

A complex code denotes a value in when both scalar components are finite. Its denotation is undefined if either component is NaN or infinite.

Complex semantics over an arbitrary component format.

Instances For
    @[reducible, inline]

    An executable complex value with an erased proof of its complete denotation.

    Instances For
      @[reducible, inline]

      An executable complex value with an erased proof of its finite complex value.

      Instances For

        Finite executable components denote their assembled mathematical complex value.

        @[simp]

        A complex code represents a value exactly when both components are finite and decode to it.

        Componentwise sign negation refines exact complex negation.

        Complex addition refines its explicit componentwise rounded semantics.

        Complex subtraction refines its explicit componentwise rounded semantics.

        Complex multiplication refines all six scalar rounding sites in roundedMul.

        Ratio division refines its selected rounded expression under all scalar domain obligations.

        Squared magnitude refines a real-valued rounded expression in the scalar numerical system.

        Scaled magnitude refines its real-valued expression, retaining the scalar domain conditions.

        Decode squared magnitude directly when the complex input represents a specified value.

        Decode magnitude directly when the complex input represents a specified value.