pub enum GcdRule {
Tolerant,
Exact,
}Expand description
Which line’s ∨ and ∧ these are.
GNU APL’s GCD reads three things loosely, all probed against it: a zero
argument hands its partner back with the sign (¯3∨0 is ¯3, though
¯3.5∨0 is 3.5 — only whole numbers keep it); an argument within
⎕CT of a whole number is that number (1.0000000000001∧5 is 5); and
one no larger than ⎕CT beside the other is zero (1E¯14∨1 is 1).
Dyalog does none of the three, and neither does J: ¯3∨0 is 3 there,
1E¯14∨1 is 1E¯14, and 1.0000000000001∧5 grinds out 1.0008E13.
Variants§
Tolerant
GNU APL: whole-number sign kept, near-whole and vanishing arguments rounded first.
Exact
Dyalog and J: the magnitude, and the values as they stand.
Trait Implementations§
impl Copy for GcdRule
impl Eq for GcdRule
impl StructuralPartialEq for GcdRule
Auto Trait Implementations§
impl Freeze for GcdRule
impl RefUnwindSafe for GcdRule
impl Send for GcdRule
impl Sync for GcdRule
impl Unpin for GcdRule
impl UnsafeUnpin for GcdRule
impl UnwindSafe for GcdRule
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more