source: Sophya/trunk/SophyaLib/NTools/nbrandom.h@ 517

Last change on this file since 517 was 517, checked in by ansari, 26 years ago

no message

File size: 1.3 KB
RevLine 
[220]1/* fonctions pour generateurs aleatoires */
2/* cmv 23/06/94 */
3
4#ifndef NBRANDOM_H_SEEN
5#define NBRANDOM_H_SEEN
6
[244]7#include "machdefs.h"
[220]8#include <stdlib.h>
[517]9#ifdef __MWERKS__
10 #include "mwerksmath.h"
11 #include "unixmac.h"
[220]12#endif
13
14#define frand01() ( (float) drand48() )
15#define drand01() ( drand48() )
16#define ranf01() drand01()
17
18#define frandpm1() ( 2. * frand01() - 1.)
19#define drandpm1() ( 2. * drand01() - 1.)
20#define ranfpm1() drandpm1()
21
22struct tirage_alea {
23 int Nbin;
24 double Min,Max,Lbin;
25 double *Tab;
26};
27typedef struct tirage_alea TIREALEA;
28
29#ifdef __cplusplus
30extern "C" {
31#endif
32
33void Ini_Ranf_Quick(long seed_val, int lp);
34void Ini_Ranf(unsigned short seed_16v[3], int lp);
35void Get_Ranf(unsigned short seed_16v[3], int lp);
36void Auto_Ini_Ranf(int lp);
37
38void SetGauRange(double range);
39float NorRand1(void);
40double GauRnd1(double am, double s);
41float NorRand(void);
42double GauRnd(double am, double s);
43int NormCo(double *a,double *b
44 ,double mx,double my,double sx,double sy,double ro);
45void NormGau(double *x,double *y
46 ,double mx,double my,double sa,double sb,double teta);
47
48TIREALEA *init_tirage_alea(int nbin,double xmin,double xmax,double (*fonc) (double));
49double tirage_alea(TIREALEA *alea);
50int end_tirage_alea(TIREALEA *alea);
51
52#ifdef __cplusplus
53}
54#endif
55
56#endif
57
Note: See TracBrowser for help on using the repository browser.