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>::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