Trait typerat::Numerator

source ·
pub trait Numerator<D = P1>: Integer + Gcd<D, Output = P1> { }
Expand description

Type-level integers usable as numerators of type-level rational numbers with denominator D.

§Examples

use typerat::*;

fn is_numerator_for_denominator_2<N: Numerator<P2>>() -> bool {
    true
}

assert!(is_numerator_for_denominator_2::<P1>());
assert!(is_numerator_for_denominator_2::<N1>());
assert!(is_numerator_for_denominator_2::<P3>());
assert!(is_numerator_for_denominator_2::<N3>());
assert!(is_numerator_for_denominator_2::<P2>());
assert!(is_numerator_for_denominator_2::<N2>());
assert!(is_numerator_for_denominator_2::<P4>());

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<N, D> Numerator<D> for N
where N: Integer + Gcd<D, Output = P1>, D: Denominator,