Skip to content

Commit 07b3ee7

Browse files
committed
fix Debug impl, rename levels
1 parent dcc55b6 commit 07b3ee7

File tree

1 file changed

+18
-17
lines changed

1 file changed

+18
-17
lines changed

rand_core/src/block.rs

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,8 @@ pub trait BlockRngCore {
8787

8888
#[derive(Copy, Clone, Debug, Eq, PartialEq)]
8989
enum IndexLevel {
90-
Bit,
91-
Byte,
90+
U1,
91+
U8,
9292
U32,
9393
U64,
9494
}
@@ -98,18 +98,18 @@ impl IndexLevel {
9898
fn convert(&mut self, index: usize, level: Self) -> usize {
9999
use IndexLevel::*;
100100
let res = match (*self, level) {
101-
(Bit, Bit) | (Byte, Byte) | (U32, U32) | (U64, U64) => return index,
102-
(Bit, Byte) => (index / 8) + ((index & 0b111) != 0) as usize,
103-
(Bit, U32) => (index / 32) + ((index & 0b1_1111) != 0) as usize,
104-
(Bit, U64) => (index / 64) + ((index & 0b11_1111) != 0) as usize,
105-
(Byte, Bit) => 8 * index,
106-
(Byte, U32) => (index / 4) + ((index & 0b11) != 0) as usize,
107-
(Byte, U64) => (index / 8) + ((index & 0b111) != 0) as usize,
108-
(U32, Bit) => 32 * index,
109-
(U32, Byte) => 4 * index,
101+
(U1, U1) | (U8, U8) | (U32, U32) | (U64, U64) => return index,
102+
(U1, U8) => (index / 8) + ((index & 0b111) != 0) as usize,
103+
(U1, U32) => (index / 32) + ((index & 0b1_1111) != 0) as usize,
104+
(U1, U64) => (index / 64) + ((index & 0b11_1111) != 0) as usize,
105+
(U8, U1) => 8 * index,
106+
(U8, U32) => (index / 4) + ((index & 0b11) != 0) as usize,
107+
(U8, U64) => (index / 8) + ((index & 0b111) != 0) as usize,
108+
(U32, U1) => 32 * index,
109+
(U32, U8) => 4 * index,
110110
(U32, U64) => (index / 2) + ((index & 0b1) != 0) as usize,
111-
(U64, Bit) => 64 * index,
112-
(U64, Byte) => 8 * index,
111+
(U64, U1) => 64 * index,
112+
(U64, U8) => 8 * index,
113113
(U64, U32) => 2 * index,
114114
};
115115
*self = level;
@@ -167,8 +167,9 @@ impl<R: BlockRngCore + fmt::Debug> fmt::Debug for BlockRng<R> {
167167
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
168168
fmt.debug_struct("BlockRng")
169169
.field("core", &self.core)
170-
.field("result_len", &self.results.as_ref().len())
170+
.field("result_len", &self.get_results_u8().len())
171171
.field("index", &self.index)
172+
.field("level", &self.level)
172173
.finish()
173174
}
174175
}
@@ -180,7 +181,7 @@ impl<R: BlockRngCore> BlockRng<R> {
180181
pub fn new(core: R) -> BlockRng<R> {
181182
let results = R::Results::default();
182183
let index = AsRef::<[u8]>::as_ref(&results).len();
183-
BlockRng { core, results, index, level: IndexLevel::Byte }
184+
BlockRng { core, results, index, level: IndexLevel::U8 }
184185
}
185186

186187
#[inline(always)]
@@ -205,7 +206,7 @@ where
205206
{
206207
#[inline]
207208
fn next_bool(&mut self) -> bool {
208-
let index = self.level.convert(self.index, IndexLevel::Bit);
209+
let index = self.level.convert(self.index, IndexLevel::U1);
209210
match self.get_results_u8().get(index / 8) {
210211
Some(&v) => {
211212
self.index = index + 1;
@@ -258,7 +259,7 @@ where
258259

259260
#[inline]
260261
fn try_fill_bytes(&mut self, mut dest: &mut [u8]) -> Result<(), Error> {
261-
let index = self.level.convert(self.index, IndexLevel::Byte);
262+
let index = self.level.convert(self.index, IndexLevel::U8);
262263

263264
let rlen = self.get_results_u8().len();
264265
if index < rlen {

0 commit comments

Comments
 (0)