]> pd.if.org Git - afpopgen/blob - sim/run.c
initial commit
[afpopgen] / sim / run.c
1 #include <stdio.h>
2 #include <unistd.h>
3
4 #include <gsl/gsl_sf_bessel.h>
5 #include <gsl/gsl_rng.h>
6 #include <gsl/gsl_randist.h>
7
8 gsl_rng *rng;  /* global generator */
9
10 int main (void) {
11         const gsl_rng_type * T;
12         unsigned int r;
13         unsigned long seed;
14         double x = 5.0;
15         double y = gsl_sf_bessel_J0 (x);
16         printf ("J0(%g) = %.18e\n", x, y);
17
18         gsl_rng_env_setup();
19         T = gsl_rng_default;
20         rng = gsl_rng_alloc (T);
21         seed = (unsigned long)getpid();
22         gsl_rng_set(rng, seed);
23         printf("generator type: %s\n", gsl_rng_name(rng));
24         printf("seed = %lu\n", gsl_rng_default_seed);
25         printf("first value = %lu\n", gsl_rng_get(rng));
26
27         /* number of first element */
28         r = gsl_ran_hypergeometric(rng, 5, 5, 3);
29         printf("rhg = %u\n", r);
30         gsl_rng_free(rng);
31         return 0;
32 }