--- /dev/null
+/**
+ * Author: Mark Larkin
+ *
+ * Copyright (c) 2007 Des Higgins, Julie Thompson and Toby Gibson.
+ */
+/*
+ *
+ * RandomGenerator
+ *
+ * -linear and additive congruential random number generators
+ * (see R. Sedgewick, Algorithms, Chapter 35)
+ *
+ * Implementation: R. Fuchs, EMBL Data Library, 1991
+ *
+ */
+#ifndef RANDOMGENERATOR_H
+#define RANDOMGENERATOR_H
+
+namespace clustalw
+{
+
+class RandomGenerator
+{
+ public:
+ /* Functions */
+ RandomGenerator(unsigned long s);
+ unsigned long addRand(unsigned long r);
+
+ /* Attributes */
+
+ private:
+ /* Functions */
+ unsigned long mult(unsigned long p, unsigned long q);
+
+ /* Attributes */
+ unsigned long j;
+ unsigned long a[55];
+ unsigned long m;
+ unsigned long m1;
+};
+
+}
+#endif