sigma_types

Type Alias Finite

Source
pub type Finite<Input> = Sigma<Input, FiniteInvariant<Input>>;
Expand description

Finite terms (e.g. for floating points, not NaN, infinite, etc.).

Aliased Type§

struct Finite<Input> { /* private fields */ }

Trait Implementations§

Source§

impl<'rhs, L: CanBeInfinite + Debug + Add<&'rhs R, Output: CanBeInfinite + Debug>, R: CanBeInfinite + Debug> Add<&'rhs Sigma<R, FiniteInvariant<R>>> for Finite<L>

Source§

type Output = Sigma<<L as Add<&'rhs R>>::Output, FiniteInvariant<<L as Add<&'rhs R>>::Output>>

The resulting type after applying the + operator.
Source§

fn add(self, rhs: &'rhs Finite<R>) -> Self::Output

Performs the + operation. Read more
Source§

impl<L: CanBeInfinite + Debug + Add<R, Output: CanBeInfinite + Debug>, R: CanBeInfinite + Debug> Add<Sigma<R, FiniteInvariant<R>>> for Finite<L>

Source§

type Output = Sigma<<L as Add<R>>::Output, FiniteInvariant<<L as Add<R>>::Output>>

The resulting type after applying the + operator.
Source§

fn add(self, rhs: Finite<R>) -> Self::Output

Performs the + operation. Read more
Source§

impl<'rhs, L: CanBeInfinite + Debug + AddAssign<&'rhs R>, R: CanBeInfinite + Debug> AddAssign<&'rhs Sigma<R, FiniteInvariant<R>>> for Finite<L>

Source§

fn add_assign(&mut self, rhs: &'rhs Finite<R>)

Performs the += operation. Read more
Source§

impl<L: CanBeInfinite + Debug + AddAssign<R>, R: CanBeInfinite + Debug> AddAssign<Sigma<R, FiniteInvariant<R>>> for Finite<L>

Source§

fn add_assign(&mut self, rhs: Finite<R>)

Performs the += operation. Read more
Source§

impl<'rhs, L: CanBeInfinite + Debug + Div<&'rhs R, Output: CanBeInfinite + Debug>, R: CanBeInfinite + Debug> Div<&'rhs Sigma<R, FiniteInvariant<R>>> for Finite<L>

Source§

type Output = Sigma<<L as Div<&'rhs R>>::Output, FiniteInvariant<<L as Div<&'rhs R>>::Output>>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: &'rhs Finite<R>) -> Self::Output

Performs the / operation. Read more
Source§

impl<L: CanBeInfinite + Debug + Div<R, Output: CanBeInfinite + Debug>, R: CanBeInfinite + Debug> Div<Sigma<R, FiniteInvariant<R>>> for Finite<L>

Source§

type Output = Sigma<<L as Div<R>>::Output, FiniteInvariant<<L as Div<R>>::Output>>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: Finite<R>) -> Self::Output

Performs the / operation. Read more
Source§

impl<'rhs, L: CanBeInfinite + Debug + DivAssign<&'rhs R>, R: CanBeInfinite + Debug> DivAssign<&'rhs Sigma<R, FiniteInvariant<R>>> for Finite<L>

Source§

fn div_assign(&mut self, rhs: &'rhs Finite<R>)

Performs the /= operation. Read more
Source§

impl<L: CanBeInfinite + Debug + DivAssign<R>, R: CanBeInfinite + Debug> DivAssign<Sigma<R, FiniteInvariant<R>>> for Finite<L>

Source§

fn div_assign(&mut self, rhs: Finite<R>)

Performs the /= operation. Read more
Source§

impl<'rhs, L: CanBeInfinite + Debug + Mul<&'rhs R, Output: CanBeInfinite + Debug>, R: CanBeInfinite + Debug> Mul<&'rhs Sigma<R, FiniteInvariant<R>>> for Finite<L>

Source§

type Output = Sigma<<L as Mul<&'rhs R>>::Output, FiniteInvariant<<L as Mul<&'rhs R>>::Output>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: &'rhs Finite<R>) -> Self::Output

Performs the * operation. Read more
Source§

impl<L: CanBeInfinite + Debug + Mul<R, Output: CanBeInfinite + Debug>, R: CanBeInfinite + Debug> Mul<Sigma<R, FiniteInvariant<R>>> for Finite<L>

Source§

type Output = Sigma<<L as Mul<R>>::Output, FiniteInvariant<<L as Mul<R>>::Output>>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Finite<R>) -> Self::Output

Performs the * operation. Read more
Source§

impl<'rhs, L: CanBeInfinite + Debug + MulAssign<&'rhs R>, R: CanBeInfinite + Debug> MulAssign<&'rhs Sigma<R, FiniteInvariant<R>>> for Finite<L>

Source§

fn mul_assign(&mut self, rhs: &'rhs Finite<R>)

Performs the *= operation. Read more
Source§

impl<L: CanBeInfinite + Debug + MulAssign<R>, R: CanBeInfinite + Debug> MulAssign<Sigma<R, FiniteInvariant<R>>> for Finite<L>

Source§

fn mul_assign(&mut self, rhs: Finite<R>)

Performs the *= operation. Read more
Source§

impl<L: CanBeInfinite + Debug + Neg<Output: CanBeInfinite + Debug>> Neg for Finite<L>

Source§

type Output = Sigma<<L as Neg>::Output, FiniteInvariant<<L as Neg>::Output>>

The resulting type after applying the - operator.
Source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
Source§

impl<Z: CanBeInfinite + One + Debug> One for Finite<Z>

Source§

const ONE: Self

Additive identity (i.e., one).
Source§

impl<'rhs, L: CanBeInfinite + Debug + Sub<&'rhs R, Output: CanBeInfinite + Debug>, R: CanBeInfinite + Debug> Sub<&'rhs Sigma<R, FiniteInvariant<R>>> for Finite<L>

Source§

type Output = Sigma<<L as Sub<&'rhs R>>::Output, FiniteInvariant<<L as Sub<&'rhs R>>::Output>>

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: &'rhs Finite<R>) -> Self::Output

Performs the - operation. Read more
Source§

impl<L: CanBeInfinite + Debug + Sub<R, Output: CanBeInfinite + Debug>, R: CanBeInfinite + Debug> Sub<Sigma<R, FiniteInvariant<R>>> for Finite<L>

Source§

type Output = Sigma<<L as Sub<R>>::Output, FiniteInvariant<<L as Sub<R>>::Output>>

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: Finite<R>) -> Self::Output

Performs the - operation. Read more
Source§

impl<'rhs, L: CanBeInfinite + Debug + SubAssign<&'rhs R>, R: CanBeInfinite + Debug> SubAssign<&'rhs Sigma<R, FiniteInvariant<R>>> for Finite<L>

Source§

fn sub_assign(&mut self, rhs: &'rhs Finite<R>)

Performs the -= operation. Read more
Source§

impl<L: CanBeInfinite + Debug + SubAssign<R>, R: CanBeInfinite + Debug> SubAssign<Sigma<R, FiniteInvariant<R>>> for Finite<L>

Source§

fn sub_assign(&mut self, rhs: Finite<R>)

Performs the -= operation. Read more
Source§

impl<Z: CanBeInfinite + Zero + Debug> Zero for Finite<Z>

Source§

const ZERO: Self

Additive identity (i.e., zero).