diff options
Diffstat (limited to 'test/ccured_olden/perimeter/maketree.c')
-rw-r--r-- | test/ccured_olden/perimeter/maketree.c | 120 |
1 files changed, 0 insertions, 120 deletions
diff --git a/test/ccured_olden/perimeter/maketree.c b/test/ccured_olden/perimeter/maketree.c deleted file mode 100644 index 294ff028..00000000 --- a/test/ccured_olden/perimeter/maketree.c +++ /dev/null @@ -1,120 +0,0 @@ -#include "perimeter.h" - -static int CheckOutside(int x, int y) -{ - int euclid = x*x+y*y; - - if (euclid > 4194304) return 1; - if (euclid < 1048576) return -1; - return 0; -} - -static int CheckIntersect(int center_x, int center_y, int size) -{ - int sum; - - if (!CheckOutside(center_x+size,center_y+size) && - !CheckOutside(center_x+size,center_y-size) && - !CheckOutside(center_x-size,center_y-size) && - !CheckOutside(center_x-size,center_y+size)) return 2; - sum=CheckOutside(center_x+size,center_y+size) + - CheckOutside(center_x+size,center_y-size) + - CheckOutside(center_x-size,center_y-size) + - CheckOutside(center_x-size,center_y+size); - if ((sum==4) || (sum==-4)) return 0; - return 1; -} - -QuadTree MakeTree(int size, int center_x, int center_y, int lo_proc, - int hi_proc, QuadTree parent, ChildType ct, int level) -{ - int intersect=0; - QuadTree retval; - -#ifdef FUTURES - retval = (QuadTree) ALLOC(lo_proc,sizeof(*retval)); -#else - retval = (QuadTree) mymalloc(sizeof(*retval)); -#endif - retval->parent = parent; - retval->childtype = ct; - - intersect = CheckIntersect(center_x,center_y,size); - size = size/2; - if ((intersect==0) && (size<512)) - { - retval->color = white; - retval->nw = NULL; - retval->ne = NULL; - retval->sw = NULL; - retval->se = NULL; - } - else if (intersect==2) - { - retval->color=black; - retval->nw = NULL; - retval->ne = NULL; - retval->sw = NULL; - retval->se = NULL; - } - else - { - if (!level) - { - retval->color = black; - retval->nw = NULL; - retval->ne = NULL; - retval->sw = NULL; - retval->se = NULL; - } - else - { - int mid1,mid2; -#ifdef FUTURES - future_cell_int fc_sw,fc_se,fc_ne; -#endif - - mid1 = (lo_proc+hi_proc)/2; - mid2 = (lo_proc+hi_proc+1)/2; - -#ifndef FUTURES - retval->sw = MakeTree(size,center_x-size,center_y-size, - (mid2+hi_proc+1)/2,hi_proc,retval, - southwest,level-1); - retval->se = MakeTree(size,center_x+size,center_y-size, - mid2,(mid2+hi_proc)/2,retval, - southeast,level-1); - retval->ne = MakeTree(size,center_x+size,center_y+size, - (lo_proc+mid1+1)/2,mid1,retval, - northeast,level-1); - retval->nw = MakeTree(size,center_x-size,center_y+size, - lo_proc,(lo_proc+mid1)/2,retval, - northwest,level-1); -#else - FUTURE(size,center_x-size,center_y-size, - (mid2+hi_proc+1)/2,hi_proc,retval, - southwest,level-1,MakeTree,&fc_sw); - FUTURE(size,center_x+size,center_y-size, - mid2,(mid2+hi_proc)/2,retval, - southeast,level-1,MakeTree,&fc_se); - FUTURE(size,center_x+size,center_y+size, - (lo_proc+mid1+1)/2,mid1,retval, - northeast,level-1,MakeTree,&fc_ne); - retval->nw = MakeTree(size,center_x-size,center_y+size, - lo_proc,(lo_proc+mid1)/2,retval, - northwest,level-1); - TOUCH(&fc_sw); - retval->sw = (QuadTree) fc_sw.value; - TOUCH(&fc_se); - retval->se = (QuadTree) fc_se.value; - TOUCH(&fc_ne); - retval->ne = (QuadTree) fc_ne.value; -#endif - retval->color = grey; - } - } - return retval; -} - - - |