aboutsummaryrefslogtreecommitdiffstats
path: root/test/ccured_olden/perimeter/maketree.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/ccured_olden/perimeter/maketree.c')
-rw-r--r--test/ccured_olden/perimeter/maketree.c120
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;
-}
-
-
-