Changeset: 97fc761c566e for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=97fc761c566e
Modified Files:
        geom/monetdb5/geom.c
Branch: sfcgal
Log Message:

Partial commit: use floats for gcontains


diffs (130 lines):

diff --git a/geom/monetdb5/geom.c b/geom/monetdb5/geom.c
--- a/geom/monetdb5/geom.c
+++ b/geom/monetdb5/geom.c
@@ -12,7 +12,7 @@
  */
 
 #include "geom.h"
-//#define GEOMBULK_DEBUG 1
+#define GEOMBULK_DEBUG 1
 
 int TYPE_mbr;
 
@@ -7675,6 +7675,7 @@ pnpolyWithHoles(bat *out, int nvert, dbl
        px = (dbl *) Tloc(bpx, 0);
        py = (dbl *) Tloc(bpy, 0);
        cnt = BATcount(bpx);
+       printf("cnt: %d nvert: %d nholes: %d\n", cnt, nvert, nholes);
        cs = (bit *) Tloc(bo, 0);
 #ifdef GEOMBULK_DEBUG
     gettimeofday(&start, NULL);
@@ -7830,11 +7831,11 @@ getVerts(wkb *geom, vertexWKB **res)
 
        /*Lets get the polygon */
        token = strtok_r(geom_str, ")", &saveptr1);
-    if ( (verts->vert_x = GDKmalloc(POLY_NUM_VERT * sizeof(double))) == NULL) {
+    if ( (verts->vert_x = GDKmalloc(POLY_NUM_VERT * sizeof(float))) == NULL) {
         GDKfree(verts);
         throw(MAL, "geom.getVerts", MAL_MALLOC_FAIL);
     }
-       if ( (verts->vert_y = GDKmalloc(POLY_NUM_VERT * sizeof(double))) == 
NULL) {
+       if ( (verts->vert_y = GDKmalloc(POLY_NUM_VERT * sizeof(float))) == 
NULL) {
         GDKfree(verts->vert_x);
         GDKfree(verts);
         throw(MAL, "geom.getVerts", MAL_MALLOC_FAIL);
@@ -7844,16 +7845,17 @@ getVerts(wkb *geom, vertexWKB **res)
                subtoken = strtok_r(str2, ",", &saveptr2);
                if (subtoken == NULL)
                        break;
-               sscanf(subtoken, "%lf %lf", &(verts->vert_x[verts->nvert]), 
&(verts->vert_y[verts->nvert]));
+               //sscanf(subtoken, "%lf %lf", &(verts->vert_x[verts->nvert]), 
&(verts->vert_y[verts->nvert]));
+               sscanf(subtoken, "%f %f", &(verts->vert_x[verts->nvert]), 
&(verts->vert_y[verts->nvert]));
                verts->nvert++;
                if ((verts->nvert % POLY_NUM_VERT) == 0) {
-                       if ( (verts->vert_x = GDKrealloc(verts->vert_x, 
verts->nvert * 2 * sizeof(double))) == NULL) {
+                       if ( (verts->vert_x = GDKrealloc(verts->vert_x, 
verts->nvert * 2 * sizeof(float))) == NULL) {
                 GDKfree(verts->vert_x);
                 GDKfree(verts->vert_y);
                 GDKfree(verts);
                 throw(MAL, "geom.getVerts", MAL_MALLOC_FAIL);
             }
-                       if ( (verts->vert_y = GDKrealloc(verts->vert_y, 
verts->nvert * 2 * sizeof(double))) == NULL) {
+                       if ( (verts->vert_y = GDKrealloc(verts->vert_y, 
verts->nvert * 2 * sizeof(float))) == NULL) {
                 GDKfree(verts->vert_x);
                 GDKfree(verts->vert_y);
                 GDKfree(verts);
@@ -7864,13 +7866,13 @@ getVerts(wkb *geom, vertexWKB **res)
 
        token = strtok_r(NULL, ")", &saveptr1);
        if (token) {
-               if ( (verts->holes_x = GDKzalloc(POLY_NUM_HOLE * sizeof(double 
*))) == NULL) {
+               if ( (verts->holes_x = GDKzalloc(POLY_NUM_HOLE * sizeof(float 
*))) == NULL) {
             GDKfree(verts->vert_x);
             GDKfree(verts->vert_y);
             GDKfree(verts);
             throw(MAL, "geom.getVerts", MAL_MALLOC_FAIL);
         }
-               if ( (verts->holes_y = GDKzalloc(POLY_NUM_HOLE * sizeof(double 
*))) == NULL) {
+               if ( (verts->holes_y = GDKzalloc(POLY_NUM_HOLE * sizeof(float 
*))) == NULL) {
             GDKfree(verts->holes_x);
             GDKfree(verts->vert_x);
             GDKfree(verts->vert_y);
@@ -7895,7 +7897,7 @@ getVerts(wkb *geom, vertexWKB **res)
                token++;
 
                if (!verts->holes_x[verts->nholes])
-                       if ( (verts->holes_x[verts->nholes] = 
GDKzalloc(POLY_NUM_VERT * sizeof(double))) == NULL) {
+                       if ( (verts->holes_x[verts->nholes] = 
GDKzalloc(POLY_NUM_VERT * sizeof(float))) == NULL) {
                 GDKfree(verts->holes_x);
                 GDKfree(verts->holes_y);
                 GDKfree(verts->holes_n);
@@ -7905,7 +7907,7 @@ getVerts(wkb *geom, vertexWKB **res)
                 throw(MAL, "geom.getVerts", MAL_MALLOC_FAIL);
             }
                if (!verts->holes_y[verts->nholes])
-                       if ( (verts->holes_y[verts->nholes] = 
GDKzalloc(POLY_NUM_VERT * sizeof(double))) == NULL) {
+                       if ( (verts->holes_y[verts->nholes] = 
GDKzalloc(POLY_NUM_VERT * sizeof(float))) == NULL) {
                 GDKfree(verts->holes_x[verts->nholes]);
                 GDKfree(verts->holes_x);
                 GDKfree(verts->holes_y);
@@ -7920,10 +7922,11 @@ getVerts(wkb *geom, vertexWKB **res)
                        subtoken = strtok_r(str2, ",", &saveptr2);
                        if (subtoken == NULL)
                                break;
-                       sscanf(subtoken, "%lf %lf", 
&(verts->holes_x[verts->nholes][nhole]), 
&(verts->holes_y[verts->nholes][nhole]));
+                       //sscanf(subtoken, "%lf %lf", 
&(verts->holes_x[verts->nholes][nhole]), 
&(verts->holes_y[verts->nholes][nhole]));
+                       sscanf(subtoken, "%f %f", 
&(verts->holes_x[verts->nholes][nhole]), 
&(verts->holes_y[verts->nholes][nhole]));
                        nhole++;
                        if ((nhole % POLY_NUM_VERT) == 0) {
-                if ( (verts->holes_x[verts->nholes] = 
GDKrealloc(verts->holes_x[verts->nholes], nhole * 2 * sizeof(double))) == NULL) 
{
+                if ( (verts->holes_x[verts->nholes] = 
GDKrealloc(verts->holes_x[verts->nholes], nhole * 2 * sizeof(float))) == NULL) {
                     GDKfree(verts->holes_x[verts->nholes]);
                     GDKfree(verts->holes_y[verts->nholes]);
                     GDKfree(verts->holes_x);
@@ -7934,7 +7937,7 @@ getVerts(wkb *geom, vertexWKB **res)
                     GDKfree(verts);
                     throw(MAL, "geom.getVerts", MAL_MALLOC_FAIL);
                 }
-                if ( (verts->holes_y[verts->nholes] = 
GDKrealloc(verts->holes_y[verts->nholes], nhole * 2 * sizeof(double))) == NULL) 
{
+                if ( (verts->holes_y[verts->nholes] = 
GDKrealloc(verts->holes_y[verts->nholes], nhole * 2 * sizeof(float))) == NULL) {
                     GDKfree(verts->holes_x[verts->nholes]);
                     GDKfree(verts->holes_y[verts->nholes]);
                     GDKfree(verts->holes_x);
@@ -7951,7 +7954,7 @@ getVerts(wkb *geom, vertexWKB **res)
                verts->holes_n[verts->nholes] = nhole;
         verts->nholes++;
         if ((verts->nholes % POLY_NUM_HOLE) == 0) {
-            if ( (verts->holes_x = GDKrealloc(verts->holes_x, verts->nholes * 
2 * sizeof(double *))) == NULL) {
+            if ( (verts->holes_x = GDKrealloc(verts->holes_x, verts->nholes * 
2 * sizeof(float *))) == NULL) {
                 GDKfree(verts->holes_x[verts->nholes]);
                 GDKfree(verts->holes_y[verts->nholes]);
                 GDKfree(verts->holes_x);
@@ -7962,7 +7965,7 @@ getVerts(wkb *geom, vertexWKB **res)
                 GDKfree(verts);
                 throw(MAL, "geom.getVerts", MAL_MALLOC_FAIL);
             }
-            if ( (verts->holes_y = GDKrealloc(verts->holes_y, verts->nholes * 
2 * sizeof(double *))) == NULL) {
+            if ( (verts->holes_y = GDKrealloc(verts->holes_y, verts->nholes * 
2 * sizeof(float *))) == NULL) {
                 GDKfree(verts->holes_x[verts->nholes]);
                 GDKfree(verts->holes_y[verts->nholes]);
                 GDKfree(verts->holes_x);
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to