Index: libcfa/src/bits/random.hfa
===================================================================
--- libcfa/src/bits/random.hfa	(revision 639e4fc03a02dc79f5ba9c49c73a1e8b6ae95701)
+++ libcfa/src/bits/random.hfa	(revision d2ad1518036350cdec12ea05fd951c3f04312459)
@@ -10,6 +10,6 @@
 // Created On       : Fri Jan 14 07:18:11 2022
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Fri Jan 14 07:18:58 2022
-// Update Count     : 1
+// Last Modified On : Sat Nov 19 17:47:43 2022
+// Update Count     : 8
 // 
 
@@ -18,4 +18,10 @@
 #include <stdint.h>
 
+#ifdef __x86_64__										// 64-bit architecture
+#define LEHMER64
+#else													// 32-bit architecture
+#define XORSHIFT_6_21_7
+#endif // __x86_64__
+
 // 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.
@@ -23,4 +29,9 @@
 #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;
@@ -51,4 +62,10 @@
 
 //--------------------------------------------------
+
+#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;
