Expand description
Arithmetic building blocks for exact geometric predicates.
This is the no_std, dependency-free core of the implicit-predicates
crates. Most users should depend on implicit-predicates instead.
Currently it provides:
Sign, the result type of every predicate;eft, error-free transformations: floating-point sums and products together with their exact rounding errors;expansion, exact values represented as sums off64components, with exact addition, subtraction, scaling and sign;scratch,Scratch, a bump arena over a borrowed buffer that holds the expansions of a computation and runs those operations on them, as well as the exact product of two expansions.
The optional alloc feature adds an owned arena that grows on the heap,
Scratch::growable, so the exact arithmetic can always complete. Without
it nothing allocates.
Status: early development. The API is incomplete and may change.
Re-exports§
pub use scratch::Mark;pub use scratch::Scratch;pub use scratch::ScratchExhausted;pub use scratch::Span;
Modules§
- eft
- Error-free transformations: floating-point sums and products together with their exact rounding errors.
- expansion
- Floating-point expansions: exact values represented as sums of
f64components. - scratch
- A bump arena for expansion arithmetic.
Enums§
- Sign
- The sign of a real quantity.