typenum

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ยง

  • 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