Module operator_aliases

Source
Expand description

Aliases for the type operators used in this crate. Their purpose is to increase the ergonomics of performing operations on the types defined here. For even more ergonomics, consider using the op! macro instead.

For example, type X and type Y are the same here:

use std::ops::Mul;
use typenum::{Prod, P5, P7};

type X = <P7 as Mul<P5>>::Output;
type Y = Prod<P7, P5>;

assert_type_eq!(X, Y);

Type Aliasesยง

AbsVal
Alias for the associated type of Abs: AbsVal<A> = <A as Abs>::Output
Add1
Alias to make it easy to add 1: Add1<A> = <A as Add<B1>>::Output
And
Alias for the associated type of BitAnd: And<A, B> = <A as BitAnd<B>>::Output
Compare
Alias for the associated type of Cmp: Compare<A, B> = <A as Cmp<B>>::Output
Cube
Alias to make it easy to cube. Cube<A> = <Square<A> as Mul<A>>::Output
Diff
Alias for the associated type of Sub: Diff<A, B> = <A as Sub<B>>::Output
Double
Alias to make it easy to multiply by 2. Double<A> = Shleft<A, B1>
Eq
Alias for the associated type of IsEqual: Eq<A, B> = <A as IsEqual<B>>::Output
Exp
Alias for the associated type of Pow: Exp<A, B> = <A as Pow<B>>::Output
Gcf
Alias for the associated type of Gcd: Gcf<A, B> = <A as Gcd<B>>::Output>
Gr
Alias for the associated type of IsGreater: Gr<A, B> = <A as IsGreater<B>>::Output
GrEq
Alias for the associated type of IsGreaterOrEqual: GrEq<A, B> = <A as IsGreaterOrEqual<B>>::Output
Le
Alias for the associated type of IsLess: Le<A, B> = <A as IsLess<B>>::Output
LeEq
Alias for the associated type of IsLessOrEqual: LeEq<A, B> = <A as IsLessOrEqual<B>>::Output
Length
Alias for the associated type of Len: Length<A> = <A as Len>::Output
Log2
Alias for the associated type of Logarithm2: Log2<A> = <A as Logarithm2>::Output
Maximum
Alias for the associated type of Max: Maximum<A, B> = <A as Max<B>>::Output
Minimum
Alias for the associated type of Min: Minimum<A, B> = <A as Min<B>>::Output
Mod
Alias for the associated type of Rem: Mod<A, B> = <A as Rem<B>>::Output
Negate
Alias for the associated type of Neg: Negate<A> = <A as Neg>::Output
NotEq
Alias for the associated type of IsNotEqual: NotEq<A, B> = <A as IsNotEqual<B>>::Output
Or
Alias for the associated type of BitOr: Or<A, B> = <A as BitOr<B>>::Output
PartialQuot
Alias for the associated type of PartialDiv: PartialQuot<A, B> = <A as PartialDiv<B>>::Output
Prod
Alias for the associated type of Mul: Prod<A, B> = <A as Mul<B>>::Output
Quot
Alias for the associated type of Div: Quot<A, B> = <A as Div<B>>::Output
Shleft
Alias for the associated type of Shl: Shleft<A, B> = <A as Shl<B>>::Output
Shright
Alias for the associated type of Shr: Shright<A, B> = <A as Shr<B>>::Output
Sqrt
Alias for the associated type of SquareRoot: Sqrt<A> = <A as SquareRoot>::Output
Square
Alias to make it easy to square. Square<A> = <A as Mul<A>>::Output
Sub1
Alias to make it easy to subtract 1: Sub1<A> = <A as Sub<B1>>::Output
Sum
Alias for the associated type of Add: Sum<A, B> = <A as Add<B>>::Output
Xor
Alias for the associated type of BitXor: Xor<A, B> = <A as BitXor<B>>::Output