(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