uniform_01 generator
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 30/100
Research direction
Start with the comment in uniform_01.hpp, then read section 4 of the linked preprint and the referenced canonical-random-float C++ implementation. The work is complete when uniform_01 generates all representable floating-point values in [0,1) while filling the mantissa with random bits.
Written by the indexing model from the issue text.
Description
There's this comment in uniform_01.hpp:
Note: The current implementation is buggy, because it may not fill
all of the mantissa with random bits. I'm unsure how to fill a
(to-be-invented) @c boost::bigfloat class with random bits efficiently.
We do have an efficient algorithm (see section 4 of this preprint) and a C++ implementation capable of generating all representable floating-point numbers in [0,1). It fills the mantissa with a random integer and generates a geometric random number for the exponent. In the double precision case, it is even faster than simply multiplying a 64-bit integer by 2-64 and in the single precision case it's only 25% slower than multiplying a 32-bit integer by 2-32 (when used with the MT19937 URBG).
If you are interested we can help to integrate it into boost.
- Dominant language
- C++
- Stars
- 42
- Forks
- 76
- Avg merge
- 3d 22h
- Merged PRs (30d)
- 6
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from boostorg/random
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
-
Documentation
Difficulty 4/5 3-5 days Newbie friendliness 25/100
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
AXERA-TECH/ax-llm#77 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
games-on-whales/wolf#509 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
bug-unconfirmed
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
NVIDIA/cuda-samples#453 ·