Expand description
Certified geometric predicates: the shared exact-arithmetic substrate.
A predicate answers a sign question, and a sign drives topology, so a plausible answer is not good enough. Every public predicate here escalates to exact arithmetic rather than comparing against a global epsilon.
This package is deliberately narrow. It carries no curve, surface, mesh,
B-rep, provider, or execution dependency, so a consumer that needs only
certified signs — linear intersection, polygon orientation, NURBS root
isolation, topology classification — pays for arithmetic and nothing else.
That includes big integers: the exact tier here is expansion arithmetic
(plus a fixed-size dyadic fallback for orient3d), and exact
constructions over big integers live in axiolid-exact instead. The
broad axiolid-reference oracle re-exports these items unchanged
(ADR 0036).
A *_filter function may return Certified::Uncertain; a public
predicate never does.
Re-exports§
pub use expansion::two_diff;pub use expansion::two_product;pub use expansion::two_sum;pub use orient3::orient3d;pub use orient3::orient3d_filter;pub use orientation::orient2d;pub use orientation::orient2d_filter;pub use sphere::incircle;pub use sphere::incircle_filter;pub use sphere::insphere;pub use sphere::insphere_filter;pub use static_filter::StaticFilter;
Modules§
- arithmetic
- Arbitrary-length expansion arithmetic.
- expansion
- Error-free transformations: the arithmetic exact predicates are built from.
- orient3
orient3d: which side of a plane a point lies on.- orientation
- Certified orientation predicates.
- scene
- Degeneracy-controlled scene generation for benchmarking and testing.
- sphere
incircleandinsphere: is a point inside a circumscribed ball?- static_
filter - Static filters: bounds computed once from a coordinate range.