2004-12-30 17:48:19 +01:00
|
|
|
#ifndef MATHS_H
|
|
|
|
#define MATHS_H
|
2004-12-23 13:58:39 +01:00
|
|
|
|
|
|
|
#include <math.h>
|
2004-12-30 17:48:19 +01:00
|
|
|
|
2004-12-23 13:58:39 +01:00
|
|
|
#include "bygfoot.h"
|
|
|
|
|
|
|
|
/**
|
2004-12-30 17:48:19 +01:00
|
|
|
Macros for random number generation (#rnd for float, #rndi and #gauss_disti for integer).
|
2004-12-23 13:58:39 +01:00
|
|
|
*/
|
2004-12-30 17:48:19 +01:00
|
|
|
#define math_rnd(lower,upper) ((gfloat)random()/(gfloat)0x7fffffff*((upper)-(lower))+(lower))
|
|
|
|
#define math_rndi(lower,upper) ((gint)rint( math_rnd((gfloat)(lower) - 0.499, (gfloat)(upper) + 0.499) ))
|
|
|
|
#define math_gauss_disti(lower, upper) ((gint)rint( math_gauss_dist((gfloat)lower - 0.499, (gfloat)upper + 0.499)))
|
2004-12-23 13:58:39 +01:00
|
|
|
|
|
|
|
gfloat
|
2004-12-30 17:48:19 +01:00
|
|
|
math_gaussrand(void);
|
2004-12-23 13:58:39 +01:00
|
|
|
|
|
|
|
gfloat
|
2004-12-30 17:48:19 +01:00
|
|
|
math_gauss_dist(gfloat lower, gfloat upper);
|
2004-12-23 13:58:39 +01:00
|
|
|
|
|
|
|
gint
|
2004-12-30 17:48:19 +01:00
|
|
|
math_get_place(gint value, gint place);
|
2004-12-23 13:58:39 +01:00
|
|
|
|
|
|
|
gint
|
2004-12-30 17:48:19 +01:00
|
|
|
math_round_integer(gint number, gint places);
|
|
|
|
|
|
|
|
void
|
|
|
|
math_generate_permutation(gint *array, gint start, gint end);
|
2004-12-23 13:58:39 +01:00
|
|
|
|
|
|
|
#endif
|