/* nag_ref_vec_binomial (g05edc) Example Program. * * Copyright 1991 Numerical Algorithms Group. * * Mark 2, 1991. * * Mark 3 revised, 1994. */ #include #include #include #include #include #define N 100 #define P 0.5 int main(int argc, char *argv[]) { FILE *fpout; Integer exit_status = 0; Integer i, x; double *r; NagError fail; INIT_FAIL(fail); /* Check for command-line IO options */ fpout = nag_example_file_io(argc, argv, "-results", NULL); fprintf(fpout, "nag_ref_vec_binomial (g05edc) Example Program Results\n"); /* nag_random_init_repeatable (g05cbc). * Initialize random number generating functions to give * repeatable sequence */ nag_random_init_repeatable((Integer) 0); /* nag_ref_vec_binomial (g05edc). * Set up reference vector for generating pseudo-random * integers, binomial distribution */ nag_ref_vec_binomial((Integer) N, (double) P, &r, &fail); if (fail.code != NE_NOERROR) { fprintf(fpout, "Error from nag_ref_vec_binomial (g05edc) %s\n", fail.message); exit_status = 1; goto END; } for (i = 1; i <= 5; i++) { /* nag_return_discrete (g05eyc). * Pseudo-random integer from reference vector */ x = nag_return_discrete(r); fprintf(fpout, "%5ld\n", x); } END: if (fpout != stdout) fclose(fpout); if (r) NAG_FREE(r); return exit_status; }