ARTS
2.2.66
|
member functions of the Rng class and gsl_rng code More...
#include "rng.h"
#include <cstring>
#include <iostream>
#include <algorithm>
#include <vector>
#include <climits>
#include <cstddef>
#include <cstdlib>
#include <cstdio>
#include "arts.h"
#include "messages.h"
Go to the source code of this file.
Classes | |
struct | mt_state_t |
Macros | |
#define | N 624 /* Period parameters */ |
#define | M 397 |
#define | MAGIC(y) (((y)&0x1) ? 0x9908b0dfUL : 0) |
#define | N1 100 |
#define | ADD(t) {if (i==N1) abort(); gsl_rng_generator_types[i] = (t); i++; }; |
Functions | |
const gsl_rng_type ** | gsl_rng_types_setup (void) |
void | gsl_stream_printf (const char *label, const char *file, int line, const char *reason) |
gsl_stream_handler_t * | gsl_set_stream_handler (gsl_stream_handler_t *new_handler) |
FILE * | gsl_set_stream (FILE *new_stream) |
void | gsl_error (const char *reason, const char *file, int line, int gsl_errno) |
gsl_error_handler_t * | gsl_set_error_handler (gsl_error_handler_t *new_handler) |
gsl_error_handler_t * | gsl_set_error_handler_off (void) |
gsl_rng * | gsl_rng_alloc (const gsl_rng_type *T) |
int | gsl_rng_memcpy (gsl_rng *dest, const gsl_rng *src) |
gsl_rng * | gsl_rng_clone (const gsl_rng *q) |
void | gsl_rng_set (const gsl_rng *r, unsigned long int seed) |
unsigned long int | gsl_rng_get (const gsl_rng *r) |
double | gsl_rng_uniform (const gsl_rng *r) |
double | gsl_rng_uniform_pos (const gsl_rng *r) |
unsigned long int | gsl_rng_uniform_int (const gsl_rng *r, unsigned long int n) |
unsigned long int | gsl_rng_max (const gsl_rng *r) |
unsigned long int | gsl_rng_min (const gsl_rng *r) |
const char * | gsl_rng_name (const gsl_rng *r) |
size_t | gsl_rng_size (const gsl_rng *r) |
void * | gsl_rng_state (const gsl_rng *r) |
void | gsl_rng_print_state (const gsl_rng *r) |
void | gsl_rng_free (gsl_rng *r) |
Variables | |
const gsl_rng_type * | gsl_rng_mt19937 = &mt_type |
unsigned long int | gsl_rng_default_seed = 0 |
const gsl_rng_type * | gsl_rng_generator_types [N1] |
FILE * | gsl_stream = NULL |
gsl_stream_handler_t * | gsl_stream_handler = NULL |
gsl_error_handler_t * | gsl_error_handler = NULL |
member functions of the Rng class and gsl_rng code
The Rng class is a simple class that uses the gsl_rng_mt_19937 random number generator from the GNU Scientific Library http://www.gnu.org/software/gsl/.
The period of this generator is 2^{19937} - 1.
Definition in file rng.cc.
#define ADD | ( | t | ) | {if (i==N1) abort(); gsl_rng_generator_types[i] = (t); i++; }; |
#define MAGIC | ( | y | ) | (((y)&0x1) ? 0x9908b0dfUL : 0) |
#define N 624 /* Period parameters */ |
void gsl_error | ( | const char * | reason, |
const char * | file, | ||
int | line, | ||
int | gsl_errno | ||
) |
Definition at line 482 of file rng.cc.
References gsl_error_handler, and gsl_stream_printf().
gsl_rng* gsl_rng_alloc | ( | const gsl_rng_type * | T | ) |
Definition at line 541 of file rng.cc.
References GSL_ENOMEM, GSL_ERROR_VAL, gsl_rng_default_seed, gsl_rng_set(), gsl_rng_type::size, gsl_rng::state, and gsl_rng::type.
Referenced by Rng::Rng().
Definition at line 583 of file rng.cc.
References GSL_ENOMEM, GSL_ERROR_VAL, q, gsl_rng::state, and gsl_rng::type.
void gsl_rng_free | ( | gsl_rng * | r | ) |
unsigned long int gsl_rng_get | ( | const gsl_rng * | r | ) |
Definition at line 618 of file rng.cc.
References gsl_rng_type::get, gsl_rng::state, and gsl_rng::type.
unsigned long int gsl_rng_max | ( | const gsl_rng * | r | ) |
Definition at line 667 of file rng.cc.
References gsl_rng_type::max, and gsl_rng::type.
Definition at line 570 of file rng.cc.
References GSL_EINVAL, GSL_ERROR, GSL_SUCCESS, gsl_rng_type::size, gsl_rng::state, and gsl_rng::type.
unsigned long int gsl_rng_min | ( | const gsl_rng * | r | ) |
Definition at line 673 of file rng.cc.
References gsl_rng_type::min, and gsl_rng::type.
const char* gsl_rng_name | ( | const gsl_rng * | r | ) |
Definition at line 679 of file rng.cc.
References gsl_rng_type::name, and gsl_rng::type.
void gsl_rng_print_state | ( | const gsl_rng * | r | ) |
Definition at line 697 of file rng.cc.
References gsl_rng_type::size, gsl_rng::state, and gsl_rng::type.
void gsl_rng_set | ( | const gsl_rng * | r, |
unsigned long int | seed | ||
) |
Definition at line 611 of file rng.cc.
References gsl_rng_type::set, gsl_rng::state, and gsl_rng::type.
Referenced by Rng::force_seed(), gsl_rng_alloc(), and Rng::seed().
size_t gsl_rng_size | ( | const gsl_rng * | r | ) |
Definition at line 685 of file rng.cc.
References gsl_rng_type::size, and gsl_rng::type.
void* gsl_rng_state | ( | const gsl_rng * | r | ) |
Definition at line 691 of file rng.cc.
References gsl_rng::state.
const gsl_rng_type** gsl_rng_types_setup | ( | void | ) |
Definition at line 328 of file rng.cc.
References ADD, gsl_rng_generator_types, and gsl_rng_mt19937.
double gsl_rng_uniform | ( | const gsl_rng * | r | ) |
Definition at line 624 of file rng.cc.
References gsl_rng_type::get_double, gsl_rng::state, and gsl_rng::type.
Referenced by Rng::draw().
unsigned long int gsl_rng_uniform_int | ( | const gsl_rng * | r, |
unsigned long int | n | ||
) |
Definition at line 643 of file rng.cc.
References gsl_rng_type::get, GSL_EINVAL, GSL_ERROR_VAL, gsl_rng_type::max, gsl_rng_type::min, gsl_rng::state, and gsl_rng::type.
double gsl_rng_uniform_pos | ( | const gsl_rng * | r | ) |
Definition at line 630 of file rng.cc.
References gsl_rng_type::get_double, gsl_rng::state, and gsl_rng::type.
gsl_error_handler_t* gsl_set_error_handler | ( | gsl_error_handler_t * | new_handler | ) |
Definition at line 497 of file rng.cc.
References gsl_error_handler.
gsl_error_handler_t* gsl_set_error_handler_off | ( | void | ) |
Definition at line 506 of file rng.cc.
References gsl_error_handler.
FILE* gsl_set_stream | ( | FILE * | new_stream | ) |
Definition at line 446 of file rng.cc.
References gsl_stream.
gsl_stream_handler_t* gsl_set_stream_handler | ( | gsl_stream_handler_t * | new_handler | ) |
Definition at line 438 of file rng.cc.
References gsl_stream_handler.
void gsl_stream_printf | ( | const char * | label, |
const char * | file, | ||
int | line, | ||
const char * | reason | ||
) |
Definition at line 421 of file rng.cc.
References gsl_stream, and gsl_stream_handler.
Referenced by gsl_error().
gsl_error_handler_t* gsl_error_handler = NULL |
Definition at line 477 of file rng.cc.
Referenced by gsl_error(), gsl_set_error_handler(), and gsl_set_error_handler_off().
unsigned long int gsl_rng_default_seed = 0 |
Definition at line 301 of file rng.cc.
Referenced by gsl_rng_alloc().
const gsl_rng_type* gsl_rng_generator_types[N1] |
Definition at line 323 of file rng.cc.
Referenced by gsl_rng_types_setup().
const gsl_rng_type* gsl_rng_mt19937 = &mt_type |
Definition at line 300 of file rng.cc.
Referenced by gsl_rng_types_setup(), and Rng::Rng().
FILE* gsl_stream = NULL |
Definition at line 417 of file rng.cc.
Referenced by gsl_set_stream(), and gsl_stream_printf().
gsl_stream_handler_t* gsl_stream_handler = NULL |
Definition at line 418 of file rng.cc.
Referenced by gsl_set_stream_handler(), and gsl_stream_printf().