Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crate refactor #161

Closed
wants to merge 302 commits into from
Closed

Crate refactor #161

wants to merge 302 commits into from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Aug 6, 2017

  1. Add no_std support by conditionally disabling many features

    This provides no source of entropy in no_std mode; possibly
    this should be fixed?
    dhardy committed Aug 6, 2017
    Configuration menu
    Copy the full SHA
    21de6ae View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    212e04e View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2017

  1. Configuration menu
    Copy the full SHA
    e386895 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    88f73e0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    69681f6 View commit details
    Browse the repository at this point in the history

Commits on Aug 11, 2017

  1. Configuration menu
    Copy the full SHA
    3a4ace5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    96c2a42 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    dc8c1f4 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    21a4375 View commit details
    Browse the repository at this point in the history

Commits on Aug 14, 2017

  1. Require Rng: Debug

    dhardy committed Aug 14, 2017
    Configuration menu
    Copy the full SHA
    404e282 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    68bb549 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d2b9f8e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    adbbd9d View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    2511b27 View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2017

  1. Add Sample trait

    dhardy committed Aug 15, 2017
    Configuration menu
    Copy the full SHA
    cde9f58 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    28972a1 View commit details
    Browse the repository at this point in the history
  3. Update Sample doc

    dhardy committed Aug 15, 2017
    Configuration menu
    Copy the full SHA
    fe990d9 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a8b2871 View commit details
    Browse the repository at this point in the history

Commits on Aug 16, 2017

  1. Configuration menu
    Copy the full SHA
    57efe7e View commit details
    Browse the repository at this point in the history

Commits on Aug 17, 2017

  1. Configuration menu
    Copy the full SHA
    697b83e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ecc8a38 View commit details
    Browse the repository at this point in the history
  3. Add range benchmarks

    dhardy committed Aug 17, 2017
    Configuration menu
    Copy the full SHA
    831553c View commit details
    Browse the repository at this point in the history
  4. Remove unnecessary mutability

    dhardy committed Aug 17, 2017
    Configuration menu
    Copy the full SHA
    18e8dab View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    e73622f View commit details
    Browse the repository at this point in the history

Commits on Aug 21, 2017

  1. Configuration menu
    Copy the full SHA
    de24228 View commit details
    Browse the repository at this point in the history
  2. Remove Rng: Debug requirement

    dhardy committed Aug 21, 2017
    Configuration menu
    Copy the full SHA
    cca68bb View commit details
    Browse the repository at this point in the history
  3. Add CryptoError; make RNG::new return Result<Self, CryptoError>; rena…

    …me new_from_rng → from_rng
    dhardy committed Aug 21, 2017
    Configuration menu
    Copy the full SHA
    2a59377 View commit details
    Browse the repository at this point in the history

Commits on Aug 26, 2017

  1. Remove useless impl

    (We have automatic derefs.)
    dhardy committed Aug 26, 2017
    Configuration menu
    Copy the full SHA
    a3f5bf1 View commit details
    Browse the repository at this point in the history

Commits on Aug 30, 2017

  1. Configuration menu
    Copy the full SHA
    1f1db33 View commit details
    Browse the repository at this point in the history

Commits on Sep 1, 2017

  1. Fix benchmarks

    dhardy committed Sep 1, 2017
    Configuration menu
    Copy the full SHA
    db93780 View commit details
    Browse the repository at this point in the history

Commits on Sep 3, 2017

  1. Higher precision for floats in range [0,1)

    Use a different technique to create floating point numbers uniformly distributed
    over [0,1). The previous method only used 23 bits of precision for a f32, this
    method uses all available 32 bits. This results in numbers with up to 9 bits of
    precision extra when getting closer to zero.
    
    `Closed01` and `Open01` used multiplication to adjust the range sampled from
    `Uniform01`. This does not play well with an `Uniform01` that gets higher
    precision as it gets closer to 0.0. `Closed01` now does it's own conversion to
    sample from the range (0,1]. `Open01` uses the rejection method.
    Paul Dicker committed Sep 3, 2017
    Configuration menu
    Copy the full SHA
    b7edfdb View commit details
    Browse the repository at this point in the history
  2. Make ranges preserve precision

    Paul Dicker committed Sep 3, 2017
    Configuration menu
    Copy the full SHA
    fadc260 View commit details
    Browse the repository at this point in the history
  3. Use optimized float conversions in ziggurat

    Paul Dicker committed Sep 3, 2017
    Configuration menu
    Copy the full SHA
    3c800b1 View commit details
    Browse the repository at this point in the history
  4. Move FloatConversions to a new module

    Paul Dicker committed Sep 3, 2017
    Configuration menu
    Copy the full SHA
    ca7b10f View commit details
    Browse the repository at this point in the history
  5. Add a few extra benchmarks

    Paul Dicker committed Sep 3, 2017
    Configuration menu
    Copy the full SHA
    1dbf23d View commit details
    Browse the repository at this point in the history
  6. Add a changelog

    Paul Dicker committed Sep 3, 2017
    Configuration menu
    Copy the full SHA
    ac33b28 View commit details
    Browse the repository at this point in the history
  7. Merge pull request #3 from pitdicker/changelog

    Changelog
    dhardy authored Sep 3, 2017
    Configuration menu
    Copy the full SHA
    ed637de View commit details
    Browse the repository at this point in the history
  8. Merge pull request #1 from pitdicker/master

    Higher precision for floats in range [0,1)
    dhardy authored Sep 3, 2017
    Configuration menu
    Copy the full SHA
    e8b06db View commit details
    Browse the repository at this point in the history
  9. Fix no_std build

    dhardy committed Sep 3, 2017
    Configuration menu
    Copy the full SHA
    a2b2196 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    eb162fe View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    d6f4831 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    0ca5c4e View commit details
    Browse the repository at this point in the history

