Index: libcfa/src/bits/random.hfa
===================================================================
--- libcfa/src/bits/random.hfa	(revision 910e1d0125019ed312cb7ec9bfe6067bddcf8ab6)
+++ libcfa/src/bits/random.hfa	(revision 9fce2572b22753fff14164bc36f6a3b14e74ae49)
@@ -10,6 +10,6 @@
 // Created On       : Fri Jan 14 07:18:11 2022
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Nov 19 17:47:43 2022
-// Update Count     : 8
+// Last Modified On : Mon Nov 21 17:50:12 2022
+// Update Count     : 15
 // 
 
@@ -18,4 +18,5 @@
 #include <stdint.h>
 
+// Set default PRNG for architecture size.
 #ifdef __x86_64__										// 64-bit architecture
 #define LEHMER64
@@ -24,4 +25,17 @@
 #endif // __x86_64__
 
+// C/CFA PRNG name and random-state.
+#ifdef LEHMER64
+#define PRNG_NAME lehmer64
+#define PRNG_ARG_T __uint128_t
+#endif // LEHMER64
+
+#ifdef XORSHIFT_6_21_7
+#define PRNG_NAME xorshift_6_21_7
+#define PRNG_ARG_T uint32_t
+#endif // XORSHIFT_6_21_7
+
+#ifdef __cforall										// don't include in C code (invoke.h)
+
 // Pipelined to allow out-of-order overlap with reduced dependencies. Critically, the current random state is returned
 // (copied), and then compute and store the next random value.
@@ -29,9 +43,4 @@
 #if defined(__SIZEOF_INT128__)
 //--------------------------------------------------
