diff options
Diffstat (limited to 'src/util/random.c')
| -rw-r--r-- | src/util/random.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/util/random.c b/src/util/random.c index 860cff0..eaeceaf 100644 --- a/src/util/random.c +++ b/src/util/random.c @@ -62,6 +62,16 @@ GEN random_int(unsigned long bits) { return gerepilecopy(ltop, genrand(range)); } +GEN random_range(GEN lower, GEN upper) { + pari_sp ltop = avma; + if (gequal(lower, upper)) { + return gcopy(lower); + } + + GEN range = mkvec2(lower, subis(upper, 1)); + return gerepilecopy(ltop, genrand(range)); +} + GEN random_field_element(GEN field) { switch (typ(field)) { case t_INT: |
