Hello, Manuel,
Please find attached a small patch to srfi27 that adds an #l prefix to integer 
constants greater than the max value supported by a signed 32 bit integer. This 
cleans up some error messages seen when running the recette on the jvm (and I 
imagine the native backend for 32bit systems). 
Best Regards,Joe

--- bigloo4.3b/api/srfi27/src/Llib/mrg32k3a.srfi	2017-10-17 02:30:20.000000000 -0700
+++ bigloo4.3b_srfi27fix/api/srfi27/src/Llib/mrg32k3a.srfi	2017-10-28 11:46:19.952618482 -0700
@@ -200,16 +200,17 @@
 ; available this is not necessary, but pseudo-randomize! is an expected
 ; to be called only occasionally so we do not provide this implementation.
 
-(define mrg32k3a-m1 4294967087) ; modulus of component 1
-(define mrg32k3a-m2 4294944443) ; modulus of component 2
+(define mrg32k3a-m1 #l4294967087) ; modulus of component 1
+(define mrg32k3a-m2 #l4294944443) ; modulus of component 2
 
 (define mrg32k3a-initial-state ; 0 3 6 9 12 15 of A^16, see below
-  '#( 1062452522
-      2961816100 
-       342112271 
-      2854655037 
-      3321940838 
-      3542344109))
+     
+  '#(#l1062452522
+     #l2961816100 
+     #l342112271 
+     #l2854655037 
+     #l3321940838 
+     #l3542344109))
 
 (define mrg32k3a-generators #f) ; computed when needed
 
@@ -288,12 +289,12 @@
         (power-power (product A A) (- b 1))))
 
   (define A                        ; the MRG32k3a recursion
-    '#(     0 1403580 4294156359
-            1       0          0
-            0       1          0
-       527612       0 4293573854
-            1       0          0
-            0       1          0))
+    '#(     #l0 #l1403580 #l4294156359
+            #l1       #l0          #l0
+            #l0       #l1          #l0
+            #l527612  #l0          #l4293573854
+            #l1       #l0          #l0
+            #l0       #l1          #l0))
 
   ; check arguments
   (if (not (and (integer? i) 

Reply via email to