diff options
Diffstat (limited to 'src/util/random.c')
| -rw-r--r-- | src/util/random.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/util/random.c b/src/util/random.c index c754677..860cff0 100644 --- a/src/util/random.c +++ b/src/util/random.c @@ -61,3 +61,15 @@ GEN random_int(unsigned long bits) { GEN range = mkvec2(int2n(bits - 1), int2n(bits)); return gerepilecopy(ltop, genrand(range)); } + +GEN random_field_element(GEN field) { + switch (typ(field)) { + case t_INT: + return mkintmod(genrand(field), field); + case t_FFELT: + return genrand(field); + default: + pari_err_TYPE("", field); + return NULL; + } +} |
