diff --git a/common/train.cpp b/common/train.cpp index 5edd5876e..991679292 100644 --- a/common/train.cpp +++ b/common/train.cpp @@ -161,7 +161,7 @@ struct ggml_tensor * randomize_tensor_uniform(struct ggml_tensor * tensor, struc } float frand() { - return (float)rand()/(float)RAND_MAX; + return (float)rand()/((float)(RAND_MAX) + 1.0f); } float frand_normal(struct random_normal_distribution * rnd) { diff --git a/common/train.h b/common/train.h index 97f08964d..4857ba922 100644 --- a/common/train.h +++ b/common/train.h @@ -124,6 +124,7 @@ void free_random_uniform_distribution(struct random_uniform_distribution * rnd); struct ggml_tensor * randomize_tensor_normal (struct ggml_tensor * tensor, struct random_normal_distribution * rnd); struct ggml_tensor * randomize_tensor_uniform(struct ggml_tensor * tensor, struct random_uniform_distribution * rnd); +// generate random float in interval [0,1) float frand(); float frand_normal (struct random_normal_distribution * rnd); float frand_uniform(struct random_uniform_distribution * rnd);