tlds
Transactional Operations for Linked Data Structures
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
dwyer.hpp
Go to the documentation of this file.
1 /**
2  * Copyright (C) 2011
3  * University of Rochester Department of Computer Science
4  * and
5  * Lehigh University Department of Computer Science and Engineering
6  *
7  * License: Modified BSD
8  * Please see the file LICENSE.RSTM for licensing information
9  */
10 
11 /* dwyer.h
12  *
13  * Sequential solver
14  */
15 
16 #ifndef DWYER_HPP__
17 #define DWYER_HPP__
18 
19 #include "point.hpp"
20 
21 // Recursively triangulate my_points[l..r].
22 // Dim0 values range from [low0..high0].
23 // Dim1 values range from [low1..high1].
24 //
25 // Base case when 1, 2, or 3 points.
26 //
27 // Using a slight variation on Dwyer's algorithm, we partition along
28 // whichever dimension appears to be the widest. For simplicity, we
29 // use the range of coordinate values to estimate this, which will
30 // be fine for uniformly distributed points. The purpose of the
31 // choice is to avoid creating long edges that are likely to be
32 // broken when stitching subproblems back together. We partition
33 // along dimension 0; parity specifies whether this is X or Y.
34 //
35 extern void dwyer_solve(point my_points[], int l, int r,
36  int low0, int high0, int low1, int high1,
37  int parity);
38 
39 #endif // DWYER_HPP__
Definition: defs.h:133
Definition: point.hpp:33
void dwyer_solve(point my_points[], int l, int r, int low0, int high0, int low1, int high1, int parity)
Definition: dwyer.cpp:107