Source math.rs portable bit operations and digit-by-digit square root. IEEE encodings/rational rounding use the existing exact FloatBits engine.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Source software square root: zero/NaN signs are preserved before the wrapper's separate NaN adjustment; finite values run the actual bit-by-bit loop.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Miri.Interpreter.Math.isZero value = do let __do_lift ← value.decode pure (match __do_lift.value with | Miri.Interpreter.FloatClass.finite n denominator => n == 0 | x => false)
Instances For
Equations
- Miri.Interpreter.Math.isInfinite value = do let __do_lift ← value.decode pure (match __do_lift.value with | Miri.Interpreter.FloatClass.infinite => true | x => false)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Miri.Interpreter.Math.negative value = do let __do_lift ← value.decode pure __do_lift.negative
Instances For
IEEE nextUp, including source signaling-NaN default result.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Miri.Interpreter.Math.nextDown value = do let negated ← value.negate let __do_lift ← Miri.Interpreter.Math.nextUp negated __do_lift.negate
Instances For
Source rustc_apfloat maximum/minimum preserve the selected NaN payload, with -0 less than +0. NaN nondeterminism belongs to the outer machine wrapper.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Source uses these exact core float PI bit patterns, not a real-number π.
Equations
- Miri.Interpreter.Math.pi Miri.Interpreter.FloatFormat.binary16 = pure { format := Miri.Interpreter.FloatFormat.binary16, bits := 16968 }
- Miri.Interpreter.Math.pi Miri.Interpreter.FloatFormat.binary32 = pure { format := Miri.Interpreter.FloatFormat.binary32, bits := 1078530011 }
- Miri.Interpreter.Math.pi Miri.Interpreter.FloatFormat.binary64 = pure { format := Miri.Interpreter.FloatFormat.binary64, bits := 4614256656552045848 }
- Miri.Interpreter.Math.pi Miri.Interpreter.FloatFormat.binary128 = throw (Miri.Interpreter.StepError.unsupported "source host math f128 is unimplemented")
Instances For
Equations
- One or more equations did not get rendered due to their size.