Skip to content

Commit 00bfa08

Browse files
committed
Change to imperative language, and address review comments
1 parent 5220a4f commit 00bfa08

File tree

2 files changed

+57
-56
lines changed

2 files changed

+57
-56
lines changed

CHANGELOG.md

Lines changed: 49 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -9,80 +9,81 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010
### Crate features and organisation
1111
- Minimum Rust version update: 1.22.0. (#239)
12-
- Created a seperate `rand-core` crate. (#288)
13-
- deprecated `rand_derive`. (#256)
14-
- Added `log` feature. Logging is now available in `JitterRng`, `OsRng`, `EntropyRng` and `ReseedingRng`. (#246)
15-
- Added `serde-1` feature for some PRNGs. (#189)
12+
- Create a seperate `rand-core` crate. (#288)
13+
- Deprecate `rand_derive`. (#256)
14+
- Add `log` feature. Logging is now available in `JitterRng`, `OsRng`, `EntropyRng` and `ReseedingRng`. (#246)
15+
- Add `serde-1` feature for some PRNGs. (#189)
1616

1717
### `Rng` trait
1818
- Split `Rng` in `RngCore` and `Rng` extension trait.
1919
`next_u32`, `next_u64` and `fill_bytes` are now part of `RngCore`. (#265)
20-
- Added `Rng::sample`. (#256)
21-
- Deprecated `Rng::gen_weighted_bool`. (#308)
22-
- Added `Rng::gen_bool`. (#308)
23-
- Removed `Rng::next_f32` and `Rng::next_f64`. (#273)
24-
- Added optimized `Rng::fill` and `Rng::try_fill` methods. (#247)
25-
- Deprecated `Rng::gen_iter`. (#286)
26-
- Deprecated `Rng::gen_ascii_chars`. (#279)
20+
- Add `Rng::sample`. (#256)
21+
- Deprecate `Rng::gen_weighted_bool`. (#308)
22+
- Add `Rng::gen_bool`. (#308)
23+
- Remove `Rng::next_f32` and `Rng::next_f64`. (#273)
24+
- Add optimized `Rng::fill` and `Rng::try_fill` methods. (#247)
25+
- Deprecate `Rng::gen_iter`. (#286)
26+
- Deprecate `Rng::gen_ascii_chars`. (#279)
2727

2828
### `rand-core` crate
2929
(changes included here because they greatly influence the Rand crate)
3030
- `RngCore` and `SeedableRng` are now part of `rand-core`. (#288)
31-
- Added modules to help implementing RNGs `impl` and `le`. (#209, #228)
32-
- added `Error` and `ErrorKind`. (#225)
33-
- Added `CryptoRng` marker trait. (#273)
34-
- Added `BlockRngCore` trait. (#281)
35-
- Added `BlockRng` wrapper to help implemtations. (#281)
36-
- Revised the `SeedableRng` trait. (#233)
37-
- Removed default implementations for `RngCore::next_u64` and `RngCore::fill_bytes`. (#288)
38-
- Added `RngCore::try_fill_bytes`. (#225)
31+
- Add modules to help implementing RNGs `impl` and `le`. (#209, #228)
32+
- Add `Error` and `ErrorKind`. (#225)
33+
- Add `CryptoRng` marker trait. (#273)
34+
- Add `BlockRngCore` trait. (#281)
35+
- Add `BlockRng` wrapper to help implementations. (#281)
36+
- Revise the `SeedableRng` trait. (#233)
37+
- Remove default implementations for `RngCore::next_u64` and `RngCore::fill_bytes`. (#288)
38+
- Add `RngCore::try_fill_bytes`. (#225)
3939

4040
### Other traits and types
41-
- Added `NewRng` trait. (#233)
42-
- Added `SmallRng` wrapper. (#296)
43-
- Rewritten `ReseedingRng` to only work with `BlockRngCore` (much improved performance). (#281)
44-
- Deprecated `weak_rng`. Use `SmallRng` instead. (#296)
45-
- Deprecated `random`. (#296)
46-
- Deprecated `AsciiGenerator`. (#279)
41+
- Add `NewRng` trait. (#233)
42+
- Add `SmallRng` wrapper. (#296)
43+
- Rewrite `ReseedingRng` to only work with `BlockRngCore` (substantial performance improvement). (#281)
44+
- Deprecate `weak_rng`. Use `SmallRng` instead. (#296)
45+
- Deprecate `random`. (#296)
46+
- Deprecate `AsciiGenerator`. (#279)
4747

4848
### Random number generators
49-
- Switched `StdRng` and `thread_rng` to HC-128. (#277)
50-
- Changed `thread_rng` reseeding threshold to 32 MiB. (#277)
49+
- Switch `StdRng` and `thread_rng` to HC-128. (#277)
50+
- Change `thread_rng` reseeding threshold to 32 MiB. (#277)
5151
- PRNGs no longer implement `Copy`. (#209)
5252
- `Debug` implementations no longer show internals. (#209)
53-
- Implemented serialisation for `XorShiftRng`, `IsaacRng` and `Isaac64Rng` under the `serde-1` feature. (#189)
54-
- Implemented `BlockRngCore` for `ChaCha` and `Hc128`. (#281)
53+
- Implement serialisation for `XorShiftRng`, `IsaacRng` and `Isaac64Rng` under the `serde-1` feature. (#189)
54+
- Implement `BlockRngCore` for `ChaChaCore` and `Hc128Core`. (#281)
5555
- All PRNGs are now portable across big- and little-endian architectures. (#209)
5656
- `Isaac64Rng::next_u32` no longer throws away half the results. (#209)
57-
- Added `IsaacRng::new_from_u64` and `Isaac64Rng::new_from_u64`. (#209)
58-
- Added the HC-128 CSPRNG `Hc128Rng`. (#210)
59-
- Added `ChaChaRng::set_rounds` method. (#243)
60-
- Changes to `JitterRng` to get it's size down from 2112 to 24 bytes. (#251)
57+
- Add `IsaacRng::new_from_u64` and `Isaac64Rng::new_from_u64`. (#209)
58+
- Remove `IsaacWordRng` wrapper. (#277)
59+
- Add the HC-128 CSPRNG `Hc128Rng`. (#210)
60+
- Add `ChaChaRng::set_rounds` method. (#243)
61+
- Changes to `JitterRng` to get its size down from 2112 to 24 bytes. (#251)
6162
- Various performance improvements to all PRNGs.
6263

6364
### Platform support and `OsRng`
64-
- Added support for CloudABI. (#224)
65-
- Removed support for NaCl. (#225)
66-
- Replaced stubs with proper WASM support in `OsRng`. (#272)
67-
- Keep open only a single file descriptor for `OsRng`, on systems that do not have a syscall interface. (#239)
65+
- Add support for CloudABI. (#224)
66+
- Remove support for NaCl. (#225)
67+
- Replace stubs with proper WASM support in `OsRng`. (#272)
68+
- On systems that do not have a syscall interface, only keep a single file descriptor open for `OsRng`. (#239)
6869
- Better error handling and reporting in `OsRng` (using new error type). (#225)
6970
- `OsRng` now uses non-blocking when available. (#225)
70-
- Added `EntropyRng`, which provides `OsRng`, but has `JitterRng` as a fallback. (#235)
71+
- Add `EntropyRng`, which provides `OsRng`, but has `JitterRng` as a fallback. (#235)
7172

7273
### Distributions
7374
- New `Distribution` trait. (#256)
74-
- Deprecated `Rand`, `Sample` and `IndependentSample` traits. (#256)
75-
- Added a `Uniform` distribution (replaces most `Rand` implementations). (#256)
76-
- Added `Binomial` and `Poisson` distributions. (#96)
77-
- Added `Alphanumeric` distribution. (#279)
78-
- Removed `Open01` and `Closed01` distributions, use `Uniform` instead (open distribution). (#274)
79-
- Reworked `Range` type, making it possible to implement it for user types. (#274)
80-
- Added `Range::new_inclusive` for inclusive ranges. (#274)
81-
- Added `Range::sample_single` to allow for optimized implementations. (#274)
82-
- Uses widening multiply method for much faster integer range reduction. (#274)
75+
- Deprecate `Rand`, `Sample` and `IndependentSample` traits. (#256)
76+
- Add a `Uniform` distribution (replaces most `Rand` implementations). (#256)
77+
- Add `Binomial` and `Poisson` distributions. (#96)
78+
- Add `Alphanumeric` distribution. (#279)
79+
- Remove `Open01` and `Closed01` distributions, use `Uniform` instead (open distribution). (#274)
80+
- Rework `Range` type, making it possible to implement it for user types. (#274)
81+
- Add `Range::new_inclusive` for inclusive ranges. (#274)
82+
- Add `Range::sample_single` to allow for optimized implementations. (#274)
83+
- Use widening multiply method for much faster integer range reduction. (#274)
8384
- `Uniform` distributions for `bool` uses `Range`. (#274)
8485
- `Uniform` distributions for `bool` uses sign test. (#274)
85-
- Added `HighPrecision01` distribution. (#320)
86+
- Add `HighPrecision01` distribution. (#320)
8687

8788

8889
## [0.4.2] - 2018-01-06

rand-core/CHANGELOG.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1010
### `rand-core` crate
1111
(Split out of the Rand crate, changes here are relative to rand 0.4.2)
1212
- `RngCore` and `SeedableRng` are now part of `rand-core`. (#288)
13-
- Added modules to help implementing RNGs `impl` and `le`. (#209, #228)
14-
- added `Error` and `ErrorKind`. (#225)
15-
- Added `CryptoRng` marker trait. (#273)
16-
- Added `BlockRngCore` trait. (#281)
17-
- Added `BlockRng` wrapper to help implemtations. (#281)
18-
- Revised the `SeedableRng` trait. (#233)
19-
- Removed default implementations for `RngCore::next_u64` and `RngCore::fill_bytes`. (#288)
20-
- Added `RngCore::try_fill_bytes`. (#225)
13+
- Add modules to help implementing RNGs `impl` and `le`. (#209, #228)
14+
- Add `Error` and `ErrorKind`. (#225)
15+
- Add `CryptoRng` marker trait. (#273)
16+
- Add `BlockRngCore` trait. (#281)
17+
- Add `BlockRng` wrapper to help implemtations. (#281)
18+
- Revise the `SeedableRng` trait. (#233)
19+
- Remove default implementations for `RngCore::next_u64` and `RngCore::fill_bytes`. (#288)
20+
- Add `RngCore::try_fill_bytes`. (#225)
2121

2222
## [0.0.1] - 2017-09-14
2323
Experimental version as part of the rand crate refactor.

0 commit comments

Comments
 (0)