Commits on Sep 4, 2017

  1. Configuration menu
    Copy the full SHA
    e4a7fcd View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    04e326d View commit details
    Browse the repository at this point in the history
  3. Replace fill_bytes code with @newpavlov's code

    gen_bytes_* benchmarks show significant improvement, 8 - 68% over previous alg
    (or 38% to 182% over algorithm before that)
    dhardy committed Sep 4, 2017
    Configuration menu
    Copy the full SHA
    0cd5539 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e177594 View commit details
    Browse the repository at this point in the history
  5. Move open/closed/uniform 01 benchs from misc to distributions; use bl…

    …ack_box on all benches
    
    Use of black_box has a huge effect (half performance in some cases, removes odd effects)
    dhardy committed Sep 4, 2017
    Configuration menu
    Copy the full SHA
    81821a6 View commit details
    Browse the repository at this point in the history
  6. Simplify OsRng impls: only impl next_* once & use minimal ReadRng impl

    Benchmarks of OsRng show no significant change
    dhardy committed Sep 4, 2017
    Configuration menu
    Copy the full SHA
    2e26002 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    0fc565e View commit details
    Browse the repository at this point in the history
  8. Add FromRng and NewRng

    This supports MyRng::new() using OsRng without requiring MyRng code to use OsRng.
    dhardy committed Sep 4, 2017
    Configuration menu
    Copy the full SHA
    fa4eb5b View commit details
    Browse the repository at this point in the history

Commits on Sep 7, 2017

  1. Add benchmarks for ranges of i8, i16 and i32

    Paul Dicker committed Sep 7, 2017
    Configuration menu
    Copy the full SHA
    31f964e View commit details
    Browse the repository at this point in the history

Commits on Sep 8, 2017

  1. Configuration menu
    Copy the full SHA
    8906c29 View commit details
    Browse the repository at this point in the history

Commits on Sep 10, 2017

  1. Configuration menu
    Copy the full SHA
    0a97209 View commit details
    Browse the repository at this point in the history
  2. Replace fill_bytes with try_fill returning Result<()>

    Does not appear to impact performance
    dhardy committed Sep 10, 2017
    Configuration menu
    Copy the full SHA
    a07bcdf View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    07b222b View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2017

  1. Rename FromRng → SeedFromRng and NewRng → NewSeeded

    Also some TODO notes
    dhardy committed Sep 11, 2017
    Configuration menu
    Copy the full SHA
    b8873f7 View commit details
    Browse the repository at this point in the history
  2. Add rand_core/README.md

    dhardy committed Sep 11, 2017
    Configuration menu
    Copy the full SHA
    10f794f View commit details
    Browse the repository at this point in the history
  3. Fix i128_support for sub crate

    dhardy committed Sep 11, 2017
    Configuration menu
    Copy the full SHA
    ec29f80 View commit details
    Browse the repository at this point in the history
  4. Add notes on testing to README

    dhardy committed Sep 11, 2017
    Configuration menu
    Copy the full SHA
    ad973f1 View commit details
    Browse the repository at this point in the history
  5. Replace ReseedWithDefault with ReseedWithNew using NewSeeded

    Rationale: ReseedWithDefault required the RNG used to support Default, which
    nothing other than StdRng supported. OTOH all RNGs support SeedFromRng which
    gives them NewSeeded support too, and mock RNGs can support NewSeeded directly.
    dhardy committed Sep 11, 2017
    Configuration menu
    Copy the full SHA
    95a16c3 View commit details
    Browse the repository at this point in the history
  6. Split isaac into 3 modules

    For into `isaac` and `isaac64` for easier comparison.
    Split of `isaac_word` to generate correct the documentation (TODO).
    
    Nothing is changed here, just split in three files.
    Paul Dicker committed Sep 11, 2017
    Configuration menu
    Copy the full SHA
    ec7e6bf View commit details
    Browse the repository at this point in the history
  7. Refactor isaac.rs

    This removes the unsafe blocks from the main isaac and isaac64 routines.
    Some macro's are replaced by functions.
    Over time the implementation of ISAAC and ISAAC-64 have diverged a bit, now they
    are as similar as possible (for easier comparison).
    
    The code is tested against the previous implementation, and the reference
    implementation. IsaacRng now does 34% better in the benchmark.
    Paul Dicker committed Sep 11, 2017
    Configuration menu
    Copy the full SHA
    4747665 View commit details
    Browse the repository at this point in the history

Commits on Sep 12, 2017

  1. Configuration menu
    Copy the full SHA
    90c094d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0ee54b1 View commit details
    Browse the repository at this point in the history
  3. Add rand_core::impls module; remove all default impls of Rng functions

    This is a controvesial change. The argument *for* is that it prevents RNG
    wrappers from accidentally implementing methods incorrectly via the default
    impls (since it is valid to throw away bits, e.g. "self.next_u64() as u32",
    this affects output, not just performance). The argument *against* is that it
    complicates Rng implementations.
    dhardy committed Sep 12, 2017
    Configuration menu
    Copy the full SHA
    dd1241a View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2017

  1. Add some extra documentation

    Paul Dicker committed Sep 13, 2017
    Configuration menu
    Copy the full SHA
    14d0561 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2cb9acd View commit details
    Browse the repository at this point in the history
  3. Merge remote-tracking branch 'pitdicker/isaac-rewrite'

    Also removed SeedableRng impl for IsaacWordRng: it's not reproducible across platforms
    dhardy committed Sep 13, 2017
    Configuration menu
    Copy the full SHA
    37faeb5 View commit details
    Browse the repository at this point in the history

