X-Git-Url: https://git.hcoop.net/bpt/guile.git/blobdiff_plain/a2a95453eb62dc489e6376f8e987db668837ba14..5dae693cb5f8f082b3188f3dc955d1f86fe6a50a:/libguile/random.h diff --git a/libguile/random.h b/libguile/random.h index 51b9a0c1a..109969e01 100644 --- a/libguile/random.h +++ b/libguile/random.h @@ -40,7 +40,7 @@ typedef struct scm_t_rstate { struct scm_t_rng *rng; - double normal_next; /* For scm_c_uniform01 */ + double normal_next; /* For scm_c_normal01 */ /* Custom fields follow here */ } scm_t_rstate; @@ -67,6 +67,7 @@ SCM_API double scm_c_uniform01 (scm_t_rstate *); SCM_API double scm_c_normal01 (scm_t_rstate *); SCM_API double scm_c_exp1 (scm_t_rstate *); SCM_API scm_t_uint32 scm_c_random (scm_t_rstate *, scm_t_uint32 m); +SCM_API scm_t_uint64 scm_c_random64 (scm_t_rstate *state, scm_t_uint64 m); SCM_API SCM scm_c_random_bignum (scm_t_rstate *, SCM m); @@ -85,6 +86,7 @@ SCM_API SCM scm_copy_random_state (SCM state); SCM_API SCM scm_seed_to_random_state (SCM seed); SCM_API SCM scm_datum_to_random_state (SCM datum); SCM_API SCM scm_random_state_to_datum (SCM state); +SCM_API SCM scm_random_state_from_platform (void); SCM_API SCM scm_random_uniform (SCM state); SCM_API SCM scm_random_solid_sphere_x (SCM v, SCM state); SCM_API SCM scm_random_hollow_sphere_x (SCM v, SCM state); @@ -93,6 +95,8 @@ SCM_API SCM scm_random_normal_vector_x (SCM v, SCM state); SCM_API SCM scm_random_exp (SCM state); SCM_INTERNAL void scm_init_random (void); +SCM_INTERNAL void scm_i_random_bytes_from_platform (unsigned char *buf, size_t len); + #endif /* SCM_RANDOM_H */ /*