rng.cc File Reference

member functions of the Rng class and gsl_rng code More...

#include "rng.h"
#include <cstring>
#include <iostream>
#include "arts.h"
#include "messages.h"
#include <cstddef>
#include <cstdlib>
#include <cstdio>

Include dependency graph for rng.cc:

Go to the source code of this file.

Classes

struct  mt_state_t

Defines

#define N   624
#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_tgsl_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_tgsl_set_error_handler (gsl_error_handler_t *new_handler)
gsl_error_handler_tgsl_set_error_handler_off (void)
gsl_rnggsl_rng_alloc (const gsl_rng_type *T)
int gsl_rng_memcpy (gsl_rng *dest, const gsl_rng *src)
gsl_rnggsl_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_typegsl_rng_mt19937 = &mt_type
unsigned long int gsl_rng_default_seed = 0
const gsl_rng_typegsl_rng_generator_types [N1]
FILE * gsl_stream = NULL
gsl_stream_handler_tgsl_stream_handler = NULL
gsl_error_handler_tgsl_error_handler = NULL


Detailed Description

member functions of the Rng class and gsl_rng code

Author:
Cory Davis <cory@met.ed.ac.uk>
Date:
2003-06-26
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 Documentation

#define ADD (  )     {if (i==N1) abort(); gsl_rng_generator_types[i] = (t); i++; };

Definition at line 280 of file rng.cc.

Referenced by gsl_rng_types_setup().

#define M   397

Definition at line 149 of file rng.cc.

Referenced by magfield_nk(), matrix_exp_p30(), test1(), test10(), test11(), test13(), test3(), test5(), and test6().

#define MAGIC (  )     (((y)&0x1) ? 0x9908b0dfUL : 0)

#define N   624

Definition at line 148 of file rng.cc.

Referenced by lineshape_voigt_drayson(), and matrix_exp().

#define N1   100

Definition at line 276 of file rng.cc.


Function Documentation

void gsl_error ( const char *  reason,
const char *  file,
int  line,
int  gsl_errno 
)

Definition at line 450 of file rng.cc.

References gsl_stream_printf().

gsl_rng* gsl_rng_alloc ( const gsl_rng_type T  ) 

Definition at line 512 of file rng.cc.

References GSL_ENOMEM, GSL_ERROR_VAL, gsl_rng_set(), Rng::r, gsl_rng_type::size, gsl_rng::state, and gsl_rng::type.

Referenced by Rng::Rng().

gsl_rng* gsl_rng_clone ( const gsl_rng q  ) 

Definition at line 554 of file rng.cc.

References GSL_ENOMEM, GSL_ERROR_VAL, Rng::r, gsl_rng_type::size, gsl_rng::state, and gsl_rng::type.

void gsl_rng_free ( gsl_rng r  ) 

Definition at line 683 of file rng.cc.

References gsl_rng::state.

Referenced by Rng::~Rng().

unsigned long int gsl_rng_get ( const gsl_rng r  ) 

Definition at line 589 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 638 of file rng.cc.

References gsl_rng_type::max, and gsl_rng::type.

int gsl_rng_memcpy ( gsl_rng dest,
const gsl_rng src 
)

Definition at line 541 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 644 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 650 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 668 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 582 of file rng.cc.

References gsl_rng_type::set, gsl_rng::state, and gsl_rng::type.

Referenced by gsl_rng_alloc(), and Rng::seed().

size_t gsl_rng_size ( const gsl_rng r  ) 

Definition at line 656 of file rng.cc.

References gsl_rng_type::size, and gsl_rng::type.

void* gsl_rng_state ( const gsl_rng r  ) 

Definition at line 662 of file rng.cc.

References gsl_rng::state.

const gsl_rng_type** gsl_rng_types_setup ( void   ) 

Definition at line 283 of file rng.cc.

References ADD.

double gsl_rng_uniform ( const gsl_rng r  ) 

Definition at line 595 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 
)

double gsl_rng_uniform_pos ( const gsl_rng r  ) 

Definition at line 601 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 465 of file rng.cc.

gsl_error_handler_t* gsl_set_error_handler_off ( void   ) 

Definition at line 474 of file rng.cc.

FILE* gsl_set_stream ( FILE *  new_stream  ) 

Definition at line 406 of file rng.cc.

gsl_stream_handler_t* gsl_set_stream_handler ( gsl_stream_handler_t new_handler  ) 

Definition at line 398 of file rng.cc.

void gsl_stream_printf ( const char *  label,
const char *  file,
int  line,
const char *  reason 
)

Definition at line 381 of file rng.cc.

Referenced by gsl_error().


Variable Documentation

Definition at line 445 of file rng.cc.

unsigned long int gsl_rng_default_seed = 0

Definition at line 254 of file rng.cc.

Definition at line 278 of file rng.cc.

const gsl_rng_type* gsl_rng_mt19937 = &mt_type

Definition at line 253 of file rng.cc.

Referenced by Rng::Rng().

FILE* gsl_stream = NULL

Definition at line 377 of file rng.cc.

Definition at line 378 of file rng.cc.


Generated on Mon Mar 23 14:06:51 2009 for ARTS by  doxygen 1.5.6