Mesa (master): translate_test: fix compilation on non-POSIX platforms

Luca Barbieri lb at kemper.freedesktop.org
Thu Aug 12 20:09:42 UTC 2010


Module: Mesa
Branch: master
Commit: 875082da22ec36adbe7d0e66259a4d35ec5db89a
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=875082da22ec36adbe7d0e66259a4d35ec5db89a

Author: Luca Barbieri <luca at luca-barbieri.com>
Date:   Thu Aug 12 22:07:37 2010 +0200

translate_test: fix compilation on non-POSIX platforms

Use a kludgy function based on rand() instead of drand48()

---

 src/gallium/tests/unit/translate_test.c |   25 ++++++++++++++++++++-----
 1 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/src/gallium/tests/unit/translate_test.c b/src/gallium/tests/unit/translate_test.c
index a6f0f54..b45f379 100644
--- a/src/gallium/tests/unit/translate_test.c
+++ b/src/gallium/tests/unit/translate_test.c
@@ -30,6 +30,21 @@
 #include <util/u_cpu_detect.h>
 #include <rtasm/rtasm_cpu.h>
 
+/* don't use this for serious use */
+static double rand_double()
+{
+   const double rm = (double)RAND_MAX + 1;
+   double div = 1;
+   double v = 0;
+   for(unsigned i = 0; i < 4; ++i)
+   {
+      div *= rm;
+      v += (double)rand() / div;
+   }
+   printf("%f\n", v);
+   return v;
+}
+
 int main(int argc, char** argv)
 {
    struct translate *(*create_fn)(const struct translate_key *key) = 0;
@@ -129,17 +144,17 @@ int main(int argc, char** argv)
    key.element[0].type = TRANSLATE_ELEMENT_NORMAL;
    key.element[0].instance_divisor = 0;
 
-   srand48(4359025);
+   srand(4359025);
 
    /* avoid negative values that work badly when converted to unsigned format*/
-   for (i = 0; i < buffer_size / sizeof(unsigned); ++i)
-      ((unsigned*)byte_buffer)[i] = mrand48() & 0x7f7f7f7f;
+   for (i = 0; i < buffer_size; ++i)
+      byte_buffer[i] = rand() & 0x7f7f7f7f;
 
    for (i = 0; i < buffer_size / sizeof(float); ++i)
-      float_buffer[i] = (float)drand48();
+      float_buffer[i] = (float)rand_double();
 
    for (i = 0; i < buffer_size / sizeof(double); ++i)
-      double_buffer[i] = drand48();
+      double_buffer[i] = rand_double();
 
    for (output_format = 1; output_format < PIPE_FORMAT_COUNT; ++output_format)
    {




More information about the mesa-commit mailing list