Skip to content

Commit e84ceb6

Browse files
committed
Implemen Standard support for signed NonZero* types
1 parent 176e736 commit e84ceb6

2 files changed

Lines changed: 16 additions & 3 deletions

File tree

benches/distributions.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,10 @@ const RAND_BENCH_N: u64 = 1000;
1919
use rand::distributions::{Alphanumeric, Open01, OpenClosed01, Standard, Uniform};
2020
use rand::distributions::uniform::{UniformInt, UniformSampler};
2121
use core::mem::size_of;
22-
use core::num::{NonZeroU128, NonZeroU16, NonZeroU32, NonZeroU64, NonZeroU8};
22+
use core::num::{
23+
NonZeroU128, NonZeroU16, NonZeroU32, NonZeroU64, NonZeroU8,
24+
NonZeroI128, NonZeroI16, NonZeroI32, NonZeroI64, NonZeroI8,
25+
};
2326
use core::time::Duration;
2427
use test::{Bencher, black_box};
2528

src/distributions/integer.rs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,10 @@ use core::arch::x86::{__m128i, __m256i};
1818
use core::arch::x86_64::__m512i;
1919
#[cfg(target_arch = "x86_64")]
2020
use core::arch::x86_64::{__m128i, __m256i};
21-
use core::num::{NonZeroU16, NonZeroU32, NonZeroU64, NonZeroU8, NonZeroUsize,
22-
NonZeroU128};
21+
use core::num::{
22+
NonZeroU16, NonZeroU32, NonZeroU64, NonZeroU8, NonZeroUsize,NonZeroU128,
23+
NonZeroI16, NonZeroI32, NonZeroI64, NonZeroI8, NonZeroIsize,NonZeroI128
24+
};
2325
#[cfg(feature = "simd_support")] use core::simd::*;
2426
use core::mem;
2527

@@ -114,6 +116,14 @@ impl_nzint!(NonZeroU64, NonZeroU64::new);
114116
impl_nzint!(NonZeroU128, NonZeroU128::new);
115117
impl_nzint!(NonZeroUsize, NonZeroUsize::new);
116118

119+
impl_nzint!(NonZeroI8, NonZeroI8::new);
120+
impl_nzint!(NonZeroI16, NonZeroI16::new);
121+
impl_nzint!(NonZeroI32, NonZeroI32::new);
122+
impl_nzint!(NonZeroI64, NonZeroI64::new);
123+
impl_nzint!(NonZeroI128, NonZeroI128::new);
124+
impl_nzint!(NonZeroIsize, NonZeroIsize::new);
125+
126+
117127
macro_rules! x86_intrinsic_impl {
118128
($($intrinsic:ident),+) => {$(
119129
/// Available only on x86/64 platforms

0 commit comments

Comments
 (0)