X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Ftests%2Funit%2Ftranslate_test.c;h=960c70f2b503228d3dd197a86b0e1bff74fed191;hb=b9abe7f62c09c0395214b9447032323b3846b2cf;hp=a6f0f548976ae5285d6c78d6d939203a08fd3d59;hpb=4d946c4e8adf3f0ac447b6a9a6caf17392b816cd;p=mesa.git diff --git a/src/gallium/tests/unit/translate_test.c b/src/gallium/tests/unit/translate_test.c index a6f0f548976..960c70f2b50 100644 --- a/src/gallium/tests/unit/translate_test.c +++ b/src/gallium/tests/unit/translate_test.c @@ -30,6 +30,20 @@ #include #include +/* 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; + } + return v; +} + int main(int argc, char** argv) { struct translate *(*create_fn)(const struct translate_key *key) = 0; @@ -129,17 +143,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) {