Unnormalized dyadic numbers #
⟨m, e⟩ : QI is m / 2^e. Operations never normalize: addition aligns exponents by a
multiplication with 2^d (computed with Nat.pow, which the kernel evaluates with GMP), and
comparison cross-multiplies. Every operation is a handful of Int/Nat primitives, which keeps
decide +kernel evaluation cheap (core Dyadic normalizes with a well-founded loop).
@[instance_reducible]
Equations
- Cayley.instInhabitedQI = { default := Cayley.instInhabitedQI.default }
@[instance_reducible]
Equations
- Cayley.QI.instAdd = { add := Cayley.QI.add }
@[instance_reducible]
Equations
- Cayley.QI.instMul = { mul := Cayley.QI.mul }
@[instance_reducible]
Equations
- Cayley.QI.instNeg = { neg := Cayley.QI.neg }
@[instance_reducible]
Equations
- Cayley.QI.instSub = { sub := Cayley.QI.sub }
a ≤ b by cross-multiplication.
Instances For
Instances For
@[instance_reducible]
Equations
- Cayley.QI.instLE = { le := Cayley.QI.le }
@[instance_reducible]
Equations
- Cayley.QI.instLT = { lt := Cayley.QI.lt }
@[instance_reducible]
Equations
@[instance_reducible]