Random number generation

This topic is 2033 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

Recommended Posts

//why not use random integer code instead of using the random float code to generate a random integer?!?!
int roll = (int) floor(glm::linearRand(1.0f, 7.0f) + 0.5f);

//why not say someValue = roll - 1
if (roll == 1)
someValue = 0;
else if (roll == 2)
someValue = 1;
else if (roll == 3)
someValue = 2;
else if (roll == 4)
someValue = 3;
else if (roll == 5)
someValue = 4;
else if(roll == 6)
someValue = 5;
else if(roll == 7)
someValue = 6;
else
someValue = 0;


The things I have to deal with sometimes...

Edited by ill

Share on other sites

//why not use random integer code instead of using the random float code to generate a random integer?!?!
int roll = (int) floor(glm::linearRand(1.0f, 7.0f) + 0.5f);

//why not say someValue = roll - 1
if (roll == 1)
someValue = 0;
else if (roll == 2)
someValue = 1;
else if (roll == 3)
someValue = 2;
else if (roll == 4)
someValue = 3;
else if (roll == 5)
someValue = 4;
else if(roll == 6)
someValue = 5;
else if(roll == 7)
someValue = 6;
else;
someValue = 0;


The things I have to deal with sometimes...

I made a small change which will keep people scratching their heads for a while.

Share on other sites

I made a small change which will keep people scratching their heads for a while.

That's just wrong...

Share on other sites

I made a small change which will keep people scratching their heads for a while.

Subtle. I like it.

Share on other sites

I just realized this: The distribution in the original code is messed up too (of course, all code is messed up to begin with). Numbers are distributed as:

[1.0f, 2.0f) -> [1.5f, 2.5f) -> 50% 1, 50% 2 // Crap, now 1 occurs only half as much as 2, 3, 4, 5 and 6!
[2.0f, 3.0f) -> [2.5f, 3.5f) -> 50% 2, 50% 3 // Good!
[3.0f, 4.0f) -> [3.5f, 4.5f) -> 50% 3, 50% 4 // Good!
[4.0f, 5.0f) -> [4.5f, 5.5f) -> 50% 4, 50% 5 // Good!
[5.0f, 6.0f) -> [5.5f, 6.5f) -> 50% 5, 50% 6 // Good!
[6.0f, 7.0f) -> [6.5f, 7.5f) -> 50% 6, 50% 7 // Crap, now 7 occurs only half as much as 2, 3, 4, 5 and 6!
[7.0f, 7.0f) -> [7.5f, 7.5f) -> ~0.000001% 7 // Pffft. Lame.


Of course, it's possible this code was specially written for this distribution exactly, and you "fixing" it will rip a whole in the fabric of the universe...

Share on other sites

Of course, it's possible this code was specially written for this distribution exactly, and you "fixing" it will rip a whole in the fabric of the universe...

Somehow tricking the CPU into dividing by zero without throwing... Who needs the LHC? We've got doomsday on tap, baby.

Edited by Khatharr

1. 1
2. 2
3. 3
Rutin
22
4. 4
5. 5

• 13
• 19
• 14
• 9
• 9
• Forum Statistics

• Total Topics
632930
• Total Posts
3009290
• Who's Online (See full list)

There are no registered users currently online

×

Important Information

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!