Commit Graph

64306 Commits

Author SHA1 Message Date
Panagiotis Cheilaris c70fc29971 remove dx warning in Side_of_bounded_square_2.h
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:45 +02:00
Panagiotis Cheilaris e87c6b8719 incirc benchmark program
Example use:

type=linf ; iprofiler -o incirc${type} -T 15s -timeprofiler ~/code/geom/Segment_Delaunay_graph_Linf_2/benchmark/Segment_Delaunay_graph_Linf_2/incirc -r 50000000 --${type} 'p 200 -150'  'p 250 50'  'p 50 -50'  'p 300 -50'

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:45 +02:00
Panagiotis Cheilaris 41096299e7 add --linf argument to benchmark-gen for symmetry
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:45 +02:00
Panagiotis Cheilaris 50ecfb1e13 CMakeLists.txt for benchmark-gen
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:45 +02:00
Panagiotis Cheilaris 94d51380ba general benchmark program for both L2 and Linf
Example uses:

time ( cat ~/code/mycgal/Segment_Delaunay_graph_2/benchmark/Segment_Delaunay_graph_2/data/norway.cin | iprofiler -T 11s -o nlinf -timeprofiler ~/code/geom/Segment_Delaunay_graph_Linf_2/benchmark/Segment_Delaunay_graph_Linf_2/benchmark-gen )

time ( cat ~/code/mycgal/Segment_Delaunay_graph_2/benchmark/Segment_Delaunay_graph_2/data/norway.cin | iprofiler -T 10s -o nl2 -timeprofiler ~/code/geom/Segment_Delaunay_graph_Linf_2/benchmark/Segment_Delaunay_graph_Linf_2/benchmark-gen --l2 )

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:44 +02:00
Panagiotis Cheilaris f9488b5865 prepare benchmark to support both L2 and Linf
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:44 +02:00
Panagiotis Cheilaris 8e27388e73 change pref to rref in two comments
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:44 +02:00
Panagiotis Cheilaris e75e7498ec fix for a touching non-hv segment
This fixes a bug in the validity test for input pssd5aless2.cin:
p 100 0
s 150 0 50 -100
p 100 100
p -100 100
(A, BC, D, E)

In particular vertex conflict (BC, D, E, A) was returning -1
and now it returns ZERO.

At the same time, we should keep a negative predicate return value
for input parpar2.cin:
s -250 50 -50 -150
p -100 -50
p -60 -50
p -150 50

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:44 +02:00
Panagiotis Cheilaris 0e3f2d5e3b PSS case bdiff=5 compute_pss_side_p_known
All bisector computations have been removed.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:44 +02:00
Panagiotis Cheilaris 451198fe19 rotate counterclockwise by pi/2 an lsp input
Example use:

cat ~/Dropbox/geom/data/pssd3a.cin | python ~/code/geom/Segment_Delaunay_graph_Linf_2/developer_scripts/lsprotate90.py > ~/Dropbox/geom/data/pssd3b.cin

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:44 +02:00
Panagiotis Cheilaris 61c70120c9 compute_pss_ortho_wedge function for PSS case
This function is called for bdiff in {3,4}.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:44 +02:00
Panagiotis Cheilaris cbd9493722 compute_pss_nonhv_consecutive for field
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:44 +02:00
Panagiotis Cheilaris 25ae2f53f8 convert from plg to lsp format
Example use:

cat ~/Dropbox/geom/mat/input1.plg | ~/code/geom/Segment_Delaunay_graph_Linf_2/developer_scripts/plg2lsp.py | ipescript lsp2ipe vecmask1test.ipe 16 16 0.0625

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:43 +02:00
Panagiotis Cheilaris 941c26e7e6 create random lsp input from a set of points
Example use:

n=20 ; bbox=100; rbox ${n} t D2 z B${bbox} | tail -n ${n} | python ~/code/geom/Segment_Delaunay_graph_Linf_2/developer_scripts/randsp.py > ~/Dropbox/geom/inp/rx9.cin

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:43 +02:00
Panagiotis Cheilaris 6f3adf3e31 convert from lsp to ipe format (ipe lua script)
Example use:

cat ~/Dropbox/geom/mat/input1.plg | ~/code/geom/Segment_Delaunay_graph_Linf_2/developer_scripts/plg2lsp.py | ipescript lsp2ipe vecmask1test.ipe 16 16 0.0625

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:43 +02:00
Panagiotis Cheilaris d69a143abd convert vertex conflict return values to tests
Example use:

~/code/geom/Segment_Delaunay_graph_Linf_2/examples/Segment_Delaunay_graph_Linf_2/sdg-voronoi-edges-exact ~/Dropbox/geom/data/pssd2btw3.cin | sed -E -e 's/\/1([^0-9])/\1/g' | sed -E -e 's/\/1$//g' | grep 'pqrt.*s.*s.*p.*returns 1' | sort | uniq | grep 'p 200 50' | tail -n 5 | ~/code/geom/Segment_Delaunay_graph_Linf_2/developer_scripts/ret2testsp.py --points 1

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:43 +02:00
Panagiotis Cheilaris a256ff7100 convert sites from lsp to test format
Example run:

