Merge branch '2.5.x'
[catacomb] / rand / lcrand.c
index 1c76f65..f916c9c 100644 (file)
@@ -33,6 +33,7 @@
 #include <string.h>
 
 #include <mLib/bits.h>
+#include <mLib/macros.h>
 #include <mLib/sub.h>
 
 #include "grand.h"
@@ -106,15 +107,11 @@ uint32 lcrand(uint32 x)
 
   /* --- Now reduce mod p --- *
    *
-   * I'm using shifts and adds to do the multiply step here.  This needs to
-   * be changed if @D@ ever becomes something other than 5.
+   * I'm using shifts and adds to do the multiply step here.
    */
 
-#if D != 5
-#  error "Change shift sequence!"
-#endif
-
   {
+    STATIC_ASSERT(D == 5, "Shift sequence doesn't match prime");
     uint32 q;
 
     q = yy[1];