55 lines
876 B
C
55 lines
876 B
C
/*
|
|
Raydium - CQFD Corp.
|
|
http://raydium.org/
|
|
License: GPL - GNU General Public License, see "gpl.txt" file.
|
|
*/
|
|
|
|
#ifndef DONT_INCLUDE_HEADERS
|
|
#include "index.h"
|
|
#else
|
|
#include "headers/random.h"
|
|
#endif
|
|
|
|
void raydium_random_randomize(void)
|
|
{
|
|
srand(time(NULL));
|
|
}
|
|
|
|
GLfloat raydium_random_pos_1(void)
|
|
{
|
|
return (GLfloat) rand() / (GLfloat) RAND_MAX;
|
|
}
|
|
|
|
/* de -1.0 a 1.0 */
|
|
GLfloat raydium_random_neg_pos_1(void)
|
|
{
|
|
return (2.f * raydium_random_pos_1()) - 1.f;
|
|
}
|
|
|
|
GLfloat raydium_random_0_x(GLfloat i)
|
|
{
|
|
return(raydium_random_pos_1() * i);
|
|
}
|
|
|
|
GLfloat raydium_random_f(GLfloat min, GLfloat max)
|
|
{
|
|
return( (raydium_random_pos_1() * (max-min)) + min);
|
|
}
|
|
|
|
int raydium_random_i(int min, int max)
|
|
{
|
|
return (rand()%(max-min+1))+min;
|
|
}
|
|
|
|
|
|
signed char raydium_random_proba(GLfloat proba)
|
|
{
|
|
GLfloat min;
|
|
GLfloat max;
|
|
|
|
max=2*proba;
|
|
min=max-2;
|
|
|
|
return raydium_random_f(min,max)>=0;
|
|
}
|