[Groonga-commit] groonga/groonga [master] [geo] enables initial inner check. refs #1173

Zurück zum Archiv-Index

null+****@clear***** null+****@clear*****
2011年 11月 18日 (金) 16:48:18 JST


Kouhei Sutou	2011-11-18 07:48:18 +0000 (Fri, 18 Nov 2011)

  New Revision: 6047a34c9338d450e7f1cd51fe0fb46ae323e5b6

  Log:
    [geo] enables initial inner check. refs #1173

  Modified files:
    lib/geo.c
    test/unit/core/test-geo-in-rectangle-border.c

  Modified: lib/geo.c (+6 -2)
===================================================================
--- lib/geo.c    2011-11-18 07:47:09 +0000 (d4e60d0)
+++ lib/geo.c    2011-11-18 07:48:18 +0000 (a1a7855)
@@ -1082,8 +1082,12 @@ grn_geo_cursor_open_in_rectangle(grn_ctx *ctx,
     entry->bottom_included = GRN_TRUE;
     entry->left_included = GRN_TRUE;
     entry->right_included = GRN_TRUE;
-    entry->latitude_inner = GRN_FALSE;
-    entry->longitude_inner = GRN_FALSE;
+    entry->latitude_inner =
+      (data.min.latitude == data.bottom_right->latitude &&
+       data.max.latitude == data.top_left->latitude);
+    entry->longitude_inner =
+      (data.min.longitude == data.top_left->longitude &&
+       data.max.longitude == data.bottom_right->longitude);
   }
 
 exit :

  Modified: test/unit/core/test-geo-in-rectangle-border.c (+24 -0)
===================================================================
--- test/unit/core/test-geo-in-rectangle-border.c    2011-11-18 07:47:09 +0000 (b8c272b)
+++ test/unit/core/test-geo-in-rectangle-border.c    2011-11-18 07:48:18 +0000 (235618b)
@@ -229,6 +229,30 @@ data_cursor_all(void)
            8, 7,
            7, 8);
 
+#define ALL_LONGITUDES(latitude)                        \
+             "(" latitude ",00)", "(" latitude ",01)",  \
+             "(" latitude ",02)", "(" latitude ",03)",  \
+             "(" latitude ",04)", "(" latitude ",05)",  \
+             "(" latitude ",06)", "(" latitude ",07)",  \
+             "(" latitude ",08)", "(" latitude ",09)",  \
+             "(" latitude ",10)", "(" latitude ",11)",  \
+             "(" latitude ",12)", "(" latitude ",13)",  \
+             "(" latitude ",14)", "(" latitude ",15)"
+
+  ADD_DATA("all - maximum",
+           gcut_list_string_new(
+             ALL_LONGITUDES("00"), ALL_LONGITUDES("01"), ALL_LONGITUDES("02"),
+             ALL_LONGITUDES("03"), ALL_LONGITUDES("04"), ALL_LONGITUDES("05"),
+             ALL_LONGITUDES("06"), ALL_LONGITUDES("07"), ALL_LONGITUDES("08"),
+             ALL_LONGITUDES("09"), ALL_LONGITUDES("10"), ALL_LONGITUDES("11"),
+             ALL_LONGITUDES("12"), ALL_LONGITUDES("13"), ALL_LONGITUDES("14"),
+             ALL_LONGITUDES("15"),
+             NULL),
+           15, 0,
+           0, 15);
+
+#undef ALL_LONGITUDES
+
   data_cursor_all_bottom_left();
   data_cursor_all_top_left();
   data_cursor_all_bottom_right();




Groonga-commit メーリングリストの案内
Zurück zum Archiv-Index