Commits on Sep 14, 2017

  1. Configuration menu
    Copy the full SHA
    da1ff46 View commit details
    Browse the repository at this point in the history
  2. rand_core: update Cargo.toml

    dhardy committed Sep 14, 2017
    Configuration menu
    Copy the full SHA
    67b22bd View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ec70309 View commit details
    Browse the repository at this point in the history

Commits on Sep 28, 2017

  1. Allow sampling from a closed integer range

    These changes make it possible to sample from closed ranges, not only from open.
    
    Included is a small optimisation for the modulus operator, and an optimisation
    for the types i8/u8 and i16/u16.
    Paul Dicker committed Sep 28, 2017
    Configuration menu
    Copy the full SHA
    d8b8474 View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2017

  1. Remove range.rs

    Paul Dicker committed Sep 30, 2017
    Configuration menu
    Copy the full SHA
    7edd06b View commit details
    Browse the repository at this point in the history
  2. Replace range with range2

    Paul Dicker committed Sep 30, 2017
    Configuration menu
    Copy the full SHA
    96503f7 View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2017

  1. Remove reseed from SeedableRng

    Paul Dicker authored and pitdicker committed Oct 1, 2017
    Configuration menu
    Copy the full SHA
    86de12b View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2017

  1. Merge pull request #2 from pitdicker/range_int

    Allow sampling from a closed integer range
    dhardy authored Oct 14, 2017
    Configuration menu
    Copy the full SHA
    97ab178 View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2017

  1. Merge pull request #6 from pitdicker/no_reseeding

    No reseeding
    dhardy authored Oct 16, 2017
    Configuration menu
    Copy the full SHA
    dfdf89c View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2017

  1. Configuration menu
    Copy the full SHA
    e3784ab View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    250aa65 View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2017

  1. Configuration menu
    Copy the full SHA
    496c0fc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a6528a3 View commit details
    Browse the repository at this point in the history
  3. Clean up ISAAC tests

    pitdicker committed Oct 19, 2017
    Configuration menu
    Copy the full SHA
    08ac750 View commit details
    Browse the repository at this point in the history

Commits on Oct 20, 2017

  1. Configuration menu
    Copy the full SHA
    2e714f2 View commit details
    Browse the repository at this point in the history
  2. Add new_from_u64 to IsaacRng and Isaac64Rng

    I have implemented it as a function instead of a trait, as that makes it easy to
    add it to every RNG ont at a time.
    
    I split the `init` function in two instead of the current version that uses a
    bool to select between two paths. This makes it more clear how the seed is used.
    The current `mix` macro has to be defined in the function, and would have to be
    duplicated. Therefore I converted it to a seperate function.
    
    I precalculated the values a...h, but am not sure this is a good idea. It makes
    the resulting code smaller, and gives a small performance win. Because it are
    'magic' values anyway, I thought why not?
    pitdicker committed Oct 20, 2017
    Configuration menu
    Copy the full SHA
    adcd8e5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    849f01a View commit details
    Browse the repository at this point in the history
  4. Add back fill_bytes

    pitdicker committed Oct 20, 2017
    Configuration menu
    Copy the full SHA
    dbbe143 View commit details
    Browse the repository at this point in the history
  5. Improve error handeling of ReadRng

    Also moved the `impl_uint_from_fill` macro from `os.rs` to `randcore`. I had to
    modify its error handling anyway, and it is shared with `OsRng`.
    pitdicker committed Oct 20, 2017
    Configuration menu
    Copy the full SHA
    019d9c1 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    44ef65f View commit details
    Browse the repository at this point in the history

Commits on Oct 21, 2017

  1. Merge pull request #7 from pitdicker/error_enum

    Error handling
    dhardy authored Oct 21, 2017
    Configuration menu
    Copy the full SHA
    a4e9885 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #14 from pitdicker/fix_i128_support

    Fix i128_support in range.rs
    dhardy authored Oct 21, 2017
    Configuration menu
    Copy the full SHA
    d511022 View commit details
    Browse the repository at this point in the history
  3. Simplify isaac init code

    pitdicker committed Oct 21, 2017
    Configuration menu
    Copy the full SHA
    130b64c View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    58350a9 View commit details
    Browse the repository at this point in the history
  5. Merge pull request #5 from pitdicker/isaac_init

    Add `new_from_u64` to `IsaacRng` and `Isaac64Rng`
    dhardy authored Oct 21, 2017
    Configuration menu
    Copy the full SHA
    bf53631 View commit details
    Browse the repository at this point in the history
  6. rand-core: add CryptoRng trait

    dhardy committed Oct 21, 2017
    Configuration menu
    Copy the full SHA
    ebec6c7 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    6712a3a View commit details
    Browse the repository at this point in the history
  8. Custom Debug implementation for ChaCha and Xorshift

    So the internal state is never exposed (may be security-sensitive)
    pitdicker committed Oct 21, 2017
    Configuration menu
    Copy the full SHA
    e513aaa View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    fdf4017 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    37f7450 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    b5556c6 View commit details
    Browse the repository at this point in the history
  12. Merge pull request #16 from pitdicker/common_traits

    Common traits
    dhardy authored Oct 21, 2017
    Configuration menu
    Copy the full SHA
    6edac27 View commit details
    Browse the repository at this point in the history

Commits on Oct 22, 2017

  1. Configuration menu
    Copy the full SHA
    47bdc03 View commit details
    Browse the repository at this point in the history
  2. Drop support for PNaCL

    pitdicker committed Oct 22, 2017
    Configuration menu
    Copy the full SHA
    b9d9987 View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2017

  1. Configuration menu
    Copy the full SHA
    32e325c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2679dbd View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c4eb96c View commit details
    Browse the repository at this point in the history

