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

UPD, ENH: improve RNG #6

Open
14 of 51 tasks
vkhodygo opened this issue Oct 6, 2022 · 0 comments
Open
14 of 51 tasks

UPD, ENH: improve RNG #6

vkhodygo opened this issue Oct 6, 2022 · 0 comments
Assignees
Labels
bug Something isn't working enhancement New feature or request

Comments

@vkhodygo
Copy link
Member

vkhodygo commented Oct 6, 2022

These are all the features that need to be implemented at some point:

  1. int
    • Streams
      • Streams
      • Streams from 0 to some n (n not included by default)
      • Streams from some m to some n (m is included and n is not by default)
      • Streams from 0 to some n with a boolean flag that allows n to be included; the default value is false
      • Streams from some m to some n with a boolean flag that allows n to be included; the default value is false
      • Streams of a given size
      • Streams of a given size from 0 to some n
      • Streams of a given size from some m to some n
      • Streams of a given size from 0 to some n with a boolean flag
      • Streams of a given size from some m to some n with a boolean flag
    • Singular values
      • Values from 0 to some n (n not included by default)
      • Values from some m to some n (m is included and n is not by default)
      • Values from 0 to some n with a boolean flag that allows n to be included; the default value is false
      • Values from some m to some n with a boolean flag that allows n to be included; the default value is false
  2. long
    • Streams
      • Streams
      • Streams from 0 to some n (n not included by default)
      • Streams from some m to some n (m is included and n is not by default)
      • Streams from 0 to some n with a boolean flag that allows n to be included; the default value is false
      • Streams from some m to some n with a boolean flag that allows n to be included; the default value is false
      • Streams of a given size
      • Streams of a given size from 0 to some n
      • Streams of a given size from some m to some n
      • Streams of a given size from 0 to some n with a boolean flag
      • Streams of a given size from some m to some n with a boolean flag
    • Singular values
      • Values from 0 to some n (n not included by default)
      • Values from some m to some n (m is included and n is not by default)
      • Values from 0 to some n with a boolean flag that allows n to be included; the default value is false
      • Values from some m to some n with a boolean flag that allows n to be included; the default value is false
  3. double
    • Singular values
      • Default generator for numbers in [0, 1)
      • Generator with a flag that allows 4 different unit ranges: [0, 1), [0, 1], (0, 1], (0, 1)
      • Default generator for [0, bound) 5a89fdf
      • Default generator for different ranges for the pair 0, bound 5a89fdf
      • Default generator for a custom range 5a89fdf
      • Default generator for different types of an interval 5a89fdf
    • Streams
      • Default stream
      • Default stream of size n
      • Stream for different unit ranges
      • Stream of size n for different unit ranges
      • Stream for a custom range that's a semi-open interval [a, b)
      • Stream for a custom range that's one of the four possible interval types: [a, b), [a, b], (a, b], (a, b)
      • Stream of size n for a custom range
      • Stream of size n for a custom range that's one of the four possible interval types
  4. float
    • Singular values
      • Default generator for numbers in [0, 1)
      • Generator with a flag that allows 4 different unit ranges: [0, 1), [0, 1], (0, 1], (0, 1)
      • Default generator for [0, bound)
      • Default generator for different ranges for the pair 0, bound
      • Default generator for a custom range
      • Default generator for different types of an interval
    • Buffer
      • Add a buffer to generate two float numbers from one long.
  5. Gaussian & exponential
    • New implementation if needed
  6. Improved MT
    • Parallel/faster implementation
@vkhodygo vkhodygo added bug Something isn't working enhancement New feature or request labels Oct 6, 2022
@vkhodygo vkhodygo self-assigned this Oct 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant