20template<fl::i64 Num, fl::i64 Denom = 1>
33template<
typename R1,
typename R2>
44template<
typename R1,
typename R2>
ratio< 1000000000, 1 > giga
1,000,000,000/1
ratio< 1000000, 1 > mega
1,000,000/1
ratio< 1, 1000000000 > nano
1/1,000,000,000
ratio< 1000, 1 > kilo
1,000/1
ratio< 1, 1000000 > micro
1/1,000,000
ratio< 1, 1000 > milli
1/1,000
ratio< R1::num *R2::den, R1::den *R2::num > ratio_divide
Divide two ratios at compile time.
ratio< R1::num *R2::num, R1::den *R2::den > ratio_multiply
Multiply two ratios at compile time.
ratio< 100, 1 > hecto
100/1
ratio< 1, 100 > centi
1/100
Base definition for an LED controller.
Portable compile-time assertion wrapper.
FL_STATIC_ASSERT(Denom !=0, "ratio denominator cannot be zero")
static constexpr fl::i64 den
static constexpr fl::i64 num
Compile-time rational arithmetic.