Skip to main content

Module point

Module point 

Source
Expand description

The contract every point type implements, explicit or implicit.

A predicate reads a point twice. Its fast path, the floating-point filter, uses Point::approx, an approximation of the coordinates, and Point::err, a bound on the error of each one. Only when the filter cannot decide does it ask for Point::exact, the coordinates as expansions in a Scratch arena, in homogeneous form.

[f64; 3] implements the contract as an explicit point: its components are its exact coordinates, with no error.

Structs§

ExactCoords
The exact coordinates of a point, in homogeneous form: the point is (x / w, y / w, z / w). The spans belong to the arena given to Point::exact, and each holds a valid expansion (see expansion); the predicates that read them do not check it.

Enums§

ExactError
The error of Point::exact.
Weight
The common denominator of the exact coordinates of a point.

Traits§

Point
A point in three dimensions, as the predicates read it.