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