Commits on Oct 28, 2017

  1. Merge pull request #19 from pitdicker/drop_pnacl

    Drop support for PNaCL
    dhardy authored Oct 28, 2017
    Configuration menu
    Copy the full SHA
    819a282 View commit details
    Browse the repository at this point in the history

Commits on Oct 30, 2017

  1. Configuration menu
    Copy the full SHA
    0b1ac0f View commit details
    Browse the repository at this point in the history

Commits on Oct 31, 2017

  1. Merge pull request #20 from pitdicker/fill_from_next

    Fix unaligned cast in `impl_uint_from_fill`
    dhardy authored Oct 31, 2017
    Configuration menu
    Copy the full SHA
    9a4e2e7 View commit details
    Browse the repository at this point in the history

Commits on Nov 4, 2017

  1. Implement JitterRng, based on jitterentropy-library.

    This is a pretty direct translation from C to Rust.
    
    Some notes per function:
    
    ### `random_loop_cnt` (`jent_loop_shuffle`)
    Because the `min` argument was always `0`, I removed that argument.
    
    The C code did not seem to fold the time optimally. When `bits` is set to `7`,
    as `mem_access` does, it will fold `64 / 7 = 9` times, leaving 1 bit unused. It
    is minor, but we use `folds = (64 + n_bits - 1) / n_bits;`, so all is used.
    
    We do not add 1 to the resulting loop count, this should be done in the calling
    code. `memaccess` already adds 128 anyway. For `lfsr_time` we use the loop count
    on a `throw_away` value, and then run the real calculation once.
    
    
    ### `lfsr_time` (`jent_lfsr_time`)
    We do not allow overriding `loop_cnt`, and also do not return the actual
    `loop_cnt` used. This only had some use in testing the C code, but was 'not
    needed during runtime'.
    
    Only the last round of the outer loop (in C) effect `self.data`. In Rust the
    inner loop is part of the `lfsr` helper function. All but the last round operate
    on a `throw_away` function, that does not get reset between the loop rounds.
    
    ### `memaccess` (`jent_memaccess`)
    We do not allow overriding `loop_cnt`, and also do not return the actual
    `loop_cnt` used. This only had some use in testing the C code, but was 'not
    needed during runtime'.
    
    We do not do NULL pointer checks, and running `JitterRng` without the Memory
    Access noise source is (currently) not supported.
    
    We (currently) do not support changing `memblocksize` and `memblocks` except by
    changing the constants `MEMORY_BLOCKS` and `MEMORY_BLOCKSIZE`. So instead of
    recalculating `wrap`, we can just re-use MEMORY_SIZE.
    
    Instead of a `memlocation` pointer we use indexing. The `index` is calculated
    before accessing `self.mem[index] instead of after. This convinces the compiler
    indexing is safe, and eliminates bounds checks.
    
    
    ### `stuck` (`jent_stuck`)
    For all delta's we use an `i64`, instead of an `u64` for the first delta in the
    C implementation. This handles a clock that may not be entirely monotonic (for
    example due to NTP) slightly better.
    
    Also, we return a `bool` instead of an `u64`.
    
    
    ### `measure_jitter` (`jent_measure_jitter`)
    It seemed clearer here to not return an `u64` or `bool`, but `Option<()>`.
    `Some` and `None` indicate clearly whether we have been able to add some
    entropy.
    
    For `current_delta` we use an `i64` instead of an `u64`. It is cast back to an
    `u64` for `lfsr_time`, which only cares about bits.
    
    
    ### `stir_pool` (`jent_stir_pool`)
    The C code does something difficult with initializing an `u64` with two `u32`'s
    in an `union`. The numbers it uses for initialization are from SHA-1, and the
    order does not really matter. The Rust code just sets the `u64`'s directly, and
    uses the constants in the order they appear in FIPS 180-4 section 5.3.1.
    
    The function tries to be constant time to prevent leaking timing information
    about the generated random number. Using a `trow_away` value like it does is
    optimised out, and I don't trust branches to be constant time. I used a bit mask
    trick instead, and verified the assembly does not include anything conditional.
    Not sure it matters anything, we just went through a lot of effort to have as
    much timing variance as possible to generate the random number.
    
    
    ### `gen_entropy` (`jent_gen_entropy`)
    We do not support oversampling, so no need to repeat the loop more times.
    
    `self.memaccess()` in `measure_jitter` is easily optimised out, because LLVM
    recognises we never read the results. Therefore we do a single read from
    `self.mem`, hidden to the optimizer with `black_box()`.
    
    We return `self.data`  instead of requiring the calling code to read from it.
    
    ### (not included) `jent_read_entropy`
    Here we have the convienent `fill_bytes_via_u64` for.
    
    The C code calls `jent_gen_entropy` one last time after filling the buffer, to
    make sure that something reading the processes memory can not read the last
    generated random number. 'This call reduces the speed of the RNG by up to half`.
    It seems to me setting it to 0 is just as good.
    
    I did not bother with this. As an alternative a user caring very much about this
    can just call `next_u64` after receiving a result.
    
    
    ### `entropy_init` (`jent_entropy_init`)
    Wrap `lfsr_time` in the loop in a `black_box` to make sure it is not optimised
    out.
    
    For delta we use an `i64` instead of an `u64`.
    
    Instead of `lowdelta` we just use `delta`. It seems a hack to compile on some
    32-bit architectures.
    pitdicker committed Nov 4, 2017
    Configuration menu
    Copy the full SHA
    07e1d58 View commit details
    Browse the repository at this point in the history
  2. Relicensing permission

    > One question about the license. All libraries in the Rust ecosystem try
    > to be dual-licensed with the permissive Apache 2.0 license and the MIT
    > license. I am not sure it is ok for me to do so, because your code used
    > the 3-clause BSD. The difference seems to be in the third clause: "The
    > name of the author may not be used to endorse or promote products
    > derived from this software without specific prior written permission."
    > Can you maybe give permission to license this Rust translation under the
    > MIT license?
    
    Granted. I am fine with the mentioned license as long as there is a reference
    to my code.
    pitdicker committed Nov 4, 2017
    Configuration menu
    Copy the full SHA
    6e40910 View commit details
    Browse the repository at this point in the history

