Exact logarithmic representation and execution #
A code is zero or a sign with an unbounded integer exponent at a fixed radix. This module keeps that representation, its executable rational decoder, and multiplication together. Multiplication handles zero, xors the signs, and adds the exponents; it introduces no rounding or overflow.
Exact.Proof supplies the real numerical system, erased proof views, and theorems connecting the
rational decoder and multiplication kernel to their real semantics.
Exact logarithmic code at radix radix.
- zero {radix : Numerics.Radix} : Code radix
- value {radix : Numerics.Radix} (negative : Bool) (exponent : ℤ) : Code radix
Instances For
@[instance_reducible]
instance
FloatLib.Floats.Formats.Logarithmic.instDecidableEqCode
{radix✝ : Numerics.Radix}
:
DecidableEq (Code radix✝)
def
FloatLib.Floats.Formats.Logarithmic.instDecidableEqCode.decEq
{radix✝ : Numerics.Radix}
(x✝ x✝¹ : Code radix✝)
:
Instances For
def
FloatLib.Floats.Formats.Logarithmic.instReprCode.repr
{radix✝ : Numerics.Radix}
:
Code radix✝ → ℕ → Std.Format
Instances For
@[instance_reducible]
Executable operations #
Exact rational value of a logarithmic code.
Instances For
Exact logarithmic multiplication.