summaryrefslogtreecommitdiff
path: root/calc.c
diff options
context:
space:
mode:
Diffstat (limited to 'calc.c')
-rw-r--r--calc.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/calc.c b/calc.c
new file mode 100644
index 0000000..51ef6e2
--- /dev/null
+++ b/calc.c
@@ -0,0 +1,33 @@
+#include "global.h"
+#include "calc.h"
+#include "syscalls.h"
+
+int TDist[64];
+
+static uint lastrandom = 0x123456;
+
+void seedrandom(void)
+{
+ lastrandom = RTC_GetTicks();
+}
+
+unsigned int random()
+{
+ lastrandom = (0x41C64E6D*lastrandom) + 0x3039;
+ return (lastrandom >> 16);
+}
+
+void table()
+{
+ int x;
+ for(x = 0; x < 64; x++)
+ {
+ TDist[x] = (64 << 8) / (2.0 * x - 64);
+ }
+}
+
+void fill(uint *ptr, uint element, uint arraysize)
+{
+ for(;arraysize > 0; arraysize--, ptr++)
+ *ptr = element;
+}