llvmpipe: Add a test for lp_build_sgn.
authorJosé Fonseca <jose.r.fonseca@gmail.com>
Tue, 15 May 2012 21:38:53 +0000 (22:38 +0100)
committerJosé Fonseca <jose.r.fonseca@gmail.com>
Tue, 15 May 2012 21:39:25 +0000 (22:39 +0100)
Only floating point though, but better than nothing.

src/gallium/drivers/llvmpipe/lp_test_arit.c

index 9b34efed6712ced95d96aaef0c9fd6b7b6299995..45ca32f58661cf3540879def4a3b1979bd6e580a 100644 (file)
@@ -95,6 +95,18 @@ static float negf(float x)
 }
 
 
+static float sgnf(float x)
+{
+   if (x > 0.0f) {
+      return 1.0f;
+   }
+   if (x < 0.0f) {
+      return -1.0f;
+   }
+   return 0.0f;
+}
+
+
 const float exp2_values[] = {
    -60,
    -4,
@@ -183,6 +195,7 @@ unary_tests[] = {
    {"rsqrt", &lp_build_rsqrt, &rsqrtf, rsqrt_values, Elements(rsqrt_values), 20.0 },
    {"sin", &lp_build_sin, &sinf, sincos_values, Elements(sincos_values), 20.0 },
    {"cos", &lp_build_cos, &cosf, sincos_values, Elements(sincos_values), 20.0 },
+   {"sgn", &lp_build_sgn, &sgnf, exp2_values, Elements(exp2_values), 20.0 },
 };