2025-01-26 18:33:45 +01:00

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;
}