1@x l.20
2extern Graph *plane();
3extern Graph *plane_miles();
4extern void delaunay();
5@y
6extern Graph *plane(unsigned long,unsigned long,unsigned long,@|
7  unsigned long,unsigned long,long);
8extern Graph *plane_miles(unsigned long,long,long,long,@|
9  unsigned long,unsigned long,long);
10extern void delaunay(Graph *,void (*)(Vertex *,Vertex *));
11@z
12
13@x l.92
14Graph *plane(n,x_range,y_range,extend,prob,seed)
15  unsigned long n; /* number of vertices desired */
16  unsigned long x_range,y_range; /* upper bounds on rectangular coordinates */
17  unsigned long extend; /* should a point at infinity be included? */
18  unsigned long prob; /* probability of rejecting a Delaunay edge */
19  long seed; /* random number seed */
20@y
21Graph *plane(@t\1\1@>
22  unsigned long n,
23    /* number of vertices desired */
24  unsigned long x_range,unsigned long y_range,
25    /* upper bounds on rectangular coordinates */
26  unsigned long extend,
27    /* should a point at infinity be included? */
28  unsigned long prob,
29    /* probability of rejecting a Delaunay edge */
30  long seed@t\2\2@>)
31    /* random number seed */
32@z
33
34@x l.226
35void delaunay(g,f)
36  Graph *g; /* vertices in the plane */
37  void @[@] (*f)(); /* procedure that absorbs the triangulated edges */
38@y
39void delaunay(@t\1\1@>
40  Graph *g, /* vertices in the plane */
41  void (*f)(Vertex *,Vertex *)@t\2\2@>)
42    /* procedure that absorbs the triangulated edges */
43@z
44
45@x l.252
46static void new_euclid_edge(u,v)
47  Vertex *u,*v;
48@y
49static void new_euclid_edge(Vertex *u,Vertex *v)
50@z
51
52@x l.283
53static long int_sqrt(x)
54  long x;
55@y
56static long int_sqrt(long x)
57@z
58
59@x l.322
60static long sign_test(x1,x2,x3,y1,y2,y3)
61  long x1,x2,x3,y1,y2,y3;
62@y
63static long sign_test(long x1,long x2,long x3,long y1,long y2,long y3)
64@z
65
66@x l.431
67static long ccw(u,v,w)
68  Vertex *u,*v,*w;
69@y
70static long ccw(Vertex *u,Vertex *v,Vertex *w)
71@z
72
73@x l.474
74static long incircle(t,u,v,w)
75  Vertex *t,*u,*v,*w;
76@y
77static long incircle(Vertex *t,Vertex *u,Vertex *v,Vertex *w)
78@z
79
80@x l.542
81static long ff(t,u,v,w)
82  Vertex *t,*u,*v,*w;
83@y
84static long ff(Vertex *t,Vertex *u,Vertex *v,Vertex *w)
85@z
86
87@x l.550
88static long gg(t,u,v,w)
89  Vertex *t,*u,*v,*w;
90@y
91static long gg(Vertex *t,Vertex *u,Vertex *v,Vertex *w)
92@z
93
94@x l.558
95static long hh(t,u,v,w)
96  Vertex *t,*u,*v,*w;
97@y
98static long hh(Vertex *t,Vertex *u,Vertex *v,Vertex *w)
99@z
100
101@x l.563
102static long jj(t,u,v,w)
103  Vertex *t,*u,*v,*w;
104@y
105static long jj(Vertex *t,Vertex *u,Vertex *v,Vertex *w)
106@z
107
108@x l.882
109static void flip(c,d,e,t,tp,tpp,p,xp,xpp)
110  arc *c,*d,*e;
111  Vertex *t,*tp,*tpp,*p;
112  node *xp,*xpp;
113@y
114static void flip(arc *c,arc *d,arc *e,@|
115  Vertex *t,Vertex *tp,Vertex *tpp,Vertex *p,@|
116  node *xp,node *xpp)
117@z
118
119@x l.931
120Graph *plane_miles(n,north_weight,west_weight,pop_weight,extend,prob,seed)
121  unsigned long n; /* number of vertices desired */
122  long north_weight; /* coefficient of latitude in the weight function */
123  long west_weight; /* coefficient of longitude in the weight function */
124  long pop_weight; /* coefficient of population in the weight function */
125  unsigned long extend; /* should a point at infinity be included? */
126  unsigned long prob; /* probability of rejecting a Delaunay edge */
127  long seed; /* random number seed */
128@y
129Graph *plane_miles(@t\1\1@>
130  unsigned long n,
131    /* number of vertices desired */
132  long north_weight,
133    /* coefficient of latitude in the weight function */
134  long west_weight,
135    /* coefficient of longitude in the weight function */
136  long pop_weight,
137    /* coefficient of population in the weight function */
138  unsigned long extend,
139    /* should a point at infinity be included? */
140  unsigned long prob,
141    /* probability of rejecting a Delaunay edge */
142  long seed@t\2\2@>)
143    /* random number seed */
144@z
145
146@x l.982
147static void new_mile_edge(u,v)
148  Vertex *u,*v;
149@y
150static void new_mile_edge(Vertex *u,Vertex *v)
151@z
152