Commits on Nov 8, 2017

  1. Configuration menu
    Copy the full SHA
    8ff9394 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f4a43f7 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    442caee View commit details
    Browse the repository at this point in the history
  4. Provide statistics function

    Add the function `timer_stats` (`jent_lfsr_var_stat` in C). Like in other the
    other functions we use a `int64` to represent a time delta instead of a `u64`.
    
    Instead of the `min` variable to indicate how many times the noice source loops
    should run at least, we use a `var_rounds` boolean. Setting `min` seems like an
    historic leftover, and does not fit `memaccess`. A simple bool covers everything
    needed for testing. This effects `timer_stats`, `lfsr_time` and `memaccess`.
    
    It is useful to be able to run the statistics function, even when initializing
    `JitterRng` might fail because of the `test_timer` function. Therefore
    `new_with_timer` does not automatically test the timer jitter, and expects the
    user code to do so.
    
    Now that `new_with_timer` calls `gen_entropy`, it was possible to move
    `black_box(ec.mem[0])` here instead of `measure_jitter`, so it is executed even
    less.
    
    # Conflicts:
    #	src/jitter_rng.rs
    pitdicker committed Nov 8, 2017
    Configuration menu
    Copy the full SHA
    49e9bb0 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ed358de View commit details
    Browse the repository at this point in the history
  6. Address review comments

    pitdicker committed Nov 8, 2017
    Configuration menu
    Copy the full SHA
    c57aa1a View commit details
    Browse the repository at this point in the history

Commits on Nov 9, 2017

  1. Merge pull request #34 from dhardy/err2

    Revise error type (copy from error_details branch)
    dhardy authored Nov 9, 2017
    Configuration menu
    Copy the full SHA
    bd60937 View commit details
    Browse the repository at this point in the history
  2. Fix: Error::new(_, _, None) was not usable

    Type deduction failed due to lack of bounds on E.
    dhardy committed Nov 9, 2017
    Configuration menu
    Copy the full SHA
    908fda4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e6b224d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6302f53 View commit details
    Browse the repository at this point in the history
  5. Reseeding: cleaner code

    dhardy committed Nov 9, 2017
    Configuration menu
    Copy the full SHA
    89f0430 View commit details
    Browse the repository at this point in the history

