Correctness of configured exact logarithmic operations #
Wrapping is an equivalence with the complete code, zero denotes real zero, and multiplication agrees exactly with multiplication of decoded real values.
@[simp]
theorem
FloatLib.Floats.ExecFloat.Logarithmic.toCode_ofCode
{radix : Numerics.Radix}
(code : Formats.Logarithmic.Code radix)
:
Unwrapping a freshly wrapped logarithmic code returns the original code.
@[simp]
theorem
FloatLib.Floats.ExecFloat.Logarithmic.ofCode_toCode
{radix : Numerics.Radix}
(value : Logarithmic radix)
:
Rewrapping the code of a logarithmic value returns the original value.
@[simp]
The distinguished logarithmic zero code denotes real zero.
@[simp]
theorem
FloatLib.Floats.ExecFloat.Logarithmic.toReal_mul
{radix : Numerics.Radix}
(left right : Logarithmic radix)
:
Logarithmic multiplication agrees exactly with multiplication of decoded real values.