Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cmath>
- #include <cstdlib>
- #include <limits>
- double random() {
- constexpr double EPSILON = std::numeric_limits<double>::epsilon();
- const double RANDOM = std::rand();
- const double STAGE_1 = ((2.0 * RANDOM) / RAND_MAX) - 1.0;
- const double STAGE_2 = STAGE_1 - std::copysign(EPSILON, STAGE_1);
- return STAGE_2;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement