<html>
<body>
  <div id="body" style="background-color:#ffffff;" >
<table cellspacing="0" cellpadding="0" border="0" rules="cols">
<tr class="head" style="border-bottom-width:1px;border-bottom-style:solid;" ><td class="headtd" style="padding:0;padding-top:.2em;" colspan="4">Commit in <b><tt>lxdream</tt></b></td></tr>
<tr><td><tt><a href="#file1">.hgignore</a></tt></td><td id="added" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ddffdd;" align="right">+7</td><td id="removed" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ffdddd;" align="right">-1</td><td class="headtd2" style="padding-left:.3em;padding-right:.3em;" nowrap="nowrap">5f56fc931112 -> 4727c2006e0f</td></tr>
<tr class="alt" style=";" ><td><tt>test/<a href="#file2"><span id="addedalt" style="background-color:#ccf7cc;" >randmath.c</span></a></tt></td><td id="addedalt" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ccf7cc;" align="right">+60</td><td></td><td class="headtd2" style="padding-left:.3em;padding-right:.3em;" align="right" nowrap="nowrap">added 4727c2006e0f</td></tr>
<tr><td><tt>    /random.dat</tt></td><td colspan="2" align="center"><small id="info" style="color: #888888;" >[empty]</small></td><td class="headtd2" style="padding-left:.3em;padding-right:.3em;" nowrap="nowrap">5f56fc931112 -> 4727c2006e0f</td></tr>
<tr><td></td><td id="added" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ddffdd;" align="right">+67</td><td id="removed" class="headtd2" style="padding-left:.3em;padding-right:.3em; background-color:#ffdddd;" align="right">-1</td><td></td></tr>
</table>
<small id="info" style="color: #888888;" >1 added + 2 modified, total 3 files</small><br />
<pre class="comment" style="white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;white-space:pre-wrap;word-wrap:break-word;padding:4px;border:1px dashed #000000;background-color:#ffffdd;" >
Add missing files for the randmath test, and update .hgignore
</pre>
<hr /><a name="file1" /><div class="file" style="border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;" >
<span class="pathname" style="font-family:monospace; float:right;" >lxdream</span><br />
<div class="fileheader" style="margin-bottom:.5em;" ><big><b>.hgignore</b></big> <small id="info" style="color: #888888;" >5f56fc931112 -> 4727c2006e0f</small></div>
<pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >--- lxdream/.hgignore
+++ lxdream/.hgignore
@@ -6,6 +6,7 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > .*\~
 .*\.gmo
 .*\.mo
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+autom4te.cache
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > Makefile
 config.h
 config.status
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -18,7 +19,9 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > src/drivers/mac_keymap.h
 src/gendec
 src/genglsl
</pre><pre id="removed" class="diff" style="margin:0; background-color:#ffdddd;" >-src/pvr2/gl_slsrc.c
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+src/genmach
+src/pvr2/shaders.h
+src/pvr2/shaders.def
</pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > src/sh4/sh4dasm.c
 src/sh4/sh4stat.c
 src/sh4/sh4core.c
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >@@ -49,3 +52,6 @@
</small></pre><pre id="context" class="diff" style="margin:0; background-color:#eeeeee;" > test/testta.bin
 test/testaica
 test/testaica.bin
</pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+test/randmath
+test/randmath.bin
+test/randmath.native
</pre><pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >\ No newline at end of file
</small></pre></div>
<hr /><a name="file2" /><div class="file" style="border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;" >
<span id="added" class="pathname" style="font-family:monospace; float:right; background-color:#ddffdd;" >lxdream/test</span><br />
<div id="added" class="fileheader" style="margin-bottom:.5em; background-color:#ddffdd;" ><big><b>randmath.c</b></big> <small id="info" style="color: #888888;" >added at 4727c2006e0f</small></div>
<pre class="diff" style="margin:0;" ><small id="info" style="color: #888888;" >--- lxdream/test/randmath.c
+++ lxdream/test/randmath.c
@@ -0,0 +1,60 @@
</small></pre><pre id="added" class="diff" style="margin:0; background-color:#ddffdd;" >+#include <stdlib.h>
+#include <stdio.h>
+
+typedef unsigned char uint8_t;
+typedef signed char int8_t;
+typedef unsigned short uint16_t;
+typedef signed short int16_t;
+typedef unsigned int uint32_t;
+typedef signed int int32_t;
+typedef unsigned long long uint64_t;
+typedef signed long long int64_t;
+
+#define TEST_REPS 64
+
+void printuint8_t(uint8_t a) { printf( "%08X ", (unsigned int)a ); }
+void printint8_t(int8_t a) { printf( "%08X ", (unsigned int)(uint8_t)a ); }
+void printuint16_t(uint16_t a) { printf( "%08X ", (unsigned int)a ); }
+void printint16_t(int16_t a) { printf( "%08X ", (unsigned int)(uint16_t)a ); }
+void printuint32_t(uint32_t a) { printf( "%08X ", (unsigned int)a ); }
+void printint32_t(int32_t a) { printf( "%08X ", (unsigned int)a ); }
+void printuint64_t(uint64_t a) { printf( "%08X%08X ", (unsigned int)(a>>32),(unsigned int)a ); }
+void printint64_t(int64_t a) { printf( "%08X%08X ", (unsigned int)(a>>32),(unsigned int)a ); }
+
+#define TEST_TYPE(T) \
+void test##T() { \
+    T a, b, c, d, e, f; \
+    read(0,&a,sizeof(a)); read(0,&b,sizeof(b)); read(0,&c,sizeof(c)); read(0,&d,sizeof(d)); \
+    e = a * b - c * d;\
+    if( b != 0 && c != 0 ) { f = a / b + 1/c;  }\
+    T g = e - f / 2  + (uint32_t)b;\
+    T h = b * c / d; T i = a / -d; \
+    printf( "%d| ", sizeof(a) ); \
+    print##T(a); print##T(b); print##T(c); print##T(d); \
+    printf( ": " ); print##T(e); print##T(f); print##T(g); \
+    print##T(h); print##T(i); \
+    printf( "\n" ); \
+}
+
+TEST_TYPE(uint8_t);
+TEST_TYPE(int8_t);
+TEST_TYPE(uint16_t);
+TEST_TYPE(int16_t);
+TEST_TYPE(uint32_t);
+TEST_TYPE(int32_t);
+TEST_TYPE(uint64_t);
+TEST_TYPE(int64_t);
+
+int main(int argc, char *argv[]) {
+  unsigned i;
+  
+  for(i=0;i<TEST_REPS;i++ ) { testuint64_t(); }
+  for(i=0;i<TEST_REPS;i++ ) { testint64_t(); }
+  for(i=0;i<TEST_REPS;i++ ) { testuint32_t(); }
+  for(i=0;i<TEST_REPS;i++ ) { testint32_t(); }
+  for(i=0;i<TEST_REPS;i++ ) { testuint16_t(); }
+  for(i=0;i<TEST_REPS;i++ ) { testint16_t(); }
+  for(i=0;i<TEST_REPS;i++ ) { testuint8_t(); }
+  for(i=0;i<TEST_REPS;i++ ) { testint8_t(); }
+  return 0;
+}
</pre></div>
<center><small>Chaos Theory</small></center>
</div></body></html>