-	#ifdef LEHMER64
-	#define PRNG_ARG_T __uint128_t
-	#define PRNG_NAME lehmer64
-	#endif // LEHMER64
-
 	static inline uint64_t lehmer64( __uint128_t & state ) {
 		__uint128_t ret = state;
@@ -62,10 +71,4 @@
 
 //--------------------------------------------------
-
-#ifdef XORSHIFT_6_21_7
-#define PRNG_ARG_T uint32_t
-#define PRNG_NAME xorshift_6_21_7
-#endif // XORSHIFT_6_21_7
-
 static inline uint32_t xorshift_6_21_7( uint32_t & state ) {
 	uint32_t ret = state;
@@ -78,6 +81,6 @@
 //--------------------------------------------------
 typedef struct {
-  uint32_t a, b, c, d;
-  uint32_t counter;
+	uint32_t a, b, c, d;
+	uint32_t counter;
 } xorwow__state_t;
 
@@ -133,2 +136,4 @@
 #undef C
 #undef D
+
+#endif // __cforall
Index: libcfa/src/concurrency/invoke.h
===================================================================
--- libcfa/src/concurrency/invoke.h	(revision 910e1d0125019ed312cb7ec9bfe6067bddcf8ab6)
+++ libcfa/src/concurrency/invoke.h	(revision 9fce2572b22753fff14164bc36f6a3b14e74ae49)
@@ -10,6 +10,6 @@
 // Created On       : Tue Jan 17 12:27:26 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Nov 18 12:20:26 2022
-// Update Count     : 49
+// Last Modified On : Mon Nov 21 17:40:24 2022
+// Update Count     : 55
 //
 
@@ -17,4 +17,5 @@
 #include "bits/defs.hfa"
 #include "bits/locks.hfa"
+#include "bits/random.hfa"
 #include "kernel/fwd.hfa"
 
@@ -222,5 +223,5 @@
 		struct processor * last_proc;
 
-		__uint128_t random_state;						// fast random numbers
+		PRNG_ARG_T random_state;						// fast random numbers
 
 		#if defined( __CFA_WITH_VERIFY__ )
Index: tests/.expect/PRNG.x86.txt
===================================================================
--- tests/.expect/PRNG.x86.txt	(revision 9fce2572b22753fff14164bc36f6a3b14e74ae49)
+++ tests/.expect/PRNG.x86.txt	(revision 9fce2572b22753fff14164bc36f6a3b14e74ae49)
@@ -0,0 +1,96 @@
+
+       PRNG()   PRNG(5)    PRNG(0,5)
+      8333105         1            2
+   1989339636         4            5
+    266970699         3            2
+   1928130121         3            4
+   1351003938         4            5
+   1624164922         4            3
+    363429604         1            2
+   3355083174         1            1
+    214422584         1            1
+   2266729947         1            2
+   3649702519         2            4
+   2250875012         2            4
+   4184653025         1            3
+   2640851227         2            5
+    206468178         2            3
+   2600873108         1            3
+   3007574582         3            3
+    394476790         0            2
+   1312145388         1            5
+   2989081290         2            4
+seed 1009
+
+Sequential
+trials 100000000 buckets 100000 min 873 max 1140 avg 1000.0 std 31.3 rstd 3.1%
+
+Concurrent
+trials 100000000 buckets 100000 min 873 max 1140 avg 1000.0 std 31.3 rstd 3.1%
+trials 100000000 buckets 100000 min 873 max 1140 avg 1000.0 std 31.3 rstd 3.1%
+trials 100000000 buckets 100000 min 873 max 1140 avg 1000.0 std 31.3 rstd 3.1%
+trials 100000000 buckets 100000 min 873 max 1140 avg 1000.0 std 31.3 rstd 3.1%
+
+       prng()   prng(5)    prng(0,5)
+      8333105         1            2
+   1989339636         4            5
+    266970699         3            2
+   1928130121         3            4
+   1351003938         4            5
+   1624164922         4            3
+    363429604         1            2
+   3355083174         1            1
+    214422584         1            1
+   2266729947         1            2
+   3649702519         2            4
+   2250875012         2            4
+   4184653025         1            3
+   2640851227         2            5
+    206468178         2            3
+   2600873108         1            3
+   3007574582         3            3
+    394476790         0            2
+   1312145388         1            5
+   2989081290         2            4
+seed 1009
+
+Sequential
+trials 100000000 buckets 100000 min 873 max 1140 avg 1000.0 std 31.3 rstd 3.1%
+
+Concurrent
+trials 100000000 buckets 100000 min 873 max 1140 avg 1000.0 std 31.3 rstd 3.1%
+trials 100000000 buckets 100000 min 873 max 1140 avg 1000.0 std 31.3 rstd 3.1%
+trials 100000000 buckets 100000 min 873 max 1140 avg 1000.0 std 31.3 rstd 3.1%
+trials 100000000 buckets 100000 min 873 max 1140 avg 1000.0 std 31.3 rstd 3.1%
+
+      prng(t) prng(t,5)  prng(t,0,5)
+      8333105         1            2
+   1989339636         4            5
+    266970699         3            2
+   1928130121         3            4
+   1351003938         4            5
+   1624164922         4            3
+    363429604         1            2
+   3355083174         1            1
+    214422584         1            1
+   2266729947         1            2
+   3649702519         2            4
+   2250875012         2            4
+   4184653025         1            3
+   2640851227         2            5
+    206468178         2            3
+   2600873108         1            3
+   3007574582         3            3
+    394476790         0            2
+   1312145388         1            5
+   2989081290         2            4
+seed 1009
+
+Sequential
+trials 100000000 buckets 100000 min 873 max 1140 avg 1000.0 std 31.3 rstd 3.1%
+
+Concurrent
+trials 100000000 buckets 100000 min 873 max 1140 avg 1000.0 std 31.3 rstd 3.1%
+trials 100000000 buckets 100000 min 873 max 1140 avg 1000.0 std 31.3 rstd 3.1%
+trials 100000000 buckets 100000 min 873 max 1140 avg 1000.0 std 31.3 rstd 3.1%
+trials 100000000 buckets 100000 min 873 max 1140 avg 1000.0 std 31.3 rstd 3.1%
Index: sts/.expect/nested_function.txt
===================================================================
--- tests/.expect/nested_function.txt	(revision 910e1d0125019ed312cb7ec9bfe6067bddcf8ab6)
+++ 	(revision )
@@ -1,1 +1,0 @@
-total 80
Index: tests/.expect/nested_function.x86.txt
===================================================================
--- tests/.expect/nested_function.x86.txt	(revision 9fce2572b22753fff14164bc36f6a3b14e74ae49)
+++ tests/.expect/nested_function.x86.txt	(revision 9fce2572b22753fff14164bc36f6a3b14e74ae49)
@@ -0,0 +1,1 @@
+total 55
