]> granicus.if.org Git - postgis/commitdiff
Patch from Sebastiaan Couwenberg to fix test_wkb_out_point failure on hppa & mips.
authorRegina Obe <lr@pcorp.us>
Wed, 13 Jan 2016 00:37:25 +0000 (00:37 +0000)
committerRegina Obe <lr@pcorp.us>
Wed, 13 Jan 2016 00:37:25 +0000 (00:37 +0000)
closes #3426

git-svn-id: http://svn.osgeo.org/postgis/trunk@14593 b70326c6-7e19-0410-871a-916f4a2858ee

liblwgeom/cunit/cu_out_wkb.c

index 8094f87b53b9cb8032889e79afd2e526cf2e93d9..05f50949971e974e62c9ff3ab975b05bc9361796 100644 (file)
@@ -66,6 +66,13 @@ static void cu_wkb(char *wkt)
 }
 
 
+/* parisc and mips (at least some processors) have a different nan representation from other arches. */
+#if !defined(__hppa__) && !defined(__mips__)
+# define nan_val( v1, v2)  v1
+#else
+# define nan_val( v1, v2)  v2
+#endif
+
 static void test_wkb_out_point(void)
 {
        cu_wkb("POINT(0 0 0 0)");
@@ -75,19 +82,24 @@ static void test_wkb_out_point(void)
        CU_ASSERT_STRING_EQUAL(s,"0060000001000000043FF00000000000003FF00000000000003FF0000000000000");
        
        cu_wkb("POINT EMPTY");
-       CU_ASSERT_STRING_EQUAL(s,"00000000017FF80000000000007FF8000000000000");
+       CU_ASSERT_STRING_EQUAL(s, nan_val("00000000017FF80000000000007FF8000000000000",
+                                         "00000000017FF7FFFFFFFFFFFF7FF7FFFFFFFFFFFF"));
 
        cu_wkb("SRID=4326;POINT EMPTY");
-       CU_ASSERT_STRING_EQUAL(s,"0020000001000010E67FF80000000000007FF8000000000000");
+       CU_ASSERT_STRING_EQUAL(s, nan_val("0020000001000010E67FF80000000000007FF8000000000000",
+                                         "0020000001000010E67FF7FFFFFFFFFFFF7FF7FFFFFFFFFFFF"));
 
        cu_wkb("POINT Z EMPTY");
-       CU_ASSERT_STRING_EQUAL(s,"00800000017FF80000000000007FF80000000000007FF8000000000000");
+       CU_ASSERT_STRING_EQUAL(s, nan_val("00800000017FF80000000000007FF80000000000007FF8000000000000",
+                                         "00800000017FF7FFFFFFFFFFFF7FF7FFFFFFFFFFFF7FF7FFFFFFFFFFFF"));
 
        cu_wkb("POINT M EMPTY");
-       CU_ASSERT_STRING_EQUAL(s,"00400000017FF80000000000007FF80000000000007FF8000000000000");
+       CU_ASSERT_STRING_EQUAL(s, nan_val("00400000017FF80000000000007FF80000000000007FF8000000000000",
+                                         "00400000017FF7FFFFFFFFFFFF7FF7FFFFFFFFFFFF7FF7FFFFFFFFFFFF"));
 
        cu_wkb("POINT ZM EMPTY");
-       CU_ASSERT_STRING_EQUAL(s,"00C00000017FF80000000000007FF80000000000007FF80000000000007FF8000000000000");
+       CU_ASSERT_STRING_EQUAL(s, nan_val("00C00000017FF80000000000007FF80000000000007FF80000000000007FF8000000000000",
+                                         "00C00000017FF7FFFFFFFFFFFF7FF7FFFFFFFFFFFF7FF7FFFFFFFFFFFF7FF7FFFFFFFFFFFF"));
 }
 
 static void test_wkb_out_linestring(void)