summaryrefslogtreecommitdiff
path: root/target/randix.h
diff options
context:
space:
mode:
Diffstat (limited to 'target/randix.h')
-rw-r--r--target/randix.h41
1 files changed, 41 insertions, 0 deletions
diff --git a/target/randix.h b/target/randix.h
new file mode 100644
index 0000000..b4c36c0
--- /dev/null
+++ b/target/randix.h
@@ -0,0 +1,41 @@
+
+#ifndef RANDIX_H
+/*
+ * Argyll Color Correction System
+ *
+ * Random array indexing class
+ *
+ * Author: Graeme W. Gill
+ * Date: 16/10/96
+ *
+ * Copyright 1996, Graeme W. Gill
+ * All rights reserved.
+ *
+ * This material is licenced under the GNU AFFERO GENERAL PUBLIC LICENSE Version 3 :-
+ * see the License.txt file for licencing details.
+ */
+
+struct _randix {
+/* private: */
+ int tbit; /* Top bit mask */
+ int mask; /* Overall mask */
+ int xorm; /* Xor value */
+ int length; /* Length needed */
+ int ss; /* Current value */
+
+/* public: */
+ /* return the next in the sequence */
+ int (*next)(struct _randix *p);
+
+ /* Destroy ourselves */
+ void (*del)(struct _randix *p);
+
+ }; typedef struct _randix randix;
+
+/* Creator */
+/* Counts withing range 0 to length-1 */
+extern randix *new_randix(int length, int start);
+
+
+#define RANDIX_H
+#endif /* RANDIX_H */