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();