Skip to main content

Module ball

Module ball 

Source
Expand description

The Archimedean (infinite) place, made into a type.

A Ball is a rigorous rational enclosure [lo, hi] of a real number — never a point estimate. Every ordering / sign / magnitude decision in the tower goes through Ball, because the p-adic (finite) channels are constitutionally blind to size: they measure divisibility, not magnitude.

When Ball::sign or Ball::cmp returns None the enclosure straddles the boundary and the caller is obligated to refine (bisect an algebraic interval, or pull more digits from a computable real) and retry. This is the only honest way to decide the sign of an exact real, and it replaces every place the old code silently reconstructed through BigInt.

The lo/hi rationals stay small: they are low-precision enclosures whose BigInt content is bounded by the requested precision, not by the basis modulus M.

Structs§

Ball
A rigorous rational enclosure of a real number.

Functions§

rat
Build a rational from an i64 ratio.
rational_to_f64
Convert a (small) rational to f64 via bit-shift scaling so neither endpoint overflows during the division.

Type Aliases§

Rational
Exact rational type used for Ball endpoints.