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