Commits on Nov 10, 2017

  1. Update travis build scripts

    dhardy committed Nov 10, 2017
    Configuration menu
    Copy the full SHA
    fdb09d4 View commit details
    Browse the repository at this point in the history
  2. Implicit error handling (#25)

    Add rand_core::impls::fill_via_try_fill with handling for errors.
    dhardy committed Nov 10, 2017
    Configuration menu
    Copy the full SHA
    3bf4680 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    585b738 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    508f22c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    4b8371f View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    3b7666c View commit details
    Browse the repository at this point in the history
  7. Split gen_usize_* benchmarks into gen_u32_* and gen_u64_*

    Copy non-controversial part of #36
    Credit: Paul Dicker <pitdicker@gmail.com>
    dhardy committed Nov 10, 2017
    Configuration menu
    Copy the full SHA
    d387570 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    6e9c1ab View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    ae365ef View commit details
    Browse the repository at this point in the history
  10. Isaac64: add test for true 32-bit values

    Includes both the values output now and the values which should be output by #36.
    dhardy committed Nov 10, 2017
    Configuration menu
    Copy the full SHA
    fd2660b View commit details
    Browse the repository at this point in the history
  11. Merge pull request #42 from dhardy/true_bytes

    True bytes
    dhardy authored Nov 10, 2017
    Configuration menu
    Copy the full SHA
    ab79378 View commit details
    Browse the repository at this point in the history
  12. Merge pull request #35 from dhardy/reseeding

    Reseeding: handle/forward failures from source RNG
    dhardy authored Nov 10, 2017
    Configuration menu
    Copy the full SHA
    c8a8f86 View commit details
    Browse the repository at this point in the history

Commits on Nov 11, 2017

  1. Configuration menu
    Copy the full SHA
    d67864a View commit details
    Browse the repository at this point in the history
  2. Convert ChaCha to use fill_via_u32_chunks

    This also replaces `core::num::Wrapping` with a few `wrapping_add`'s.
    There were about 30 conversions to and from `Wrapping`, while there are only
    9 wrapping operations.
    
    Because `fill_via_u32_chunks` expects a `[u32]`, converting away was just
    easier.
    pitdicker committed Nov 11, 2017
    Configuration menu
    Copy the full SHA
    d7b014c View commit details
    Browse the repository at this point in the history
  3. Fill isaac backwards, and use fill_via_u32_chunks

    Also uses a different solution to index without bounds checking, to recover a
    very little bit of lost performance.
    pitdicker committed Nov 11, 2017
    Configuration menu
    Copy the full SHA
    f92a347 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    707c3e1 View commit details
    Browse the repository at this point in the history
  5. Improve performance of isaac64::next_u32.

    This does some crazy things with indexing, but is 45% faster. We are no longer
    throwing away half of the results.
    pitdicker committed Nov 11, 2017
    Configuration menu
    Copy the full SHA
    415ef6f View commit details
    Browse the repository at this point in the history
  6. Add CI based on trust

    pitdicker committed Nov 11, 2017
    Configuration menu
    Copy the full SHA
    c218f7a View commit details
    Browse the repository at this point in the history
  7. Merge pull request #44 from pitdicker/ci

    Add CI based on `trust`
    dhardy authored Nov 11, 2017
    Configuration menu
    Copy the full SHA
    701679c View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    0bdb1c3 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    5f4bedf View commit details
    Browse the repository at this point in the history
  10. Improve documentation

    pitdicker committed Nov 11, 2017
    Configuration menu
    Copy the full SHA
    69d940f View commit details
    Browse the repository at this point in the history
  11. Merge pull request #45 from pitdicker/isaac_optim

    Improve ISAAC performance (take 2)
    dhardy authored Nov 11, 2017
    Configuration menu
    Copy the full SHA
    fe822c0 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    08dc010 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    500b574 View commit details
    Browse the repository at this point in the history
  14. Fix no_std errors

    pitdicker committed Nov 11, 2017
    Configuration menu
    Copy the full SHA
    7f3c9b0 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    d92451a View commit details
    Browse the repository at this point in the history
  16. Fix no_std errors

    pitdicker committed Nov 11, 2017
    Configuration menu
    Copy the full SHA
    14136e7 View commit details
    Browse the repository at this point in the history
  17. Travis: test on a bare-metal target

    (for no_std testing)
    dhardy committed Nov 11, 2017
    Configuration menu
    Copy the full SHA
    8971695 View commit details
    Browse the repository at this point in the history
  18. Crate dependencies: set default-features = false

    This is required for proper no-std support
    dhardy committed Nov 11, 2017
    Configuration menu
    Copy the full SHA
    6701189 View commit details
    Browse the repository at this point in the history
  19. Include ziggurat_tables.py

    Taken from rust/src/etc/ziggurat_tables.py
    pitdicker committed Nov 11, 2017
    Configuration menu
    Copy the full SHA
    2486226 View commit details
    Browse the repository at this point in the history

Commits on Nov 13, 2017

  1. Configuration menu
    Copy the full SHA
    35f0cd7 View commit details
    Browse the repository at this point in the history
  2. Travis: adjust build targets

    dhardy committed Nov 13, 2017
    Configuration menu
    Copy the full SHA
    32ea1d2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    026b50e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c74cb3f View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    065baa7 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    96ec26c View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    8b62a03 View commit details
    Browse the repository at this point in the history
  8. Merge most of branch 'no_std', minus no_std build

    Leave thumbv7em target disabled
    dhardy committed Nov 13, 2017
    Configuration menu
    Copy the full SHA
    7adefa0 View commit details
    Browse the repository at this point in the history
  9. Enable all thumb* targets

    We probably don't want all enabled; this is just to convince GH the branch isn't fully merged
    dhardy committed Nov 13, 2017
    Configuration menu
    Copy the full SHA
    82e18c6 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    137fe01 View commit details
    Browse the repository at this point in the history

Commits on Nov 14, 2017

  1. Configuration menu
    Copy the full SHA
    ae45ffe View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fe3486b View commit details
    Browse the repository at this point in the history
  3. Fix link to documentaion

    It linked to `rand` instead of `rand_core`.
    vks authored Nov 14, 2017
    Configuration menu
    Copy the full SHA
    afce69d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4fff5af View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2017

  1. Add cat_rng tool

    dhardy committed Nov 15, 2017
    Configuration menu
    Copy the full SHA
    1e84e50 View commit details
    Browse the repository at this point in the history

Commits on Nov 17, 2017

  1. JitterRng: reduce FACTOR to 3 to avoid overflow

    Rationale: have observed delta_average high enough to overflow with FACTOR=4
    (i.e. over 65536); overflow with FACTOR=3 would require 40-times higher
    which seems unlikely. FACTOR=3 appears to provide enough precision.
    dhardy committed Nov 17, 2017
    Configuration menu
    Copy the full SHA
    38e5d8d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    aafcba8 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    82d9731 View commit details
    Browse the repository at this point in the history
  4. JitterRng: fix benchmark

    dhardy committed Nov 17, 2017
    Configuration menu
    Copy the full SHA
    9d8021b View commit details
    Browse the repository at this point in the history
  5. NewSeeded: use JitterRng fallback

    Also restrict to prevent user implementation
    dhardy committed Nov 17, 2017
    Configuration menu
    Copy the full SHA
    b4746c8 View commit details
    Browse the repository at this point in the history
  6. Merge pull request #51 from vks/patch-1

    Fix link to documentaion
    dhardy authored Nov 17, 2017
    Configuration menu
    Copy the full SHA
    95c0b35 View commit details
    Browse the repository at this point in the history
  7. CI: move ci to utils/ci

    dhardy committed Nov 17, 2017
    Configuration menu
    Copy the full SHA
    bd4c793 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    cf211f9 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    2821328 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    53ab77e View commit details
    Browse the repository at this point in the history
  11. Cargo: do not use std by default in rand_core

    This is to work around what I'm pretty sure is a Cargo bug, and is causing
    build failures with no_std builds now.
    dhardy committed Nov 17, 2017
    Configuration menu
    Copy the full SHA
    8be4f63 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    a41c055 View commit details
    Browse the repository at this point in the history
  13. JitterRng::timer_stats: do not run example

    This writes to disk, which fails on CI.
    dhardy committed Nov 17, 2017
    Configuration menu
    Copy the full SHA
    eca5e36 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    bcde73a View commit details
    Browse the repository at this point in the history

Commits on Nov 20, 2017

  1. Configuration menu
    Copy the full SHA
    e472682 View commit details
    Browse the repository at this point in the history
  2. Disable FreeBSD nightly too

    'error: An unknown error occurred'
    dhardy committed Nov 20, 2017
    Configuration menu
    Copy the full SHA
    442e7a7 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #56 from dhardy/jitter-bench-darwin

    Workaround #55: don't run nightly tests on darwin
    dhardy authored Nov 20, 2017
    Configuration menu
    Copy the full SHA
    e7335be View commit details
    Browse the repository at this point in the history

Commits on Nov 21, 2017

  1. Fix JitterRng on Mac OS

    pitdicker committed Nov 21, 2017
    Configuration menu
    Copy the full SHA
    0ccaa6b View commit details
    Browse the repository at this point in the history
  2. Merge pull request #57 from pitdicker/jitterrng_apple

    Fix `JitterRng` on Mac OS
    dhardy authored Nov 21, 2017
    Configuration menu
    Copy the full SHA
    03ff2d6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2a38131 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    17e08de View commit details
    Browse the repository at this point in the history
  5. Disable FreeBSD nightly too

    'error: An unknown error occurred'
    dhardy committed Nov 21, 2017
    Configuration menu
    Copy the full SHA
    05d0449 View commit details
    Browse the repository at this point in the history
  6. Fix JitterRng on Mac OS

    pitdicker authored and dhardy committed Nov 21, 2017
    Configuration menu
    Copy the full SHA
    db99fda View commit details
    Browse the repository at this point in the history
  7. Merge pull request #54 from dhardy/new_seeded

    NewSeeded: use JitterRng fallback
    dhardy authored Nov 21, 2017
    Configuration menu
    Copy the full SHA
    8b0d1ad View commit details
    Browse the repository at this point in the history

Commits on Nov 24, 2017

  1. MockAddRng: remove templating

    This becomes difficult to deal with in WIP change
    dhardy committed Nov 24, 2017
    Configuration menu
    Copy the full SHA
    cc437de View commit details
    Browse the repository at this point in the history
  2. SeaHash, seeding via hash, SeadableRng::Seed

    Implement seeding via hash function
    Embed a compatible but customised SeaHash implementation
    Adjust SeadableRng to have associated Seed type
    dhardy committed Nov 24, 2017
    Configuration menu
    Copy the full SHA
    e621639 View commit details
    Browse the repository at this point in the history

Commits on Nov 25, 2017

  1. Fix JitterRng on Windows

    pitdicker committed Nov 25, 2017
    Configuration menu
    Copy the full SHA
    e87b0a7 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #63 from pitdicker/jitter_windows

    Fix JitterRng on Windows
    dhardy authored Nov 25, 2017
    Configuration menu
    Copy the full SHA
    9eca335 View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2017

  1. Configuration menu
    Copy the full SHA
    7897515 View commit details
    Browse the repository at this point in the history
  2. Remove from_hashable code

    dhardy committed Dec 1, 2017
    Configuration menu
    Copy the full SHA
    697d88a View commit details
    Browse the repository at this point in the history

Commits on Dec 3, 2017

  1. Merge rust-lang-nursery/master into dhardy/master

    This includes the rename jitter_rng.rs → jitter.rs
    dhardy committed Dec 3, 2017
    Configuration menu
    Copy the full SHA
    c03c211 View commit details
    Browse the repository at this point in the history

Commits on Dec 4, 2017

  1. Configuration menu
    Copy the full SHA
    eae85e2 View commit details
    Browse the repository at this point in the history

Commits on Dec 5, 2017

  1. Configuration menu
    Copy the full SHA
    c826587 View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2017

  1. Merge branch 'master' into dh-master

    This involves some updates to new WASM and seq code
    dhardy committed Dec 7, 2017
    Configuration menu
    Copy the full SHA
    b8fb05c View commit details
    Browse the repository at this point in the history

Commits on Dec 8, 2017

  1. Add alloc feature; enables seq code

    Yet another way to complicate the library; not too bad however.
    README updated with regards to features (new section)
    dhardy committed Dec 8, 2017
    Configuration menu
    Copy the full SHA
    51a27e1 View commit details
    Browse the repository at this point in the history

Commits on Dec 9, 2017

  1. Use a sign test for bools

    pitdicker committed Dec 9, 2017
    Configuration menu
    Copy the full SHA
    43267f7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c8c720e View commit details
    Browse the repository at this point in the history

Commits on Dec 10, 2017

  1. Configuration menu
    Copy the full SHA
    3f22ddd View commit details
    Browse the repository at this point in the history

Commits on Dec 11, 2017

  1. Configuration menu
    Copy the full SHA
    68edc9f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    173c2b4 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #68 from pitdicker/avoid_low_bits

    Avoid low bits
    dhardy authored Dec 11, 2017
    Configuration menu
    Copy the full SHA
    51cc0ed View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5e492e5 View commit details
    Browse the repository at this point in the history
  5. Cherry-pick 243e1ea: Add rand_core::le module, switch SeedableRng::Se…

    …ed types to u8 arrays
    dhardy committed Dec 11, 2017
    Configuration menu
    Copy the full SHA
    888c5d2 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    ada83bd View commit details
    Browse the repository at this point in the history
  7. Add sample_single to Range

    pitdicker committed Dec 11, 2017
    Configuration menu
    Copy the full SHA
    5a7dbb0 View commit details
    Browse the repository at this point in the history

Commits on Dec 12, 2017

  1. Configuration menu
    Copy the full SHA
    4d832a7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4e79c06 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    259281e View commit details
    Browse the repository at this point in the history

Commits on Dec 13, 2017

  1. Configuration menu
    Copy the full SHA
    1913e08 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6249973 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #69 from pitdicker/range_single_sample

    Add sample_single to Range
    dhardy authored Dec 13, 2017
    Configuration menu
    Copy the full SHA
    4ebd21f View commit details
    Browse the repository at this point in the history

Commits on Dec 14, 2017

  1. Fix tests: use Sample not Rand

    dhardy committed Dec 14, 2017
    Configuration menu
    Copy the full SHA
    af4f3f9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9d236da View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e90e9eb View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    fe40af0 View commit details
    Browse the repository at this point in the history
  5. Merge pull request #71 from dhardy/simple-rand

    Select "SimpleRand" over generic "Rand" for backwards compatibility
    dhardy authored Dec 14, 2017
    Configuration menu
    Copy the full SHA
    de17011 View commit details
    Browse the repository at this point in the history
  6. Add HC-128 RNG

    pitdicker committed Dec 14, 2017
    Configuration menu
    Copy the full SHA
    e18d489 View commit details
    Browse the repository at this point in the history
  7. impl CryptoRng for Hc128Rng

    That is kind of the goal here :-)
    pitdicker committed Dec 14, 2017
    Configuration menu
    Copy the full SHA
    0ac7b86 View commit details
    Browse the repository at this point in the history
  8. Add test for fill_bytes

    pitdicker committed Dec 14, 2017
    Configuration menu
    Copy the full SHA
    b9f7123 View commit details
    Browse the repository at this point in the history

