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

seq: use Floyd's combination algorithm to sample indices #479

Merged
merged 14 commits into from Jul 30, 2018

Commits on Jul 30, 2018

  1. Copy the full SHA
    647371e View commit details
    Browse the repository at this point in the history
  2. sample_indices: refactor; switch _inplaces to u32 only

    The sample_indices_inplace algorithm is inappropriate for large numbers
    dhardy committed Jul 30, 2018
    Copy the full SHA
    28d4949 View commit details
    Browse the repository at this point in the history
  3. Copy the full SHA
    949833d View commit details
    Browse the repository at this point in the history
  4. sample_indices: use u32 internally only

    (controversial)
    dhardy committed Jul 30, 2018
    Copy the full SHA
    2f5a03a View commit details
    Browse the repository at this point in the history
  5. Copy the full SHA
    d4da64e View commit details
    Browse the repository at this point in the history
  6. sample_indices: update selection heuristics

    Update with new benchmark data from `u32` impls of Floyd's and cached
    algorithms (inplace alg already used benchmarks from `u32` impl).
    Update Floyd's with a balanced model adequate for both shuffled
    and unshuffled versions.
    dhardy committed Jul 30, 2018
    Copy the full SHA
    98889f2 View commit details
    Browse the repository at this point in the history
  7. sample_indices: use f32 in heuristics and add short-cut

    Motivation: don't have to worry about overflow whichever index type is used.
    Appears to slightly improve some benchmarks, no affect on others.
    dhardy committed Jul 30, 2018
    Copy the full SHA
    c95f896 View commit details
    Browse the repository at this point in the history
  8. sample_indices: abstract over return type

    This is to allow use of u32 or usize internally
    dhardy committed Jul 30, 2018
    Copy the full SHA
    59d0823 View commit details
    Browse the repository at this point in the history
  9. Copy the full SHA
    5fc1da8 View commit details
    Browse the repository at this point in the history
  10. Copy the full SHA
    d624e84 View commit details
    Browse the repository at this point in the history
  11. Copy the full SHA
    91f0af2 View commit details
    Browse the repository at this point in the history
  12. Copy the full SHA
    fb64cf2 View commit details
    Browse the repository at this point in the history
  13. sample_indices: update model parameters

    This accounts for the "cache" method being replaced by
    rejection sampling and now using usize again.
    dhardy committed Jul 30, 2018
    Copy the full SHA
    805022c View commit details
    Browse the repository at this point in the history
  14. Copy the full SHA
    19897e5 View commit details
    Browse the repository at this point in the history