This project follows semantic versioning.
The MSRV (Minimum Supported Rust Version) is 1.37.0, and typenum is tested against this Rust version.
scale_info
for using inside Substrate-based runtimes (PR #175)op
macro with 2018 edition import.assert_type_eq
and assert_type
at top level.Zero
for Z0
, U0
, and B0
.Pow
trait for f32 and f64 with negative exponent.ToInt
.force_unix_path_separator
to support building without Cargo.Gcd
with alias Gcf
.gcd
to the op!
macro.Copy
bound to Rhs
of Mul<Rhs>
impl for <TArr<V, A>
.Copy
bound to Rhs
of Div<Rhs>
impl for <TArr<V, A>
.Copy
bound to Rhs
of PartialDiv<Rhs>
impl for <TArr<V, A>
.Copy
bound to Rhs
of Rem<Rhs>
impl for <TArr<V, A>
.log2
to the op!
macro.Logarithm2
with alias Log2
.feature(i128_type)
when running with the i128
feature. Kept the feature flag. for typenum to maintain compatibility with old Rust versions.sqrt
to the op!
macro.SquareRoot
with alias Sqrt
.PowerOfTwo
marker trait.Bit
, Unsigned
, and Integer
.Abs
type operater and corresponding AbsVal
alias.i128
that enables creating 128-bit integers from typenums.assert_type!
and assert_type_eq!
macros.op!
macro, including those performed by cmp!
.op!
macro involving functions and convoluted expressions.cmp!
macro.op!
macro for conveniently performing type-level operations.cmp!
macro for conveniently performing type-level comparisons.cmp!
macro.Min
and Max
with accompanying aliases Minimum
and Maximum
Array
division.Rem
would sometimes exit early with the wrong answer.PartialDiv
operator that performs division as a partial function -- it's defined only when there is no remainder.Div
implementation and type system.Pow
for primitives.Pow
and Len
traits. This is technically a breaking change, but it would only break someone's code if they have a custom impl for Pow
. I would be very surprised if that is anyone other than me.