Coverage Report

Created: 2026-05-16 06:32

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/rust/registry/src/index.crates.io-1949cf8c6b5b557f/crypto-bigint-0.5.5/src/uint/array.rs
Line
Count
Source
1
//! `generic-array` integration with `Uint`.
2
// TODO(tarcieri): completely phase out `generic-array` when const generics are powerful enough
3
4
use crate::{ArrayDecoding, ArrayEncoding, ByteArray};
5
use generic_array::{typenum, GenericArray};
6
7
macro_rules! impl_uint_array_encoding {
8
    ($(($uint:ident, $bytes:path)),+) => {
9
        $(
10
            impl ArrayEncoding for super::$uint {
11
                type ByteSize = $bytes;
12
13
                #[inline]
14
60.7k
                fn from_be_byte_array(bytes: ByteArray<Self>) -> Self {
15
60.7k
                    Self::from_be_slice(&bytes)
16
60.7k
                }
<crypto_bigint::uint::Uint<4> as crypto_bigint::array::ArrayEncoding>::from_be_byte_array
Line
Count
Source
14
60.7k
                fn from_be_byte_array(bytes: ByteArray<Self>) -> Self {
15
60.7k
                    Self::from_be_slice(&bytes)
16
60.7k
                }
Unexecuted instantiation: <crypto_bigint::uint::Uint<1> as crypto_bigint::array::ArrayEncoding>::from_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<2> as crypto_bigint::array::ArrayEncoding>::from_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<3> as crypto_bigint::array::ArrayEncoding>::from_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<4> as crypto_bigint::array::ArrayEncoding>::from_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<6> as crypto_bigint::array::ArrayEncoding>::from_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<7> as crypto_bigint::array::ArrayEncoding>::from_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<128> as crypto_bigint::array::ArrayEncoding>::from_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<8> as crypto_bigint::array::ArrayEncoding>::from_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<9> as crypto_bigint::array::ArrayEncoding>::from_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<12> as crypto_bigint::array::ArrayEncoding>::from_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<13> as crypto_bigint::array::ArrayEncoding>::from_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<14> as crypto_bigint::array::ArrayEncoding>::from_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<16> as crypto_bigint::array::ArrayEncoding>::from_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<24> as crypto_bigint::array::ArrayEncoding>::from_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<28> as crypto_bigint::array::ArrayEncoding>::from_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<32> as crypto_bigint::array::ArrayEncoding>::from_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<48> as crypto_bigint::array::ArrayEncoding>::from_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<56> as crypto_bigint::array::ArrayEncoding>::from_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<64> as crypto_bigint::array::ArrayEncoding>::from_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<96> as crypto_bigint::array::ArrayEncoding>::from_be_byte_array
17
18
                #[inline]
19
0
                fn from_le_byte_array(bytes: ByteArray<Self>) -> Self {
20
0
                    Self::from_le_slice(&bytes)
21
0
                }
Unexecuted instantiation: <crypto_bigint::uint::Uint<1> as crypto_bigint::array::ArrayEncoding>::from_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<2> as crypto_bigint::array::ArrayEncoding>::from_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<3> as crypto_bigint::array::ArrayEncoding>::from_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<4> as crypto_bigint::array::ArrayEncoding>::from_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<6> as crypto_bigint::array::ArrayEncoding>::from_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<7> as crypto_bigint::array::ArrayEncoding>::from_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<128> as crypto_bigint::array::ArrayEncoding>::from_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<8> as crypto_bigint::array::ArrayEncoding>::from_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<9> as crypto_bigint::array::ArrayEncoding>::from_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<12> as crypto_bigint::array::ArrayEncoding>::from_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<13> as crypto_bigint::array::ArrayEncoding>::from_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<14> as crypto_bigint::array::ArrayEncoding>::from_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<16> as crypto_bigint::array::ArrayEncoding>::from_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<24> as crypto_bigint::array::ArrayEncoding>::from_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<28> as crypto_bigint::array::ArrayEncoding>::from_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<32> as crypto_bigint::array::ArrayEncoding>::from_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<48> as crypto_bigint::array::ArrayEncoding>::from_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<56> as crypto_bigint::array::ArrayEncoding>::from_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<64> as crypto_bigint::array::ArrayEncoding>::from_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<96> as crypto_bigint::array::ArrayEncoding>::from_le_byte_array
22
23
                #[inline]
24
44.9k
                fn to_be_byte_array(&self) -> ByteArray<Self> {
25
44.9k
                    let mut result = GenericArray::default();
26
44.9k
                    self.write_be_bytes(&mut result);
27
44.9k
                    result
28
44.9k
                }
<crypto_bigint::uint::Uint<4> as crypto_bigint::array::ArrayEncoding>::to_be_byte_array
Line
Count
Source
24
44.9k
                fn to_be_byte_array(&self) -> ByteArray<Self> {
25
44.9k
                    let mut result = GenericArray::default();
26
44.9k
                    self.write_be_bytes(&mut result);
27
44.9k
                    result
28
44.9k
                }
Unexecuted instantiation: <crypto_bigint::uint::Uint<1> as crypto_bigint::array::ArrayEncoding>::to_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<2> as crypto_bigint::array::ArrayEncoding>::to_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<3> as crypto_bigint::array::ArrayEncoding>::to_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<4> as crypto_bigint::array::ArrayEncoding>::to_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<6> as crypto_bigint::array::ArrayEncoding>::to_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<7> as crypto_bigint::array::ArrayEncoding>::to_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<128> as crypto_bigint::array::ArrayEncoding>::to_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<8> as crypto_bigint::array::ArrayEncoding>::to_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<9> as crypto_bigint::array::ArrayEncoding>::to_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<12> as crypto_bigint::array::ArrayEncoding>::to_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<13> as crypto_bigint::array::ArrayEncoding>::to_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<14> as crypto_bigint::array::ArrayEncoding>::to_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<16> as crypto_bigint::array::ArrayEncoding>::to_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<24> as crypto_bigint::array::ArrayEncoding>::to_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<28> as crypto_bigint::array::ArrayEncoding>::to_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<32> as crypto_bigint::array::ArrayEncoding>::to_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<48> as crypto_bigint::array::ArrayEncoding>::to_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<56> as crypto_bigint::array::ArrayEncoding>::to_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<64> as crypto_bigint::array::ArrayEncoding>::to_be_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<96> as crypto_bigint::array::ArrayEncoding>::to_be_byte_array
29
30
                #[inline]
31
9.04k
                fn to_le_byte_array(&self) -> ByteArray<Self> {
32
9.04k
                    let mut result = GenericArray::default();
33
9.04k
                    self.write_le_bytes(&mut result);
34
9.04k
                    result
35
9.04k
                }
<crypto_bigint::uint::Uint<4> as crypto_bigint::array::ArrayEncoding>::to_le_byte_array
Line
Count
Source
31
9.04k
                fn to_le_byte_array(&self) -> ByteArray<Self> {
32
9.04k
                    let mut result = GenericArray::default();
33
9.04k
                    self.write_le_bytes(&mut result);
34
9.04k
                    result
35
9.04k
                }
Unexecuted instantiation: <crypto_bigint::uint::Uint<1> as crypto_bigint::array::ArrayEncoding>::to_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<2> as crypto_bigint::array::ArrayEncoding>::to_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<3> as crypto_bigint::array::ArrayEncoding>::to_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<4> as crypto_bigint::array::ArrayEncoding>::to_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<6> as crypto_bigint::array::ArrayEncoding>::to_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<7> as crypto_bigint::array::ArrayEncoding>::to_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<128> as crypto_bigint::array::ArrayEncoding>::to_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<8> as crypto_bigint::array::ArrayEncoding>::to_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<9> as crypto_bigint::array::ArrayEncoding>::to_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<12> as crypto_bigint::array::ArrayEncoding>::to_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<13> as crypto_bigint::array::ArrayEncoding>::to_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<14> as crypto_bigint::array::ArrayEncoding>::to_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<16> as crypto_bigint::array::ArrayEncoding>::to_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<24> as crypto_bigint::array::ArrayEncoding>::to_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<28> as crypto_bigint::array::ArrayEncoding>::to_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<32> as crypto_bigint::array::ArrayEncoding>::to_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<48> as crypto_bigint::array::ArrayEncoding>::to_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<56> as crypto_bigint::array::ArrayEncoding>::to_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<64> as crypto_bigint::array::ArrayEncoding>::to_le_byte_array
Unexecuted instantiation: <crypto_bigint::uint::Uint<96> as crypto_bigint::array::ArrayEncoding>::to_le_byte_array
36
            }
37
38
            impl ArrayDecoding for GenericArray<u8, $bytes> {
39
                type Output = super::$uint;
40
41
0
                fn into_uint_be(self) -> Self::Output {
42
0
                    Self::Output::from_be_byte_array(self)
43
0
                }
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_be
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_be
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_be
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_be
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B1>, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_be
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_be
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_be
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_be
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_be
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_be
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_be
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B1>, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_be
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_be
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_be
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B1>, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_be
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_be
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_be
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B1>, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_be
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_be
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_be
44
45
0
                fn into_uint_le(self) -> Self::Output {
46
0
                    Self::Output::from_le_byte_array(self)
47
0
                }
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_le
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_le
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_le
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_le
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B1>, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_le
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_le
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_le
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_le
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_le
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_le
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_le
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B1>, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_le
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_le
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_le
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B1>, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_le
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_le
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_le
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B1>, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_le
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_le
Unexecuted instantiation: <generic_array::GenericArray<u8, typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UInt<typenum::uint::UTerm, typenum::bit::B1>, typenum::bit::B1>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>, typenum::bit::B0>> as crypto_bigint::array::ArrayDecoding>::into_uint_le
48
            }
49
        )+
50
     };
51
}
52
53
// TODO(tarcieri): use `generic_const_exprs` when stable to make generic around bits.
54
impl_uint_array_encoding! {
55
    (U64, typenum::U8),
56
    (U128, typenum::U16),
57
    (U192, typenum::U24),
58
    (U256, typenum::U32),
59
    (U384, typenum::U48),
60
    (U448, typenum::U56),
61
    (U512, typenum::U64),
62
    (U576, typenum::U72),
63
    (U768, typenum::U96),
64
    (U832, typenum::U104),
65
    (U896, typenum::U112),
66
    (U1024, typenum::U128),
67
    (U1536, typenum::U192),
68
    (U1792, typenum::U224),
69
    (U2048, typenum::U256),
70
    (U3072, typenum::U384),
71
    (U3584, typenum::U448),
72
    (U4096, typenum::U512),
73
    (U6144, typenum::U768),
74
    (U8192, typenum::U1024)
75
}
76
77
#[cfg(target_pointer_width = "32")]
78
impl_uint_array_encoding! {
79
    (U224, typenum::U28), // For NIST P-224
80
    (U544, typenum::U68)  // For NIST P-521
81
}
82
83
#[cfg(test)]
84
mod tests {
85
    use crate::{ArrayDecoding, ArrayEncoding, Limb};
86
    use hex_literal::hex;
87
88
    #[cfg(target_pointer_width = "32")]
89
    use crate::U64 as UintEx;
90
91
    #[cfg(target_pointer_width = "64")]
92
    use crate::U128 as UintEx;
93
94
    /// Byte array that corresponds to `UintEx`
95
    type ByteArray = crate::ByteArray<UintEx>;
96
97
    #[test]
98
    #[cfg(target_pointer_width = "32")]
99
    fn from_be_byte_array() {
100
        let n = UintEx::from_be_byte_array(hex!("0011223344556677").into());
101
        assert_eq!(n.as_limbs(), &[Limb(0x44556677), Limb(0x00112233)]);
102
    }
103
104
    #[test]
105
    #[cfg(target_pointer_width = "64")]
106
    fn from_be_byte_array() {
107
        let n = UintEx::from_be_byte_array(hex!("00112233445566778899aabbccddeeff").into());
108
        assert_eq!(
109
            n.as_limbs(),
110
            &[Limb(0x8899aabbccddeeff), Limb(0x0011223344556677)]
111
        );
112
    }
113
114
    #[test]
115
    #[cfg(target_pointer_width = "32")]
116
    fn from_le_byte_array() {
117
        let n = UintEx::from_le_byte_array(hex!("7766554433221100").into());
118
        assert_eq!(n.as_limbs(), &[Limb(0x44556677), Limb(0x00112233)]);
119
    }
120
121
    #[test]
122
    #[cfg(target_pointer_width = "64")]
123
    fn from_le_byte_array() {
124
        let n = UintEx::from_le_byte_array(hex!("ffeeddccbbaa99887766554433221100").into());
125
        assert_eq!(
126
            n.as_limbs(),
127
            &[Limb(0x8899aabbccddeeff), Limb(0x0011223344556677)]
128
        );
129
    }
130
131
    #[test]
132
    #[cfg(target_pointer_width = "32")]
133
    fn to_be_byte_array() {
134
        let expected_bytes = ByteArray::from(hex!("0011223344556677"));
135
        let actual_bytes = UintEx::from_be_byte_array(expected_bytes).to_be_byte_array();
136
        assert_eq!(expected_bytes, actual_bytes);
137
    }
138
139
    #[test]
140
    #[cfg(target_pointer_width = "64")]
141
    fn to_be_byte_array() {
142
        let expected_bytes = ByteArray::from(hex!("00112233445566778899aabbccddeeff"));
143
        let actual_bytes = UintEx::from_be_byte_array(expected_bytes).to_be_byte_array();
144
        assert_eq!(expected_bytes, actual_bytes);
145
    }
146
147
    #[test]
148
    #[cfg(target_pointer_width = "32")]
149
    fn to_le_byte_array() {
150
        let expected_bytes = ByteArray::from(hex!("7766554433221100"));
151
        let actual_bytes = UintEx::from_le_byte_array(expected_bytes).to_le_byte_array();
152
        assert_eq!(expected_bytes, actual_bytes);
153
    }
154
155
    #[test]
156
    #[cfg(target_pointer_width = "64")]
157
    fn to_le_byte_array() {
158
        let expected_bytes = ByteArray::from(hex!("ffeeddccbbaa99887766554433221100"));
159
        let actual_bytes = UintEx::from_le_byte_array(expected_bytes).to_le_byte_array();
160
        assert_eq!(expected_bytes, actual_bytes);
161
    }
162
163
    #[test]
164
    #[cfg(target_pointer_width = "32")]
165
    fn into_uint_be() {
166
        let expected_bytes = ByteArray::from(hex!("0011223344556677"));
167
        let actual_bytes = expected_bytes.into_uint_be().to_be_byte_array();
168
        assert_eq!(expected_bytes, actual_bytes);
169
    }
170
171
    #[test]
172
    #[cfg(target_pointer_width = "64")]
173
    fn into_uint_be() {
174
        let expected_bytes = ByteArray::from(hex!("00112233445566778899aabbccddeeff"));
175
        let actual_bytes = expected_bytes.into_uint_be().to_be_byte_array();
176
        assert_eq!(expected_bytes, actual_bytes);
177
    }
178
179
    #[test]
180
    #[cfg(target_pointer_width = "32")]
181
    fn into_uint_le() {
182
        let expected_bytes = ByteArray::from(hex!("7766554433221100"));
183
        let actual_bytes = expected_bytes.into_uint_le().to_le_byte_array();
184
        assert_eq!(expected_bytes, actual_bytes);
185
    }
186
187
    #[test]
188
    #[cfg(target_pointer_width = "64")]
189
    fn into_uint_le() {
190
        let expected_bytes = ByteArray::from(hex!("ffeeddccbbaa99887766554433221100"));
191
        let actual_bytes = expected_bytes.into_uint_le().to_le_byte_array();
192
        assert_eq!(expected_bytes, actual_bytes);
193
    }
194
}