Commits on Dec 16, 2017

  1. Configuration menu
    Copy the full SHA
    5741e16 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a0deb78 View commit details
    Browse the repository at this point in the history

Commits on Dec 18, 2017

  1. Merge pull request #75 from pitdicker/char_distrs

    Rename `AsciiWordChar` and optimize `Codepoint`
    dhardy authored Dec 18, 2017
    Configuration menu
    Copy the full SHA
    e3c8ca1 View commit details
    Browse the repository at this point in the history

Commits on Dec 19, 2017

  1. Configuration menu
    Copy the full SHA
    4058522 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f58b2f1 View commit details
    Browse the repository at this point in the history
  3. Fix comment

    dhardy committed Dec 19, 2017
    Configuration menu
    Copy the full SHA
    4e088f1 View commit details
    Browse the repository at this point in the history

Commits on Dec 20, 2017

  1. Configuration menu
    Copy the full SHA
    729644c View commit details
    Browse the repository at this point in the history

Commits on Dec 21, 2017

  1. Merge pull request #74 from pitdicker/hc-128

    Add HC-128 RNG
    dhardy authored Dec 21, 2017
    Configuration menu
    Copy the full SHA
    eaeee11 View commit details
    Browse the repository at this point in the history
  2. Restrict Seed type

    dhardy committed Dec 21, 2017
    Configuration menu
    Copy the full SHA
    4f1deb7 View commit details
    Browse the repository at this point in the history
  3. Replace convert_slice_{32,64} with read_u{32,64}_into

    And a little cleanup around the init functions
    pitdicker committed Dec 21, 2017
    Configuration menu
    Copy the full SHA
    92831f3 View commit details
    Browse the repository at this point in the history

