(b76ad15ed0da636161de0243c547ee1e6fc95681)
#include "ruby/internal/config.h"
#include <errno.h>
#include <limits.h>
#include <math.h>
#include <float.h>
#include <time.h>
#include <sys/types.h>
#include <sys/stat.h>
#include "internal.h"
#include "internal/array.h"
#include "internal/compilers.h"
#include "internal/numeric.h"
#include "internal/random.h"
#include "internal/sanitizers.h"
#include "internal/variable.h"
#include "ruby_atomic.h"
#include "ruby/random.h"
#include "ruby/ractor.h"
#include "missing/mt19937.c"
#include "siphash.c"
Go to the source code of this file.
|
| RB_RANDOM_INTERFACE_DECLARE (rand_mt) |
|
unsigned int | rb_genrand_int32 (void) |
|
double | rb_genrand_real (void) |
|
void | random_mark (void *ptr) |
|
void | rb_random_base_init (rb_random_t *rnd) |
|
int | ruby_fill_random_bytes (void *seed, size_t size, int need_secure) |
|
unsigned long | rb_genrand_ulong_limited (unsigned long limit) |
|
unsigned int | rb_random_int32 (VALUE obj) |
|
double | rb_int_pair_to_real (uint32_t a, uint32_t b, int excl) |
|
double | rb_random_real (VALUE obj) |
|
unsigned long | rb_random_ulong_limited (VALUE obj, unsigned long limit) |
|
void | rb_rand_bytes_int32 (rb_random_get_int32_func *get_int32, rb_random_t *rnd, void *p, size_t n) |
|
VALUE | rb_random_bytes (VALUE obj, long n) |
|
| NO_SANITIZE ("unsigned-integer-overflow", extern st_index_t rb_hash_start(st_index_t h)) |
|
st_index_t | rb_hash_start (st_index_t h) |
|
st_index_t | rb_memhash (const void *ptr, long len) |
|
void | Init_RandomSeedCore (void) |
|
void | rb_reset_random_seed (void) |
|
void | InitVM_Random (void) |
|
void | Init_Random (void) |
|
◆ BIG_ENDIAN
◆ BYTE_ORDER
◆ DEFAULT_SEED_CNT
#define DEFAULT_SEED_CNT 4 |
◆ DEFAULT_SEED_LEN
◆ fill_random_bytes
◆ fill_random_bytes_syscall
#define fill_random_bytes_syscall |
( |
|
seed, |
|
|
|
size, |
|
|
|
need_secure |
|
) |
| -1 |
◆ fill_random_bytes_urandom
#define fill_random_bytes_urandom |
( |
|
seed, |
|
|
|
size |
|
) |
| -1 |
◆ id_minus
◆ id_plus
◆ LITTLE_ENDIAN
#define LITTLE_ENDIAN 1234 |
◆ random_free
◆ random_mark
◆ random_mt_mark
◆ sip_hash13
#define sip_hash13 ruby_sip_hash13 |
◆ SIP_HASH_STREAMING
#define SIP_HASH_STREAMING 0 |
◆ SIZEOF_INT32
◆ USE_DEV_URANDOM
#define USE_DEV_URANDOM 0 |
◆ with_random_seed
#define with_random_seed |
( |
|
size, |
|
|
|
add |
|
) |
| |
◆ int_must_be_32bit_at_least
typedef int int_must_be_32bit_at_least[sizeof(int) *CHAR_BIT< 32 ? -1 :1] |
◆ Init_Random()
void Init_Random |
( |
void |
| ) |
|
◆ Init_RandomSeedCore()
void Init_RandomSeedCore |
( |
void |
| ) |
|
◆ InitVM_Random()
void InitVM_Random |
( |
void |
| ) |
|
◆ NO_SANITIZE()
NO_SANITIZE |
( |
"unsigned-integer-overflow" |
, |
|
|
extern st_index_t |
rb_hash_startst_index_t h |
|
) |
| |
◆ random_mark()
void random_mark |
( |
void * |
ptr | ) |
|
◆ rb_genrand_int32()
unsigned int rb_genrand_int32 |
( |
void |
| ) |
|
◆ rb_genrand_real()
double rb_genrand_real |
( |
void |
| ) |
|
◆ rb_genrand_ulong_limited()
unsigned long rb_genrand_ulong_limited |
( |
unsigned long |
limit | ) |
|
◆ rb_hash_start()
◆ rb_int_pair_to_real()
◆ rb_memhash()
◆ rb_rand_bytes_int32()
◆ rb_random_base_init()
◆ rb_random_bytes()
◆ rb_random_int32()
unsigned int rb_random_int32 |
( |
VALUE |
obj | ) |
|
◆ RB_RANDOM_INTERFACE_DECLARE()
RB_RANDOM_INTERFACE_DECLARE |
( |
rand_mt |
| ) |
|
◆ rb_random_real()
double rb_random_real |
( |
VALUE |
obj | ) |
|
◆ rb_random_ulong_limited()
unsigned long rb_random_ulong_limited |
( |
VALUE |
obj, |
|
|
unsigned long |
limit |
|
) |
| |
◆ rb_reset_random_seed()
void rb_reset_random_seed |
( |
void |
| ) |
|
◆ ruby_fill_random_bytes()
int ruby_fill_random_bytes |
( |
void * |
seed, |
|
|
size_t |
size, |
|
|
int |
need_secure |
|
) |
| |
◆ key
◆ rb_cRandom
◆ rb_random_data_type
Initial value:= {
"random",
{
random_memsize,
},
}
Definition at line 251 of file random.c.
◆ u32