From 2a1e3d528265c3d366dab9ad4b0c4d3d65e1c4ed Mon Sep 17 00:00:00 2001
From: Samo Penic <samo.penic@gmail.com>
Date: Mon, 13 Apr 2020 12:13:50 +0000
Subject: [PATCH] Storing previously debugged version

---
 src/cell.c |   17 ++++++++++++-----
 1 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/src/cell.c b/src/cell.c
index f95ff21..3df15ea 100644
--- a/src/cell.c
+++ b/src/cell.c
@@ -1,3 +1,4 @@
+/* vim: set ts=4 sts=4 sw=4 noet : */
 #include<stdlib.h>
 #include "general.h"
 #include "vertex.h"
@@ -5,7 +6,7 @@
 ts_cell_list  *init_cell_list(ts_uint ncmax1, ts_uint ncmax2, ts_uint ncmax3, ts_double stepsize){
     ts_uint i;
     ts_uint nocells=ncmax1*ncmax2*ncmax3;
-    ts_cell_list *clist=(ts_cell_list *)malloc(sizeof(ts_cell_list));
+    ts_cell_list *clist=(ts_cell_list *)calloc(1,sizeof(ts_cell_list));
     if(clist==NULL) fatal("Error while allocating memory for cell list!",100);
 
     clist->ncmax[0]=ncmax1;
@@ -14,8 +15,8 @@
     clist->cellno=nocells;
     clist->dcell=1.0/(1.0 + stepsize);
     clist->shift=(ts_double) clist->ncmax[0]/2;
-
-    clist->cell=(ts_cell **)malloc(nocells*sizeof(ts_cell *));
+    clist->max_occupancy=16; /* hard coded max occupancy? */
+    clist->cell=(ts_cell **)calloc(nocells,sizeof(ts_cell *));
     if(clist->cell==NULL) fatal("Error while allocating memory for cell list! ncmax too large?",101);
 
     for(i=0;i<nocells;i++){
@@ -141,6 +142,7 @@
                 cell_occupation=clist->cell[neigh_cidx]->nvertex;
           //      fprintf(stderr, "cell_occupation=%i\n",cell_occupation);
                 if(cell_occupation>clist->max_occupancy){
+			ts_fprintf(stderr,"max occupancy= %d, cell occupation= %d", clist->max_occupancy, cell_occupation);
                     fatal("Neighbouring cell occupation more than set max_occupancy value.",2000);
                 }
 // Now we check whether we didn't come close to some other vertices in the same
@@ -149,10 +151,15 @@
                     for(l=0;l<cell_occupation;l++){
 
 				//carefull with this checks!
-                        if(clist->cell[neigh_cidx]->vertex[l]->idx!=vtx->idx){
+                        if(clist->cell[neigh_cidx]->vertex[l]!=vtx){
                     //        fprintf(stderr,"calling dist on vertex %i\n",l);
                            dist=vtx_distance_sq(clist->cell[neigh_cidx]->vertex[l],vtx);
-                    //        fprintf(stderr,"dist was %f\n",dist);
+
+//				if(vtx->idx==1)
+//				fprintf(stderr,"VTX(0) ima bliznji vertex z indeksom, %d, tipa %d \n", clist->cell[neigh_cidx]->vertex[l]->idx, clist->cell[neigh_cidx]->vertex[l]->id);
+//				if(vtx->idx==0 && clist->cell[neigh_cidx]->vertex[l]->idx==0)
+//                            fprintf(stderr,"*** dist was %f\n",dist);
+				
                             if(dist<=1.0 || (dist<=clist->dmin_interspecies && (clist->cell[neigh_cidx]->vertex[l]->id != vtx->id))) return TS_FAIL;
                         }
                     }

--
Gitblit v1.9.3