Skip to main content

Crate axiolid_predicates

Crate axiolid_predicates 

Source
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
incircle and insphere: is a point inside a circumscribed ball?
static_filter
Static filters: bounds computed once from a coordinate range.