[Groonga-commit] groonga/groonga at 5a45e90 [master] Use GRN_GEO_INT2RAD

アーカイブの一覧に戻る

Kouhei Sutou null+****@clear*****
Tue May 22 09:27:09 JST 2018


Kouhei Sutou	2018-05-22 09:27:09 +0900 (Tue, 22 May 2018)

  New Revision: 5a45e9094429c6ad03382b2d893817e679dfd77c
  https://github.com/groonga/groonga/commit/5a45e9094429c6ad03382b2d893817e679dfd77c

  Message:
    Use GRN_GEO_INT2RAD

  Modified files:
    lib/expr_executor.c

  Modified: lib/expr_executor.c (+27 -27)
===================================================================
--- lib/expr_executor.c    2018-05-22 09:06:43 +0900 (541d3245b)
+++ lib/expr_executor.c    2018-05-22 09:27:09 +0900 (663f8e728)
@@ -21,6 +21,7 @@
 #include "grn_expr.h"
 #include "grn_expr_code.h"
 #include "grn_expr_executor.h"
+#include "grn_geo.h"
 
 #ifdef GRN_WITH_ONIGMO
 # define GRN_SUPPORT_REGEXP
@@ -60,7 +61,6 @@ grn_expr_executor_init_general(grn_ctx *ctx,
 #define GEO_GRS_C1       6335439
 #define GEO_GRS_C2       6378137
 #define GEO_GRS_C3       0.006694
-#define GEO_INT2RAD(x)   ((M_PI * x) / (GEO_RESOLUTION * 180))
 
 #define VAR_SET_VALUE(ctx,var,value) do {\
   if (GRN_DB_OBJP(value)) {\
@@ -1950,13 +1950,13 @@ expr_exec(grn_ctx *ctx, grn_obj *expr)
         grn_obj *value = NULL;
         double lng1, lat1, lng2, lat2, x, y, d;
         POP1(value);
-        lng1 = GEO_INT2RAD(GRN_INT32_VALUE(value));
+        lng1 = GRN_GEO_INT2RAD(GRN_INT32_VALUE(value));
         POP1(value);
-        lat1 = GEO_INT2RAD(GRN_INT32_VALUE(value));
+        lat1 = GRN_GEO_INT2RAD(GRN_INT32_VALUE(value));
         POP1(value);
-        lng2 = GEO_INT2RAD(GRN_INT32_VALUE(value));
+        lng2 = GRN_GEO_INT2RAD(GRN_INT32_VALUE(value));
         POP1ALLOC1(value, res);
-        lat2 = GEO_INT2RAD(GRN_INT32_VALUE(value));
+        lat2 = GRN_GEO_INT2RAD(GRN_INT32_VALUE(value));
         x = (lng2 - lng1) * cos((lat1 + lat2) * 0.5);
         y = (lat2 - lat1);
         d = sqrt((x * x) + (y * y)) * GEO_RADIOUS;
@@ -1971,13 +1971,13 @@ expr_exec(grn_ctx *ctx, grn_obj *expr)
         grn_obj *value = NULL;
         double lng1, lat1, lng2, lat2, x, y, d;
         POP1(value);
-        lng1 = GEO_INT2RAD(GRN_INT32_VALUE(value));
+        lng1 = GRN_GEO_INT2RAD(GRN_INT32_VALUE(value));
         POP1(value);
-        lat1 = GEO_INT2RAD(GRN_INT32_VALUE(value));
+        lat1 = GRN_GEO_INT2RAD(GRN_INT32_VALUE(value));
         POP1(value);
-        lng2 = GEO_INT2RAD(GRN_INT32_VALUE(value));
+        lng2 = GRN_GEO_INT2RAD(GRN_INT32_VALUE(value));
         POP1ALLOC1(value, res);
-        lat2 = GEO_INT2RAD(GRN_INT32_VALUE(value));
+        lat2 = GRN_GEO_INT2RAD(GRN_INT32_VALUE(value));
         x = sin(fabs(lng2 - lng1) * 0.5);
         y = sin(fabs(lat2 - lat1) * 0.5);
         d = asin(sqrt((y * y) + cos(lat1) * cos(lat2) * x * x)) * 2 * GEO_RADIOUS;
@@ -1992,13 +1992,13 @@ expr_exec(grn_ctx *ctx, grn_obj *expr)
         grn_obj *value = NULL;
         double lng1, lat1, lng2, lat2, p, q, m, n, x, y, d;
         POP1(value);
-        lng1 = GEO_INT2RAD(GRN_INT32_VALUE(value));
+        lng1 = GRN_GEO_INT2RAD(GRN_INT32_VALUE(value));
         POP1(value);
-        lat1 = GEO_INT2RAD(GRN_INT32_VALUE(value));
+        lat1 = GRN_GEO_INT2RAD(GRN_INT32_VALUE(value));
         POP1(value);
-        lng2 = GEO_INT2RAD(GRN_INT32_VALUE(value));
+        lng2 = GRN_GEO_INT2RAD(GRN_INT32_VALUE(value));
         POP1ALLOC1(value, res);
-        lat2 = GEO_INT2RAD(GRN_INT32_VALUE(value));
+        lat2 = GRN_GEO_INT2RAD(GRN_INT32_VALUE(value));
         p = (lat1 + lat2) * 0.5;
         q = (1 - GEO_BES_C3 * sin(p) * sin(p));
         m = GEO_BES_C1 / sqrt(q * q * q);
@@ -2017,13 +2017,13 @@ expr_exec(grn_ctx *ctx, grn_obj *expr)
         grn_obj *value = NULL;
         double lng1, lat1, lng2, lat2, p, q, m, n, x, y, d;
         POP1(value);
-        lng1 = GEO_INT2RAD(GRN_INT32_VALUE(value));
+        lng1 = GRN_GEO_INT2RAD(GRN_INT32_VALUE(value));
         POP1(value);
-        lat1 = GEO_INT2RAD(GRN_INT32_VALUE(value));
+        lat1 = GRN_GEO_INT2RAD(GRN_INT32_VALUE(value));
         POP1(value);
-        lng2 = GEO_INT2RAD(GRN_INT32_VALUE(value));
+        lng2 = GRN_GEO_INT2RAD(GRN_INT32_VALUE(value));
         POP1ALLOC1(value, res);
-        lat2 = GEO_INT2RAD(GRN_INT32_VALUE(value));
+        lat2 = GRN_GEO_INT2RAD(GRN_INT32_VALUE(value));
         p = (lat1 + lat2) * 0.5;
         q = (1 - GEO_GRS_C3 * sin(p) * sin(p));
         m = GEO_GRS_C1 / sqrt(q * q * q);
@@ -2043,13 +2043,13 @@ expr_exec(grn_ctx *ctx, grn_obj *expr)
         grn_obj *value = NULL;
         double lng0, lat0, lng1, lat1, x, y, d;
         POP1(value);
-        lng0 = GEO_INT2RAD(GRN_INT32_VALUE(value));
+        lng0 = GRN_GEO_INT2RAD(GRN_INT32_VALUE(value));
         POP1(value);
-        lat0 = GEO_INT2RAD(GRN_INT32_VALUE(value));
+        lat0 = GRN_GEO_INT2RAD(GRN_INT32_VALUE(value));
         POP1(value);
-        lng1 = GEO_INT2RAD(GRN_INT32_VALUE(value));
+        lng1 = GRN_GEO_INT2RAD(GRN_INT32_VALUE(value));
         POP1(value);
-        lat1 = GEO_INT2RAD(GRN_INT32_VALUE(value));
+        lat1 = GRN_GEO_INT2RAD(GRN_INT32_VALUE(value));
         POP1ALLOC1(value, res);
         x = (lng1 - lng0) * cos((lat0 + lat1) * 0.5);
         y = (lat1 - lat0);
@@ -2077,17 +2077,17 @@ expr_exec(grn_ctx *ctx, grn_obj *expr)
         grn_obj *value = NULL;
         double lng0, lat0, lng1, lat1, lng2, lat2, x, y, d;
         POP1(value);
-        lng0 = GEO_INT2RAD(GRN_INT32_VALUE(value));
+        lng0 = GRN_GEO_INT2RAD(GRN_INT32_VALUE(value));
         POP1(value);
-        lat0 = GEO_INT2RAD(GRN_INT32_VALUE(value));
+        lat0 = GRN_GEO_INT2RAD(GRN_INT32_VALUE(value));
         POP1(value);
-        lng1 = GEO_INT2RAD(GRN_INT32_VALUE(value));
+        lng1 = GRN_GEO_INT2RAD(GRN_INT32_VALUE(value));
         POP1(value);
-        lat1 = GEO_INT2RAD(GRN_INT32_VALUE(value));
+        lat1 = GRN_GEO_INT2RAD(GRN_INT32_VALUE(value));
         POP1(value);
-        lng2 = GEO_INT2RAD(GRN_INT32_VALUE(value));
+        lng2 = GRN_GEO_INT2RAD(GRN_INT32_VALUE(value));
         POP1ALLOC1(value, res);
-        lat2 = GEO_INT2RAD(GRN_INT32_VALUE(value));
+        lat2 = GRN_GEO_INT2RAD(GRN_INT32_VALUE(value));
         x = (lng1 - lng0) * cos((lat0 + lat1) * 0.5);
         y = (lat1 - lat0);
         d = (x * x) + (y * y);
-------------- next part --------------
HTML����������������������������...
URL: https://lists.osdn.me/mailman/archives/groonga-commit/attachments/20180522/c6367620/attachment-0001.htm 



More information about the Groonga-commit mailing list
アーカイブの一覧に戻る