pub enum RealZeroOneMinusOneStatus {
Zero,
One,
MinusOne,
NeitherOrUnknown,
}Expand description
Cheap exact classification for signed unit and zero values.
Matrix, vector, and predicate kernels frequently branch on 0, 1, and
-1 to select sparse, identity, or signed-permutation schedules. Keeping
the combined query in hyperreal lets higher crates consume one structural
fact without duplicating scalar representation checks. This is the
scalar-layer counterpart to Yap’s recommendation that exact geometric
computation preserve inexpensive object facts before expanding arithmetic;
see Yap, “Towards Exact Geometric Computation,” Computational Geometry
7.1-2 (1997).
Variants§
Zero
The value is structurally known to be exactly zero.
One
The value is structurally known to be exactly one.
MinusOne
The value is structurally known to be exactly minus one.
NeitherOrUnknown
The value is neither known zero nor a signed unit, or cannot be decided without refinement.
Trait Implementations§
Source§impl Clone for ZeroOneMinusOneStatus
impl Clone for ZeroOneMinusOneStatus
Source§fn clone(&self) -> ZeroOneMinusOneStatus
fn clone(&self) -> ZeroOneMinusOneStatus
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ZeroOneMinusOneStatus
impl Debug for ZeroOneMinusOneStatus
Source§impl PartialEq for ZeroOneMinusOneStatus
impl PartialEq for ZeroOneMinusOneStatus
Source§fn eq(&self, other: &ZeroOneMinusOneStatus) -> bool
fn eq(&self, other: &ZeroOneMinusOneStatus) -> bool
self and other values to be equal, and is used by ==.