#include "oct-rand.h"
Public Member Functions | |
~octave_rand (void)=default | |
Static Public Member Functions | |
static std::string | distribution (void) |
static void | distribution (const std::string &d) |
static void | exponential_distribution (void) |
static FloatNDArray | float_nd_array (const dim_vector &dims, float a=1.0) |
static float | float_scalar (float a=1.0) |
static Array< float > | float_vector (octave_idx_type n, float a=1.0) |
static void | gamma_distribution (void) |
static bool | instance_ok (void) |
static NDArray | nd_array (const dim_vector &dims, double a=1.0) |
static void | normal_distribution (void) |
static void | poisson_distribution (void) |
static void | reset (void) |
static void | reset (const std::string &d) |
static double | scalar (double a=1.0) |
static double | seed (void) |
static void | seed (double s) |
static uint32NDArray | state (const std::string &d="") |
static void | state (const uint32NDArray &s, const std::string &d="") |
static void | uniform_distribution (void) |
static Array< double > | vector (octave_idx_type n, double a=1.0) |
Protected Member Functions | |
octave_rand (void) | |
Private Types | |
enum | { unknown_dist, uniform_dist, normal_dist, expon_dist, poisson_dist, gamma_dist } |
Static Private Member Functions | |
static void | cleanup_instance (void) |
Private Attributes | |
int | current_distribution |
std::map< int, uint32NDArray > | rand_states |
bool | use_old_generators |
Static Private Attributes | |
static octave_rand * | instance = nullptr |
Definition at line 39 of file oct-rand.h.
|
private |
Enumerator | |
---|---|
unknown_dist | |
uniform_dist | |
normal_dist | |
expon_dist | |
poisson_dist | |
gamma_dist |
Definition at line 186 of file oct-rand.h.
|
protected |
Definition at line 48 of file oct-rand.cc.
References initialize_mersenne_twister(), and initialize_ranlib_generators().
Referenced by instance_ok().
|
default |
|
inlinestaticprivate |
Definition at line 184 of file oct-rand.h.
Referenced by instance_ok().
|
inlinestatic |
Definition at line 96 of file oct-rand.h.
Referenced by do_rand(), EigsComplexNonSymmetricFunc(), EigsComplexNonSymmetricMatrix(), EigsComplexNonSymmetricMatrixShift(), EigsRealNonSymmetricFunc(), EigsRealNonSymmetricMatrix(), EigsRealNonSymmetricMatrixShift(), EigsRealSymmetricFunc(), EigsRealSymmetricMatrix(), and EigsRealSymmetricMatrixShift().
|
inlinestatic |
Definition at line 103 of file oct-rand.h.
References d.
|
private |
Definition at line 199 of file oct-rand.cc.
References current_distribution, expon_dist, gamma_dist, normal_dist, poisson_dist, retval, string, and uniform_dist.
|
private |
Definition at line 235 of file oct-rand.cc.
References d, expon_dist, exponential_distribution(), gamma_dist, gamma_distribution(), get_dist_id(), id, normal_dist, normal_distribution(), poisson_dist, poisson_distribution(), uniform_dist, and uniform_distribution().
|
private |
Definition at line 285 of file oct-rand.cc.
References expon_dist, F77_FUNC(), and switch_to_generator().
|
private |
Definition at line 521 of file oct-rand.cc.
References a, dims, fill(), octave_value::numel(), and retval.
Definition at line 390 of file oct-rand.cc.
References a, current_distribution, expon_dist, f, F77_FUNC(), fgenexp(), fgengam(), fgennor(), fgenunf(), fignpoi(), gamma_dist, octave::math::isfinite(), NaN(), normal_dist, oct_float_rande(), oct_float_randg(), oct_float_randn(), oct_float_randu(), oct_randp(), poisson_dist, retval, save_state(), uniform_dist, and use_old_generators.
|
private |
Definition at line 489 of file oct-rand.cc.
References a, fill(), octave_value::numel(), and retval.
|
private |
Definition at line 301 of file oct-rand.cc.
References F77_FUNC(), gamma_dist, and switch_to_generator().
|
private |
Definition at line 506 of file oct-rand.cc.
References a, dims, fill(), octave_value::numel(), and retval.
|
private |
Definition at line 277 of file oct-rand.cc.
References F77_FUNC(), normal_dist, and switch_to_generator().
|
private |
Definition at line 293 of file oct-rand.cc.
References F77_FUNC(), poisson_dist, and switch_to_generator().
|
private |
Definition at line 143 of file oct-rand.cc.
References initialize_ranlib_generators(), and use_old_generators.
|
private |
Definition at line 178 of file oct-rand.cc.
References current_distribution, d, get_dist_id(), get_internal_state(), oct_init_by_entropy(), rand_states, and use_old_generators.
Definition at line 309 of file oct-rand.cc.
References a, current_distribution, dgenexp(), dgengam(), dgennor(), dgenunf(), dignpoi(), expon_dist, F77_FUNC(), gamma_dist, octave::math::isfinite(), NaN(), normal_dist, oct_rande(), oct_randg(), oct_randn(), oct_randp(), oct_randu(), poisson_dist, retval, save_state(), uniform_dist, and use_old_generators.
|
private |
Definition at line 78 of file oct-rand.cc.
References d, F77_FUNC(), octave::mach_info::flt_fmt_ieee_big_endian, getsd(), i, octave::mach_info::native_float_format(), and u.
|
private |
Definition at line 115 of file oct-rand.cc.
References d, F77_FUNC(), octave::mach_info::flt_fmt_ieee_big_endian, force_to_fit_range(), i, octave::mach_info::native_float_format(), s, setsd(), u, and use_old_generators.
|
private |
Definition at line 150 of file oct-rand.cc.
References current_distribution, d, get_dist_id(), and rand_states.
|
private |
Definition at line 156 of file oct-rand.cc.
References current_distribution, d, get_dist_id(), get_internal_state(), rand_states, s, set_internal_state(), and use_old_generators.
|
private |
Definition at line 269 of file oct-rand.cc.
References F77_FUNC(), switch_to_generator(), and uniform_dist.
|
private |
Definition at line 472 of file oct-rand.cc.
References a, fill(), octave_value::numel(), and retval.
|
inlinestatic |
Definition at line 121 of file oct-rand.h.
Referenced by do_distribution(), and do_rand().
|
private |
Definition at line 654 of file oct-rand.cc.
References a, current_distribution, dgenexp(), dgengam(), dgennor(), dgenunf(), dignpoi(), expon_dist, F77_FUNC(), gamma_dist, octave::math::isfinite(), NaN(), normal_dist, oct_fill_rande(), oct_fill_randg(), oct_fill_randn(), oct_fill_randp(), oct_fill_randu(), poisson_dist, save_state(), tmp, uniform_dist, use_old_generators, and x.
Referenced by do_float_nd_array(), do_float_vector(), do_nd_array(), and do_vector().
|
private |
Definition at line 723 of file oct-rand.cc.
References a, current_distribution, expon_dist, f, F77_FUNC(), fgenexp(), fgengam(), fgennor(), fgenunf(), fignpoi(), gamma_dist, octave::math::isfinite(), NaN(), normal_dist, oct_fill_float_rande(), oct_fill_float_randg(), oct_fill_float_randn(), oct_fill_float_randp(), oct_fill_float_randu(), poisson_dist, save_state(), tmp, uniform_dist, use_old_generators, and x.
|
inlinestatic |
|
inlinestatic |
Definition at line 160 of file oct-rand.h.
References a.
|
inlinestatic |
Definition at line 133 of file oct-rand.h.
Referenced by do_distribution(), and do_rand().
|
private |
Definition at line 608 of file oct-rand.cc.
References current_liboctave_error_handler, d, expon_dist, gamma_dist, normal_dist, poisson_dist, retval, uniform_dist, and unknown_dist.
Referenced by do_distribution(), do_reset(), and do_state().
|
private |
Definition at line 592 of file oct-rand.cc.
References MT_N, oct_get_state(), and s.
Referenced by do_reset(), do_state(), initialize_mersenne_twister(), and save_state().
|
private |
Definition at line 562 of file oct-rand.cc.
References current_distribution, expon_dist, gamma_dist, get_internal_state(), normal_dist, oct_init_by_entropy(), poisson_dist, rand_states, s, set_internal_state(), and uniform_dist.
Referenced by octave_rand().
|
private |
Definition at line 541 of file oct-rand.cc.
References current_distribution, F77_FUNC(), force_to_fit_range(), octave::sys::base_tm::hour(), hour(), octave::sys::base_tm::mday(), octave::sys::base_tm::min(), octave::sys::base_tm::sec(), setall(), and uniform_dist.
Referenced by do_reset(), and octave_rand().
|
static |
Definition at line 58 of file oct-rand.cc.
References singleton_cleanup_list::add(), cleanup_instance(), instance, octave_rand(), and retval.
|
inlinestatic |
|
inlinestatic |
Definition at line 115 of file oct-rand.h.
Referenced by do_distribution(), and do_rand().
|
inlinestatic |
Definition at line 127 of file oct-rand.h.
Referenced by do_distribution(), and do_rand().
|
inlinestatic |
Definition at line 68 of file oct-rand.h.
Referenced by do_rand().
|
inlinestatic |
Definition at line 89 of file oct-rand.h.
References d.
|
private |
Definition at line 602 of file oct-rand.cc.
References current_distribution, get_internal_state(), and rand_states.
Referenced by do_float_scalar(), do_scalar(), and fill().
|
inlinestatic |
|
inlinestatic |
Definition at line 61 of file oct-rand.h.
References s.
|
private |
Definition at line 630 of file oct-rand.cc.
References MT_N, oct_init_by_array(), oct_set_state(), and s.
Referenced by do_state(), initialize_mersenne_twister(), and switch_to_generator().
|
inlinestatic |
|
inlinestatic |
Definition at line 81 of file oct-rand.h.
|
private |
Definition at line 643 of file oct-rand.cc.
References current_distribution, rand_states, and set_internal_state().
Referenced by do_exponential_distribution(), do_gamma_distribution(), do_normal_distribution(), do_poisson_distribution(), and do_uniform_distribution().
|
inlinestatic |
Definition at line 109 of file oct-rand.h.
Referenced by do_distribution(), and do_rand().
|
inlinestatic |
Definition at line 154 of file oct-rand.h.
References a.
Referenced by EigsComplexNonSymmetricFunc(), EigsComplexNonSymmetricMatrix(), EigsComplexNonSymmetricMatrixShift(), EigsRealNonSymmetricFunc(), EigsRealNonSymmetricMatrix(), EigsRealNonSymmetricMatrixShift(), EigsRealSymmetricFunc(), EigsRealSymmetricMatrix(), and EigsRealSymmetricMatrixShift().
|
private |
Definition at line 197 of file oct-rand.h.
Referenced by do_distribution(), do_float_scalar(), do_reset(), do_scalar(), do_state(), fill(), initialize_mersenne_twister(), initialize_ranlib_generators(), save_state(), and switch_to_generator().
|
staticprivate |
Definition at line 182 of file oct-rand.h.
Referenced by instance_ok().
|
private |
Definition at line 204 of file oct-rand.h.
Referenced by do_reset(), do_state(), initialize_mersenne_twister(), save_state(), and switch_to_generator().
|
private |
Definition at line 201 of file oct-rand.h.
Referenced by do_float_scalar(), do_reset(), do_scalar(), do_seed(), do_state(), and fill().