X-Git-Url: https://git.distorted.org.uk/u/mdw/catacomb/blobdiff_plain/4ab1268f3ec850a115a68966325aced4f08ec603..2b645fb792c62ae0d38fcde4c39e1bd0889b0e06:/lcrand.c diff --git a/lcrand.c b/lcrand.c index 88e9591..f53a3f2 100644 --- a/lcrand.c +++ b/lcrand.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: lcrand.c,v 1.2 1999/12/13 15:34:01 mdw Exp $ + * $Id: lcrand.c,v 1.4 2000/12/06 20:31:06 mdw Exp $ * * Simple linear congruential generator * @@ -30,6 +30,12 @@ /*----- Revision history --------------------------------------------------* * * $Log: lcrand.c,v $ + * Revision 1.4 2000/12/06 20:31:06 mdw + * Simplify uniform range transformation. + * + * Revision 1.3 2000/06/17 11:29:03 mdw + * Add the flags word to the generic generator. + * * Revision 1.2 1999/12/13 15:34:01 mdw * Add support for seeding from a generic pseudorandom source. * @@ -175,7 +181,7 @@ uint32 lcrand_range(uint32 *x, uint32 m) uint32 r = P - P % m; do xx = lcrand(xx); while (xx >= r); *x = xx; - return (xx / (r / m)); + return (xx % m); } /*----- Generic interface -------------------------------------------------*/ @@ -257,7 +263,7 @@ static uint32 grange(grand *r, uint32 l) static const grand_ops gops = { "lcrand", - LCRAND_P, + LCRAND_P, 0, gmisc, gdestroy, graw, gbyte, grand_word, grange, grand_fill };