cat ~/Dropbox/geom/data/pssendp1a.cin | python ~/code/geom/Segment_Delaunay_graph_Linf_2/developer_scripts/lsp2testsp.py

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:43 +02:00
Panagiotis Cheilaris aecf35b0c9 compute_pss_nonhv_consecutive for ring
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:43 +02:00
Panagiotis Cheilaris 523bbd5475 use points_inside_touching_sides_v for POSITIVE
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:43 +02:00
Panagiotis Cheilaris 0e6397c432 more general points_inside_touching_sides_v
Function points_inside_touching_sides_v now supports PPPx, PPSx,
and PSSx cases. Before, it supported only cases with two segments.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:43 +02:00
Panagiotis Cheilaris 371bdd0379 use points_inside_touching_sides_v in field
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:43 +02:00
Panagiotis Cheilaris b256187e6e check that points are indeed on different sides
fix in points_inside_touching_sides_v

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:42 +02:00
Panagiotis Cheilaris 6e05a7c73f fix when two points hide a segment from vv in ring
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:42 +02:00
Panagiotis Cheilaris 1b5db71997 assertion in place of a check for corner line
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:42 +02:00
Panagiotis Cheilaris 117ff8ff01 partial removal of PSS bisectors
There are several changes here, also in using a new typedef for Bearing.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:42 +02:00
Panagiotis Cheilaris 0223cdf33a fix: use compute_pss_bisectors
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:42 +02:00
Panagiotis Cheilaris 0d73c4e71e add an assertion in orient_line_nonendp
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:42 +02:00
Panagiotis Cheilaris 45db1cc34a prepare for compute_pss_nonendp
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:42 +02:00
Panagiotis Cheilaris 7231f3ba9a use Homogeneous_point_2 with compute_line_dir
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:42 +02:00
Panagiotis Cheilaris 5f82f17a9b PSS case, add compute_pss_endp to ring
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:41 +02:00
Panagiotis Cheilaris f34e42e1d0 PSS endpoint case speedup for field case
Avoid using polychainline bisectors.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:41 +02:00
Panagiotis Cheilaris 12bdb79360 use homogeneous methods in point use in ring
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:41 +02:00
Panagiotis Cheilaris 8893e03d23 SSS case done without polychainline bisectors
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:41 +02:00
Panagiotis Cheilaris 1a0e53e311 change signature of orient_lines_linf
The last argument is now an array of 3 lines.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:41 +02:00
Panagiotis Cheilaris c05ba6558a orient_lines_linf for SSS case
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:41 +02:00
Panagiotis Cheilaris c58c9c72fb put some boolean variables later
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:41 +02:00
Panagiotis Cheilaris fac1837664 Linf hierarchy: include L2 hier., remove constants
This change allows to use both hierarchies at the same time.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:41 +02:00
Panagiotis Cheilaris a71e948e4b small change in implementing compare_distances_ss
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:40 +02:00
Panagiotis Cheilaris 343c267ef5 different compare_distance_to_point_linf
Different compare_distance_to_point_linf implementation.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:40 +02:00
Panagiotis Cheilaris 232f1f8d46 use compute_linf_distance for point and line
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:40 +02:00
Panagiotis Cheilaris b7a56dc72e compute_linf_distance for point and line
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:40 +02:00
Panagiotis Cheilaris 3a083a94ac bug fix related to a PSS vertex
The bug is shown, for example, in input pssprob1.cin:

s 0 100 100 100
s 0 100 0 0
p 20 -40

Let the above input be: AB, AC, D. The vertex computed for the
triple (D, AB, AC) was (140,30) and now it is the correct (70,30).

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:40 +02:00
Panagiotis Cheilaris 9f5140bc47 use return when calling axis-parallel PSS and SSS
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:40 +02:00
Panagiotis Cheilaris 016c4f7cb8 avoid accessing qold when not set in benchmarks
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:40 +02:00
Panagiotis Cheilaris 5eacf1d61a sss case for axis-parallel segments redone
Avoid using bisectors for SSS axis-parallel segments.

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:40 +02:00
Panagiotis Cheilaris 2c259bbec3 make some variables constant in field sqrt
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:39 +02:00
Panagiotis Cheilaris cdd7f6dbb0 sqrt pss case, axis-parallel segments changes
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:39 +02:00
Panagiotis Cheilaris 65de76fb62 new compute_vv_bisectors PSS_Type function
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:39 +02:00
Panagiotis Cheilaris 6262550710 ring pss, compute_pss_both_hv_nonpar_nonendp
Avoid bisectors in the following case:
one segment is horizontal and the other is vertical and
the point p is not an endpoint of the segments

Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:39 +02:00
Panagiotis Cheilaris e19129f57d ring, introduce compute_pss_both_hv_nonpar_nonendp
Signed-off-by: Panagiotis Cheilaris <philaris@cs.ntua.gr>
2015-06-30 10:31:39 +02:00