Commits on Dec 23, 2017

  1. Configuration menu
    Copy the full SHA
    cc6da7a View commit details
    Browse the repository at this point in the history

Commits on Dec 27, 2017

  1. Merge pull request #77 from pitdicker/blockrng

    Replace `convert_slice_{32,64}` with `read_u{32,64}_into`
    dhardy authored Dec 27, 2017
    Configuration menu
    Copy the full SHA
    5d9acdc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e9359ac View commit details
    Browse the repository at this point in the history

Commits on Dec 28, 2017

  1. Configuration menu
    Copy the full SHA
    945e8ff View commit details
    Browse the repository at this point in the history

Commits on Dec 29, 2017

  1. Configuration menu
    Copy the full SHA
    4ea098b View commit details
    Browse the repository at this point in the history

Commits on Dec 31, 2017

  1. Merge pull request #80 from pitdicker/seed_sizes

    Restrict the seed type to a few more array sizes
    dhardy authored Dec 31, 2017
    Configuration menu
    Copy the full SHA
    45ace88 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #79 from pitdicker/range_128

    Make u128 range use widening multiply
    dhardy authored Dec 31, 2017
    Configuration menu
    Copy the full SHA
    1f9ce3a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    402e673 View commit details
    Browse the repository at this point in the history
  4. Improve performance of ReseedingRng

    * Move the check if it is time to reseed out of the `try_reseed_if_necessary`
      and make sure that function does not get inlined.
    * Invert the counter direction. This way we can compare against 0 instead of
      `self.threshold`
    * Doing the reseed check after generating a value turns out to be a bit faster.`
    pitdicker committed Dec 31, 2017
    Configuration menu
    Copy the full SHA
    4d10328 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    07717bc View commit details
    Browse the repository at this point in the history
  6. Add rand_core::le::test_read unit test

    Also minor doc fix
    dhardy committed Dec 31, 2017
    Configuration menu
    Copy the full SHA
    8990da2 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    14f02a2 View commit details
    Browse the repository at this point in the history

Commits on Jan 1, 2018

  1. Merge pull request #76 from pitdicker/reseeding_perf

    Reseeding perf
    dhardy authored Jan 1, 2018
    Configuration menu
    Copy the full SHA
    d5d9c75 View commit details
    Browse the repository at this point in the history

Commits on Jan 8, 2018

  1. Merge in upstream

    dhardy committed Jan 8, 2018
    Configuration menu
    Copy the full SHA
    a4ff5d7 View commit details
    Browse the repository at this point in the history