+ return x;
+}
+
+double erand48 (unsigned short subi[3])
+{
+ uint64_t r = iterate48 (subi);
+ return ((double)r) / 281474976710655.;
+}
+
+long jrand48 (unsigned short subi[3])
+{
+ return ((int64_t)iterate48 (subi)) >> 16;
+}
+
+long nrand48 (unsigned short subi[3])
+{
+ return iterate48 (subi) >> 17;