summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--benchmarks/benchmarks.txt10
-rw-r--r--benchmarks/examples.txt4
-rw-r--r--benchmarks/sphere_3_192/dionysus.txt28
-rw-r--r--benchmarks/sphere_3_192/dipha.txt58
-rw-r--r--benchmarks/sphere_3_192/gudhi.txt18
-rw-r--r--benchmarks/sphere_3_192/phat.txt17
-rw-r--r--benchmarks/sphere_3_192/ripser.txt268
-rw-r--r--benchmarks/sphere_3_64/dionysus.txt28
-rw-r--r--benchmarks/sphere_3_64/dipha.txt58
-rw-r--r--benchmarks/sphere_3_64/gudhi.txt18
-rw-r--r--benchmarks/sphere_3_64/phat.txt17
-rw-r--r--benchmarks/sphere_3_64/ripser.txt103
-rw-r--r--examples/almostlinear4.lower_distance_matrix3
-rw-r--r--examples/almostlinear4a.lower_distance_matrix3
-rw-r--r--examples/almostlinear4b.lower_distance_matrix3
-rw-r--r--examples/almostlinear4c.lower_distance_matrix3
-rw-r--r--examples/linear5.lower_distance_matrix4
-rw-r--r--examples/projective_plane.compressed_lower_distance_matrix.diphabin1376 -> 0 bytes
-rw-r--r--examples/projective_plane.compressed_lower_distance_matrix.dipha_pairsbin384 -> 0 bytes
-rw-r--r--examples/projective_plane.csv13
-rw-r--r--examples/random20.lower_distance_matrix1
-rw-r--r--examples/test.lower_distance_matrix4
-rw-r--r--examples/test.upper_distance_matrix5
-rw-r--r--examples/test2.lower_distance_matrix5
-rw-r--r--examples/test2.upper_distance_matrix5
-rw-r--r--prettyprint.hpp445
-rw-r--r--ripser.xcodeproj/project.pbxproj252
27 files changed, 0 insertions, 1373 deletions
diff --git a/benchmarks/benchmarks.txt b/benchmarks/benchmarks.txt
deleted file mode 100644
index 348d015..0000000
--- a/benchmarks/benchmarks.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-/usr/bin/time -l ~/Source/Dionysus/examples/cohomology/rips-pairwise-cohomology -s3 -p2 ~/Bitbucket/phat-paper/benchmark/point\ cloud/sphere_3_192_points.dat
-
-/usr/bin/time -l ~/Bitbucket/phat/benchmark --primal --bit_tree_pivot_column --twist ~/Bitbucket/phat-paper/benchmark/phat/sphere_3_192_coboundary.phat
-
-/usr/bin/time -l ~/Bitbucket/dipha/dipha --benchmark --upper_dim 3 --dual ~/Bitbucket/phat-paper/benchmark/dipha/sphere_3_192.complex /dev/null
-
-/usr/bin/time -l ~/Source/Gudhi_library_1.3.0/example/Persistent_cohomology/rips_persistence -d3 -p2 ~/Bitbucket/phat-paper/benchmark/point\ cloud/sphere_3_192_points.dat -o/dev/null
-
-c++ -std=c++11 ripser.cpp -o ripser -Ofast -D NDEBUG -D FILE_FORMAT_DIPHA -D PRINT_PERSISTENCE_PAIRS && /usr/bin/time -l ./ripser --top_dim 2 ~/Bitbucket/phat-paper/benchmark/dipha/sphere_3_192.complex
-
diff --git a/benchmarks/examples.txt b/benchmarks/examples.txt
deleted file mode 100644
index 39afeb6..0000000
--- a/benchmarks/examples.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-c++ -std=c++14 ripser.cpp -o ripser -Ofast -D NDEBUG -D STORE_DIAMETERS -D FILE_FORMAT_UPPER_TRIANGULAR_CSV -D PRINT_PERSISTENCE_PAIRS && /usr/bin/time -l ./ripser --top_dim 1 ~/Downloads/avian_all_nt_concat_jukes_cantor.csv
-
-c++ -std=c++14 ripser.cpp -o ripser -Ofast -D NDEBUG -D STORE_DIAMETERS -D FILE_FORMAT_DIPHA -D PRINT_PERSISTENCE_PAIRS && /usr/bin/time -l ./ripser --top_dim 2 ~/Bitbucket/phat-paper/benchmark/dipha/sphere_3_192.complex
-
diff --git a/benchmarks/sphere_3_192/dionysus.txt b/benchmarks/sphere_3_192/dionysus.txt
deleted file mode 100644
index 56e23d1..0000000
--- a/benchmarks/sphere_3_192/dionysus.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-uli:Dionysus uli$ /usr/bin/time -l ~/Source/Dionysus/examples/cohomology/rips-pairwise-cohomology -s3 -p2 ~/Bitbucket/phat-paper/benchmark/point\ cloud/sphere_3_192_points.dat
-Boundary matrix:
-Cocycles: *.ccl
-Vertices:
-Diagram:
-Simplex vector generated, size: 56050288
-
-0% 10 20 30 40 50 60 70 80 90 100%
-|----|----|----|----|----|----|----|----|----|----|
-***************************************************
-Rips timer : Elapsed time [393.20] seconds
-Persistence timer : Elapsed time [322.41] seconds
-Total timer : Elapsed time [807.98] seconds
- 843.40 real 787.80 user 26.13 sys
-3240779776 maximum resident set size
- 0 average shared memory size
- 0 average unshared data size
- 0 average unshared stack size
- 4808144 page reclaims
- 0 page faults
- 0 swaps
- 11 block input operations
- 0 block output operations
- 0 messages sent
- 0 messages received
- 0 signals received
- 11585 voluntary context switches
- 691823 involuntary context switches
diff --git a/benchmarks/sphere_3_192/dipha.txt b/benchmarks/sphere_3_192/dipha.txt
deleted file mode 100644
index 38cc112..0000000
--- a/benchmarks/sphere_3_192/dipha.txt
+++ /dev/null
@@ -1,58 +0,0 @@
-uli:dipha uli$ /usr/bin/time -l ~/Bitbucket/dipha/dipha --benchmark --upper_dim 3 --dual ~/Bitbucket/phat-paper/benchmark/dipha/sphere_3_192.complex /dev/null
-
-Input filename:
-/Users/uli/Bitbucket/phat-paper/benchmark/dipha/sphere_3_192.complex
-
-upper_dim: 3
-
-Number of processes used:
-1
-
-Detailed information for rank 0:
- time prior mem peak mem bytes recv
- 0.0s 3 MB 4 MB 0 MB complex.load_binary( input_filename, upper_dim );
-
-Number of cells in input:
-56050288
- 20.1s 4 MB 1714 MB 0 MB get_filtration_to_cell_map( complex, dualize, filtration_to_cell_map );
- 11.5s 431 MB 2756 MB 855 MB get_cell_to_filtration_map( complex.get_num_cells(), filtration_to_cell_map, cell_to_filtration_map );
- 1.9s 1713 MB 2756 MB 0 MB generate_unreduced_columns( complex, filtration_to_cell_map, cell_to_filtration_map, cur_dim, dualize, unreduced_columns );
- 0.0s 2144 MB 2756 MB 0 MB reduction_kernel( complex.get_num_cells(), unreduced_columns, reduced_columns );
- 1.7s 2145 MB 2756 MB 53 MB generate_unreduced_columns( complex, filtration_to_cell_map, cell_to_filtration_map, cur_dim, dualize, unreduced_columns );
- 0.1s 2226 MB 2756 MB 0 MB reduction_kernel( complex.get_num_cells(), unreduced_columns, reduced_columns );
- 35.9s 2244 MB 2809 MB 3349 MB generate_unreduced_columns( complex, filtration_to_cell_map, cell_to_filtration_map, cur_dim, dualize, unreduced_columns );
- 17.1s 1359 MB 2809 MB 0 MB reduction_kernel( complex.get_num_cells(), unreduced_columns, reduced_columns );
- 14.9s 943 MB 3638 MB 106 MB dipha::outputs::save_persistence_diagram( output_filename, complex, filtration_to_cell_map, reduced_columns, dualize, upper_dim );
-
-Overall running time in seconds:
-104.5
-
-Reduction kernel running time in seconds:
-17.2
-
-Overall peak mem in GB of all ranks:
-3.6
-
-Individual peak mem in GB of per rank:
-3.6
-
-Maximal communication traffic (without sorting) in GB between any pair of nodes:
-4.3
-
-Total communication traffic (without sorting) in GB between all pairs of nodes:
-4.3
- 104.51 real 71.06 user 25.97 sys
-3815686144 maximum resident set size
- 0 average shared memory size
- 0 average unshared data size
- 0 average unshared stack size
- 8788553 page reclaims
- 0 page faults
- 0 swaps
- 0 block input operations
- 4 block output operations
- 0 messages sent
- 0 messages received
- 0 signals received
- 2337 voluntary context switches
- 238131 involuntary context switches
diff --git a/benchmarks/sphere_3_192/gudhi.txt b/benchmarks/sphere_3_192/gudhi.txt
deleted file mode 100644
index 87763c8..0000000
--- a/benchmarks/sphere_3_192/gudhi.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-uli:Gudhi_library_1.3.0 uli$ /usr/bin/time -l ~/Source/Gudhi_library_1.3.0/example/Persistent_cohomology/rips_persistence -d3 -p2 ~/Bitbucket/phat-paper/benchmark/point\ cloud/sphere_3_192_points.dat -o/dev/null
-The complex contains 56050288 simplices
- and has dimension 3
- 71.98 real 120.27 user 5.86 sys
-2905890816 maximum resident set size
- 0 average shared memory size
- 0 average unshared data size
- 0 average unshared stack size
- 1535169 page reclaims
- 129 page faults
- 0 swaps
- 0 block input operations
- 0 block output operations
- 0 messages sent
- 0 messages received
- 0 signals received
- 1957 voluntary context switches
- 168798 involuntary context switches
diff --git a/benchmarks/sphere_3_192/phat.txt b/benchmarks/sphere_3_192/phat.txt
deleted file mode 100644
index 27934d7..0000000
--- a/benchmarks/sphere_3_192/phat.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-uli:phat uli$ /usr/bin/time -l ~/Bitbucket/phat/benchmark --primal --bit_tree_pivot_column --twist ~/Bitbucket/phat-paper/benchmark/phat/sphere_3_192_coboundary.phat
-/Users/uli/Bitbucket/phat-paper/benchmark/phat/sphere_3_192_coboundary.phat, bit_tree_pivot_column, twist, primal, Reduction time: 2.649s
- 16.91 real 12.22 user 4.38 sys
-3742277632 maximum resident set size
- 0 average shared memory size
- 0 average unshared data size
- 0 average unshared stack size
- 1568913 page reclaims
- 8 page faults
- 0 swaps
- 10 block input operations
- 0 block output operations
- 0 messages sent
- 0 messages received
- 0 signals received
- 20 voluntary context switches
- 13471 involuntary context switches
diff --git a/benchmarks/sphere_3_192/ripser.txt b/benchmarks/sphere_3_192/ripser.txt
deleted file mode 100644
index 60b7939..0000000
--- a/benchmarks/sphere_3_192/ripser.txt
+++ /dev/null
@@ -1,268 +0,0 @@
-uli:ripser uli$ c++ -std=c++11 ripser.cpp -o ripser -Ofast -D NDEBUG -D FILE_FORMAT_DIPHA -D PRINT_PERSISTENCE_PAIRS && /usr/bin/time -l ./ripser --top_dim 2 ~/Bitbucket/phat-paper/benchmark/dipha/sphere_3_192.complex
-distance matrix with 192 points
-distance matrix transformed to lower triangular form
-value range: [0.00367531,2]
-persistence intervals in dim 0:
- [0,0.145018)
- [0,0.0831521)
- [0,0.115939)
- [0,0.202564)
- [0,0.0217315)
- [0,0.127383)
- [0,0.0387451)
- [0,0.0623736)
- [0,0.282169)
- [0,0.126595)
- [0,0.195722)
- [0,0.0792212)
- [0,0.149226)
- [0,0.2286)
- [0,0.197377)
- [0,0.0651112)
- [0,0.138674)
- [0,0.147427)
- [0,0.124774)
- [0,0.293466)
- [0,0.17493)
- [0,0.131438)
- [0,0.151643)
- [0,0.208063)
- [0,0.129741)
- [0,0.127864)
- [0,0.131638)
- [0,0.0959033)
- [0,0.150747)
- [0,0.119187)
- [0,0.0870489)
- [0,0.165592)
- [0,0.121955)
- [0,0.1569)
- [0,0.0433426)
- [0,0.280629)
- [0,0.0487061)
- [0,0.0746054)
- [0,0.0728647)
- [0,0.0471186)
- [0,0.0988752)
- [0,0.111131)
- [0,0.141823)
- [0,0.249345)
- [0,0.283881)
- [0,0.0522132)
- [0,0.157293)
- [0,0.0496187)
- [0,0.143151)
- [0,0.135402)
- [0,0.192733)
- [0,0.057488)
- [0,0.0311057)
- [0,0.159282)
- [0,0.109526)
- [0,0.234112)
- [0,0.084341)
- [0,0.0593071)
- [0,0.133033)
- [0,0.240632)
- [0,0.248879)
- [0,0.134886)
- [0,0.228917)
- [0,0.249339)
- [0,0.204544)
- [0,0.048826)
- [0,0.143085)
- [0,0.231675)
- [0,0.191661)
- [0,0.0637053)
- [0,0.0560443)
- [0,0.142537)
- [0,0.00367531)
- [0,0.257997)
- [0,0.037954)
- [0,0.204208)
- [0,0.201961)
- [0,0.215759)
- [0,0.162464)
- [0,0.0692368)
- [0,0.145725)
- [0,0.205389)
- [0,0.203812)
- [0,0.15587)
- [0,0.123527)
- [0,0.108768)
- [0,0.165314)
- [0,0.0782455)
- [0,0.0173134)
- [0,0.176306)
- [0,0.0741239)
- [0,0.0831358)
- [0,0.266592)
- [0,0.0515157)
- [0,0.223232)
- [0,0.0120098)
- [0,0.122089)
- [0,0.147203)
- [0,0.283562)
- [0,0.304062)
- [0,0.253227)
- [0,0.164809)
- [0,0.149017)
- [0,0.133525)
- [0,0.237571)
- [0,0.0743236)
- [0,0.0672609)
- [0,0.218526)
- [0,0.0559886)
- [0,0.165907)
- [0,0.0800348)
- [0,0.192356)
- [0,0.164815)
- [0,0.142834)
- [0,0.174172)
- [0,0.0714516)
- [0,0.227933)
- [0,0.0702075)
- [0,0.18428)
- [0,0.0970981)
- [0,0.133722)
- [0,0.0753955)
- [0,0.0884133)
- [0,0.15244)
- [0,0.157373)
- [0,0.234969)
- [0,0.173412)
- [0,0.193791)
- [0,0.147289)
- [0,0.111798)
- [0,0.277191)
- [0,0.167455)
- [0,0.189106)
- [0,0.179609)
- [0,0.297053)
- [0,0.158413)
- [0,0.165494)
- [0,0.199673)
- [0,0.227524)
- [0,0.076909)
- [0,0.332695)
- [0,0.0802451)
- [0,0.0994522)
- [0,0.154095)
- [0,0.274611)
- [0,0.24348)
- [0,0.207016)
- [0,0.218561)
- [0,0.270996)
- [0,0.214018)
- [0,0.323964)
- [0,0.184757)
- [0,0.193804)
- [0,0.276431)
- [0,0.175016)
- [0,0.142152)
- [0,0.0857401)
- [0,0.207714)
- [0,0.00391946)
- [0,0.168587)
- [0,0.192406)
- [0,0.246491)
- [0,0.148506)
- [0,0.25725)
- [0,0.165202)
- [0,0.0814685)
- [0,0.247042)
- [0,0.0633425)
- [0,0.253163)
- [0,0.157251)
- [0,0.285416)
- [0,0.173586)
- [0,0.210372)
- [0,0.266635)
- [0,0.316023)
- [0,0.287316)
- [0,0.264334)
- [0,0.208851)
- [0,0.277582)
- [0,0.288591)
- [0,0.231179)
- [0,0.190642)
- [0,0.24509)
- [0,0.319493)
- [0,0.207261)
- [0,0.173684)
- [0,0.264483)
- [0,0.289189)
- [0,0.23879)
- [0,0.297933)
- [0,0.268806)
- [0, )
-persistence intervals in dim 1:
- [0.542696,0.558863)
- [0.531636,0.578093)
- [0.530723,0.576869)
- [0.463389,0.505345)
- [0.445398,0.448892)
- [0.443911,0.54761)
- [0.431628,0.477277)
- [0.413789,0.487379)
- [0.412572,0.46308)
- [0.411549,0.471715)
- [0.409968,0.478461)
- [0.386278,0.4922)
- [0.381084,0.421374)
- [0.377729,0.514046)
- [0.377147,0.414788)
- [0.377019,0.434385)
- [0.374531,0.477153)
- [0.370051,0.483155)
- [0.361715,0.403181)
- [0.354747,0.454956)
- [0.352356,0.541947)
- [0.350913,0.369543)
- [0.35058,0.580726)
- [0.347806,0.638039)
- [0.347388,0.559978)
- [0.344005,0.387193)
- [0.34298,0.65758)
- [0.339394,0.463666)
- [0.33836,0.350411)
- [0.33392,0.35111)
- [0.33364,0.3797)
- [0.331259,0.356381)
- [0.329066,0.386148)
- [0.324571,0.343083)
- [0.324159,0.399094)
- [0.322683,0.482958)
- [0.318032,0.417462)
- [0.317521,0.349622)
- [0.316534,0.682559)
- [0.309419,0.37151)
- [0.309336,0.310216)
- [0.308779,0.346297)
- [0.304761,0.647803)
- [0.301986,0.478334)
- [0.301045,0.303943)
- [0.29997,0.311993)
- [0.298341,0.360737)
- [0.279016,0.301331)
- [0.2576,0.373749)
- [0.253337,0.292286)
- [0.24546,0.248903)
- [0.240869,0.288747)
- [0.189652,0.197515)
-persistence intervals in dim 2:
- [0.720484,1.65562)
- 2.22 real 2.09 user 0.11 sys
- 182439936 maximum resident set size
- 0 average shared memory size
- 0 average unshared data size
- 0 average unshared stack size
- 44546 page reclaims
- 9 page faults
- 0 swaps
- 0 block input operations
- 0 block output operations
- 0 messages sent
- 0 messages received
- 0 signals received
- 1 voluntary context switches
- 1307 involuntary context switches
diff --git a/benchmarks/sphere_3_64/dionysus.txt b/benchmarks/sphere_3_64/dionysus.txt
deleted file mode 100644
index 52b879d..0000000
--- a/benchmarks/sphere_3_64/dionysus.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-uli:Dionysus uli$ /usr/bin/time -l ~/Source/Dionysus/examples/cohomology/rips-pairwise-cohomology -s3 -p2 ~/Bitbucket/phat-paper/benchmark/point\ cloud/sphere_3_64_points.dat
-Boundary matrix:
-Cocycles: *.ccl
-Vertices:
-Diagram:
-Simplex vector generated, size: 679120
-
-0% 10 20 30 40 50 60 70 80 90 100%
-|----|----|----|----|----|----|----|----|----|----|
-***************************************************
-Rips timer : Elapsed time [3.01] seconds
-Persistence timer : Elapsed time [1.98] seconds
-Total timer : Elapsed time [5.85] seconds
- 5.94 real 5.85 user 0.05 sys
- 76812288 maximum resident set size
- 0 average shared memory size
- 0 average unshared data size
- 0 average unshared stack size
- 18766 page reclaims
- 0 page faults
- 0 swaps
- 0 block input operations
- 0 block output operations
- 0 messages sent
- 0 messages received
- 0 signals received
- 0 voluntary context switches
- 2160 involuntary context switches
diff --git a/benchmarks/sphere_3_64/dipha.txt b/benchmarks/sphere_3_64/dipha.txt
deleted file mode 100644
index 67534d6..0000000
--- a/benchmarks/sphere_3_64/dipha.txt
+++ /dev/null
@@ -1,58 +0,0 @@
-uli:dipha uli$ /usr/bin/time -l ~/Bitbucket/dipha/dipha --benchmark --upper_dim 3 --dual ~/Bitbucket/phat-paper/benchmark/dipha/sphere_3_64.complex /dev/null
-
-Input filename:
-/Users/uli/Bitbucket/phat-paper/benchmark/dipha/sphere_3_64.complex
-
-upper_dim: 3
-
-Number of processes used:
-1
-
-Detailed information for rank 0:
- time prior mem peak mem bytes recv
- 0.0s 3 MB 3 MB 0 MB complex.load_binary( input_filename, upper_dim );
-
-Number of cells in input:
-679120
- 0.2s 3 MB 24 MB 0 MB get_filtration_to_cell_map( complex, dualize, filtration_to_cell_map );
- 0.1s 24 MB 69 MB 10 MB get_cell_to_filtration_map( complex.get_num_cells(), filtration_to_cell_map, cell_to_filtration_map );
- 0.0s 84 MB 85 MB 0 MB generate_unreduced_columns( complex, filtration_to_cell_map, cell_to_filtration_map, cur_dim, dualize, unreduced_columns );
- 0.0s 85 MB 85 MB 0 MB reduction_kernel( complex.get_num_cells(), unreduced_columns, reduced_columns );
- 0.0s 85 MB 88 MB 1 MB generate_unreduced_columns( complex, filtration_to_cell_map, cell_to_filtration_map, cur_dim, dualize, unreduced_columns );
- 0.0s 88 MB 89 MB 0 MB reduction_kernel( complex.get_num_cells(), unreduced_columns, reduced_columns );
- 0.3s 89 MB 122 MB 38 MB generate_unreduced_columns( complex, filtration_to_cell_map, cell_to_filtration_map, cur_dim, dualize, unreduced_columns );
- 0.1s 102 MB 142 MB 0 MB reduction_kernel( complex.get_num_cells(), unreduced_columns, reduced_columns );
- 0.1s 141 MB 142 MB 3 MB dipha::outputs::save_persistence_diagram( output_filename, complex, filtration_to_cell_map, reduced_columns, dualize, upper_dim );
-
-Overall running time in seconds:
-0.8
-
-Reduction kernel running time in seconds:
-0.1
-
-Overall peak mem in GB of all ranks:
-0.1
-
-Individual peak mem in GB of per rank:
-0.1
-
-Maximal communication traffic (without sorting) in GB between any pair of nodes:
-0.1
-
-Total communication traffic (without sorting) in GB between all pairs of nodes:
-0.1
- 0.81 real 0.65 user 0.13 sys
- 149577728 maximum resident set size
- 0 average shared memory size
- 0 average unshared data size
- 0 average unshared stack size
- 51467 page reclaims
- 0 page faults
- 0 swaps
- 0 block input operations
- 1 block output operations
- 0 messages sent
- 0 messages received
- 0 signals received
- 7 voluntary context switches
- 1069 involuntary context switches
diff --git a/benchmarks/sphere_3_64/gudhi.txt b/benchmarks/sphere_3_64/gudhi.txt
deleted file mode 100644
index ee69c4a..0000000
--- a/benchmarks/sphere_3_64/gudhi.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-uli:Gudhi_library_1.3.0 uli$ /usr/bin/time -l ~/Source/Gudhi_library_1.3.0/example/Persistent_cohomology/rips_persistence -d3 -p2 ~/Bitbucket/phat-paper/benchmark/point\ cloud/sphere_3_64_points.dat -o/dev/null
-The complex contains 679120 simplices
- and has dimension 3
- 0.45 real 0.75 user 0.02 sys
- 37740544 maximum resident set size
- 0 average shared memory size
- 0 average unshared data size
- 0 average unshared stack size
- 9124 page reclaims
- 122 page faults
- 0 swaps
- 1 block input operations
- 0 block output operations
- 0 messages sent
- 0 messages received
- 0 signals received
- 14 voluntary context switches
- 2324 involuntary context switches
diff --git a/benchmarks/sphere_3_64/phat.txt b/benchmarks/sphere_3_64/phat.txt
deleted file mode 100644
index 40c18fe..0000000
--- a/benchmarks/sphere_3_64/phat.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-uli:phat uli$ /usr/bin/time -l ~/Bitbucket/phat/benchmark --primal --bit_tree_pivot_column --twist ~/Bitbucket/phat-paper/benchmark/phat/sphere_3_64_coboundary.phat
-/Users/uli/Bitbucket/phat-paper/benchmark/phat/sphere_3_64_coboundary.phat, bit_tree_pivot_column, twist, primal, Reduction time: 0.019s
- 0.22 real 0.15 user 0.04 sys
- 47742976 maximum resident set size
- 0 average shared memory size
- 0 average unshared data size
- 0 average unshared stack size
- 11669 page reclaims
- 2 page faults
- 0 swaps
- 2 block input operations
- 0 block output operations
- 0 messages sent
- 0 messages received
- 0 signals received
- 4 voluntary context switches
- 106 involuntary context switches
diff --git a/benchmarks/sphere_3_64/ripser.txt b/benchmarks/sphere_3_64/ripser.txt
deleted file mode 100644
index 016143d..0000000
--- a/benchmarks/sphere_3_64/ripser.txt
+++ /dev/null
@@ -1,103 +0,0 @@
-uli:ripser uli$ c++ -std=c++11 ripser.cpp -o ripser -Ofast -D NDEBUG -D FILE_FORMAT_DIPHA -D PRINT_PERSISTENCE_PAIRS && /usr/bin/time -l ./ripser --top_dim 2 ~/Bitbucket/phat-paper/benchmark/dipha/sphere_3_64.complex
-distance matrix with 64 points
-distance matrix transformed to lower triangular form
-value range: [0.00391946,1.99927]
-persistence intervals in dim 0:
- [0,0.147289)
- [0,0.111798)
- [0,0.279354)
- [0,0.379849)
- [0,0.217485)
- [0,0.179609)
- [0,0.297053)
- [0,0.227524)
- [0,0.334523)
- [0,0.205129)
- [0,0.266643)
- [0,0.076909)
- [0,0.424333)
- [0,0.0802451)
- [0,0.141103)
- [0,0.154095)
- [0,0.280747)
- [0,0.561426)
- [0,0.255364)
- [0,0.218561)
- [0,0.344005)
- [0,0.457212)
- [0,0.339394)
- [0,0.184757)
- [0,0.193804)
- [0,0.276431)
- [0,0.276383)
- [0,0.273482)
- [0,0.162738)
- [0,0.208851)
- [0,0.00391946)
- [0,0.168587)
- [0,0.231288)
- [0,0.370337)
- [0,0.151879)
- [0,0.336643)
- [0,0.176636)
- [0,0.0814685)
- [0,0.287316)
- [0,0.0633425)
- [0,0.46675)
- [0,0.169115)
- [0,0.387245)
- [0,0.354112)
- [0,0.236525)
- [0,0.377019)
- [0,0.396994)
- [0,0.58991)
- [0,0.374531)
- [0,0.374138)
- [0,0.439977)
- [0,0.487279)
- [0,0.231179)
- [0,0.200333)
- [0,0.401576)
- [0,0.574945)
- [0,0.252863)
- [0,0.173684)
- [0,0.284319)
- [0,0.355419)
- [0,0.23879)
- [0,0.381084)
- [0,0.532104)
- [0, )
-persistence intervals in dim 1:
- [0.84172,1.04196)
- [0.763446,0.863406)
- [0.727244,0.74155)
- [0.708398,0.757279)
- [0.655113,0.849319)
- [0.62495,0.753672)
- [0.60904,0.682559)
- [0.607973,0.672219)
- [0.606907,0.829538)
- [0.588045,1.04527)
- [0.57698,0.769491)
- [0.559498,0.586113)
- [0.525224,0.645181)
- [0.445398,0.448892)
- [0.412572,0.478334)
- [0.376457,0.63549)
-persistence intervals in dim 2:
- [1.10328,1.67029)
- 0.05 real 0.05 user 0.00 sys
- 4300800 maximum resident set size
- 0 average shared memory size
- 0 average unshared data size
- 0 average unshared stack size
- 1054 page reclaims
- 9 page faults
- 0 swaps
- 0 block input operations
- 0 block output operations
- 0 messages sent
- 0 messages received
- 0 signals received
- 1 voluntary context switches
- 10 involuntary context switches
diff --git a/examples/almostlinear4.lower_distance_matrix b/examples/almostlinear4.lower_distance_matrix
deleted file mode 100644
index 0992677..0000000
--- a/examples/almostlinear4.lower_distance_matrix
+++ /dev/null
@@ -1,3 +0,0 @@
-1,
-2,1,
-1,1.9,1
diff --git a/examples/almostlinear4a.lower_distance_matrix b/examples/almostlinear4a.lower_distance_matrix
deleted file mode 100644
index c0e94e6..0000000
--- a/examples/almostlinear4a.lower_distance_matrix
+++ /dev/null
@@ -1,3 +0,0 @@
-1,
-2,1,
-3,4,5
diff --git a/examples/almostlinear4b.lower_distance_matrix b/examples/almostlinear4b.lower_distance_matrix
deleted file mode 100644
index c990b9b..0000000
--- a/examples/almostlinear4b.lower_distance_matrix
+++ /dev/null
@@ -1,3 +0,0 @@
-1,
-2,1,
-3,5,4
diff --git a/examples/almostlinear4c.lower_distance_matrix b/examples/almostlinear4c.lower_distance_matrix
deleted file mode 100644
index da2bb0f..0000000
--- a/examples/almostlinear4c.lower_distance_matrix
+++ /dev/null
@@ -1,3 +0,0 @@
-1,
-2,1,
-4,3,5
diff --git a/examples/linear5.lower_distance_matrix b/examples/linear5.lower_distance_matrix
deleted file mode 100644
index 9a6f670..0000000
--- a/examples/linear5.lower_distance_matrix
+++ /dev/null
@@ -1,4 +0,0 @@
-1,
-2,1,
-3,4,5,
-
diff --git a/examples/projective_plane.compressed_lower_distance_matrix.dipha b/examples/projective_plane.compressed_lower_distance_matrix.dipha
deleted file mode 100644
index 8f091e0..0000000
--- a/examples/projective_plane.compressed_lower_distance_matrix.dipha
+++ /dev/null
Binary files differ
diff --git a/examples/projective_plane.compressed_lower_distance_matrix.dipha_pairs b/examples/projective_plane.compressed_lower_distance_matrix.dipha_pairs
deleted file mode 100644
index 2018749..0000000
--- a/examples/projective_plane.compressed_lower_distance_matrix.dipha_pairs
+++ /dev/null
Binary files differ
diff --git a/examples/projective_plane.csv b/examples/projective_plane.csv
deleted file mode 100644
index 6353b07..0000000
--- a/examples/projective_plane.csv
+++ /dev/null
@@ -1,13 +0,0 @@
-0,1,1,1,1,1,1,1,1,2,2,2,2
-1,0,2,2,2,1,2,1,2,1,2,2,2
-1,2,0,2,2,2,1,2,1,1,2,2,2
-1,2,2,0,2,1,2,2,1,2,2,2,1
-1,2,2,2,0,2,1,1,2,2,2,2,1
-1,1,2,1,2,0,2,2,2,1,1,2,1
-1,2,1,2,1,2,0,2,2,1,1,2,1
-1,1,2,2,1,2,2,0,2,1,2,1,1
-1,2,1,1,2,2,2,2,0,1,2,1,1
-2,1,1,2,2,1,1,1,1,0,1,1,2
-2,2,2,2,2,1,1,2,2,1,0,2,1
-2,2,2,2,2,2,2,1,1,1,2,0,1
-2,2,2,1,1,1,1,1,1,2,1,1,0 \ No newline at end of file
diff --git a/examples/random20.lower_distance_matrix b/examples/random20.lower_distance_matrix
deleted file mode 100644
index 241408f..0000000
--- a/examples/random20.lower_distance_matrix
+++ /dev/null
@@ -1 +0,0 @@
-68,6,155,10,173,171,168,52,32,63,136,16,78,163,8,175,28,70,107,165,18,97,99,118,49,76,48,133,58,92,44,57,190,101,25,94,148,37,2,146,56,95,125,121,142,31,21,152,154,124,75,120,112,45,39,115,170,179,157,183,15,14,38,182,151,164,185,96,127,41,53,180,166,122,134,100,20,169,36,40,87,46,140,82,187,71,12,178,159,184,189,3,86,61,137,93,116,167,150,186,126,172,29,34,135,27,144,177,73,19,147,17,26,1,139,22,69,9,138,160,181,105,24,129,91,11,64,103,132,130,4,47,66,85,65,149,109,161,81,128,7,113,67,77,54,35,30,74,98,114,5,176,158,62,89,79,156,102,119,141,51,143,108,131,106,33,123,43,174,55,83,80,145,104,153,13,188,90,117,111,60,84,23,59,88,110,42,50,72,162 \ No newline at end of file
diff --git a/examples/test.lower_distance_matrix b/examples/test.lower_distance_matrix
deleted file mode 100644
index e1aac02..0000000
--- a/examples/test.lower_distance_matrix
+++ /dev/null
@@ -1,4 +0,0 @@
-1,
-2,3,
-4,5,6,
-7,8,9,10
diff --git a/examples/test.upper_distance_matrix b/examples/test.upper_distance_matrix
deleted file mode 100644
index 274f252..0000000
--- a/examples/test.upper_distance_matrix
+++ /dev/null
@@ -1,5 +0,0 @@
-1,
-3,4
-4,3,1,
-3,4,3,1
-1,3,4,3,1
diff --git a/examples/test2.lower_distance_matrix b/examples/test2.lower_distance_matrix
deleted file mode 100644
index 4bb81a4..0000000
--- a/examples/test2.lower_distance_matrix
+++ /dev/null
@@ -1,5 +0,0 @@
-1,
-3,1,
-4,3,1,
-3,4,3,1,
-1,3,4,3,1
diff --git a/examples/test2.upper_distance_matrix b/examples/test2.upper_distance_matrix
deleted file mode 100644
index 9d4e39e..0000000
--- a/examples/test2.upper_distance_matrix
+++ /dev/null
@@ -1,5 +0,0 @@
-1,3,4,3,1,
- 1,3,4,3,
- 1,3,4,
- 1,3,
- 1
diff --git a/prettyprint.hpp b/prettyprint.hpp
deleted file mode 100644
index 6bf2543..0000000
--- a/prettyprint.hpp
+++ /dev/null
@@ -1,445 +0,0 @@
-// Copyright Louis Delacroix 2010 - 2014.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-//
-// A pretty printing library for C++
-//
-// Usage:
-// Include this header, and operator<< will "just work".
-
-#ifndef H_PRETTY_PRINT
-#define H_PRETTY_PRINT
-
-#include <cstddef>
-#include <iterator>
-#include <memory>
-#include <ostream>
-#include <set>
-#include <tuple>
-#include <type_traits>
-#include <unordered_set>
-#include <utility>
-#include <valarray>
-
-namespace pretty_print
-{
- namespace detail
- {
- // SFINAE type trait to detect whether T::const_iterator exists.
-
- struct sfinae_base
- {
- using yes = char;
- using no = yes[2];
- };
-
- template <typename T>
- struct has_const_iterator : private sfinae_base
- {
- private:
- template <typename C> static yes & test(typename C::const_iterator*);
- template <typename C> static no & test(...);
- public:
- static const bool value = sizeof(test<T>(nullptr)) == sizeof(yes);
- using type = T;
- };
-
- template <typename T>
- struct has_begin_end : private sfinae_base
- {
- private:
- template <typename C>
- static yes & f(typename std::enable_if<
- std::is_same<decltype(static_cast<typename C::const_iterator(C::*)() const>(&C::begin)),
- typename C::const_iterator(C::*)() const>::value>::type *);
-
- template <typename C> static no & f(...);
-
- template <typename C>
- static yes & g(typename std::enable_if<
- std::is_same<decltype(static_cast<typename C::const_iterator(C::*)() const>(&C::end)),
- typename C::const_iterator(C::*)() const>::value, void>::type*);
-
- template <typename C> static no & g(...);
-
- public:
- static bool const beg_value = sizeof(f<T>(nullptr)) == sizeof(yes);
- static bool const end_value = sizeof(g<T>(nullptr)) == sizeof(yes);
- };
-
- } // namespace detail
-
-
- // Holds the delimiter values for a specific character type
-
- template <typename TChar>
- struct delimiters_values
- {
- using char_type = TChar;
- const char_type * prefix;
- const char_type * delimiter;
- const char_type * postfix;
- };
-
-
- // Defines the delimiter values for a specific container and character type
-
- template <typename T, typename TChar>
- struct delimiters
- {
- using type = delimiters_values<TChar>;
- static const type values;
- };
-
-
- // Functor to print containers. You can use this directly if you want
- // to specificy a non-default delimiters type. The printing logic can
- // be customized by specializing the nested template.
-
- template <typename T,
- typename TChar = char,
- typename TCharTraits = ::std::char_traits<TChar>,
- typename TDelimiters = delimiters<T, TChar>>
- struct print_container_helper
- {
- using delimiters_type = TDelimiters;
- using ostream_type = std::basic_ostream<TChar, TCharTraits>;
-
- template <typename U>
- struct printer
- {
- static void print_body(const U & c, ostream_type & stream)
- {
- using std::begin;
- using std::end;
-
- auto it = begin(c);
- const auto the_end = end(c);
-
- if (it != the_end)
- {
- for ( ; ; )
- {
- stream << *it;
-
- if (++it == the_end) break;
-
- if (delimiters_type::values.delimiter != NULL)
- stream << delimiters_type::values.delimiter;
- }
- }
- }
- };
-
- print_container_helper(const T & container)
- : container_(container)
- { }
-
- inline void operator()(ostream_type & stream) const
- {
- if (delimiters_type::values.prefix != NULL)
- stream << delimiters_type::values.prefix;
-
- printer<T>::print_body(container_, stream);
-
- if (delimiters_type::values.postfix != NULL)
- stream << delimiters_type::values.postfix;
- }
-
- private:
- const T & container_;
- };
-
- // Specialization for pairs
-
- template <typename T, typename TChar, typename TCharTraits, typename TDelimiters>
- template <typename T1, typename T2>
- struct print_container_helper<T, TChar, TCharTraits, TDelimiters>::printer<std::pair<T1, T2>>
- {
- using ostream_type = print_container_helper<T, TChar, TCharTraits, TDelimiters>::ostream_type;
-
- static void print_body(const std::pair<T1, T2> & c, ostream_type & stream)
- {
- stream << c.first;
- if (print_container_helper<T, TChar, TCharTraits, TDelimiters>::delimiters_type::values.delimiter != NULL)
- stream << print_container_helper<T, TChar, TCharTraits, TDelimiters>::delimiters_type::values.delimiter;
- stream << c.second;
- }
- };
-
- // Specialization for tuples
-
- template <typename T, typename TChar, typename TCharTraits, typename TDelimiters>
- template <typename ...Args>
- struct print_container_helper<T, TChar, TCharTraits, TDelimiters>::printer<std::tuple<Args...>>
- {
- using ostream_type = print_container_helper<T, TChar, TCharTraits, TDelimiters>::ostream_type;
- using element_type = std::tuple<Args...>;
-
- template <std::size_t I> struct Int { };
-
- static void print_body(const element_type & c, ostream_type & stream)
- {
- tuple_print(c, stream, Int<0>());
- }
-
- static void tuple_print(const element_type &, ostream_type &, Int<sizeof...(Args)>)
- {
- }
-
- static void tuple_print(const element_type & c, ostream_type & stream,
- typename std::conditional<sizeof...(Args) != 0, Int<0>, std::nullptr_t>::type)
- {
- stream << std::get<0>(c);
- tuple_print(c, stream, Int<1>());
- }
-
- template <std::size_t N>
- static void tuple_print(const element_type & c, ostream_type & stream, Int<N>)
- {
- if (print_container_helper<T, TChar, TCharTraits, TDelimiters>::delimiters_type::values.delimiter != NULL)
- stream << print_container_helper<T, TChar, TCharTraits, TDelimiters>::delimiters_type::values.delimiter;
-
- stream << std::get<N>(c);
-
- tuple_print(c, stream, Int<N + 1>());
- }
- };
-
- // Prints a print_container_helper to the specified stream.
-
- template<typename T, typename TChar, typename TCharTraits, typename TDelimiters>
- inline std::basic_ostream<TChar, TCharTraits> & operator<<(
- std::basic_ostream<TChar, TCharTraits> & stream,
- const print_container_helper<T, TChar, TCharTraits, TDelimiters> & helper)
- {
- helper(stream);
- return stream;
- }
-
-
- // Basic is_container template; specialize to derive from std::true_type for all desired container types
-
- template <typename T>
- struct is_container : public std::integral_constant<bool,
- detail::has_const_iterator<T>::value &&
- detail::has_begin_end<T>::beg_value &&
- detail::has_begin_end<T>::end_value> { };
-
- template <typename T, std::size_t N>
- struct is_container<T[N]> : std::true_type { };
-
- template <std::size_t N>
- struct is_container<char[N]> : std::false_type { };
-
- template <typename T>
- struct is_container<std::valarray<T>> : std::true_type { };
-
- template <typename T1, typename T2>
- struct is_container<std::pair<T1, T2>> : std::true_type { };
-
- template <typename ...Args>
- struct is_container<std::tuple<Args...>> : std::true_type { };
-
-
- // Default delimiters
-
- template <typename T> struct delimiters<T, char> { static const delimiters_values<char> values; };
- template <typename T> const delimiters_values<char> delimiters<T, char>::values = { "[", ", ", "]" };
- template <typename T> struct delimiters<T, wchar_t> { static const delimiters_values<wchar_t> values; };
- template <typename T> const delimiters_values<wchar_t> delimiters<T, wchar_t>::values = { L"[", L", ", L"]" };
-
-
- // Delimiters for (multi)set and unordered_(multi)set
-
- template <typename T, typename TComp, typename TAllocator>
- struct delimiters< ::std::set<T, TComp, TAllocator>, char> { static const delimiters_values<char> values; };
-
- template <typename T, typename TComp, typename TAllocator>
- const delimiters_values<char> delimiters< ::std::set<T, TComp, TAllocator>, char>::values = { "{", ", ", "}" };
-
- template <typename T, typename TComp, typename TAllocator>
- struct delimiters< ::std::set<T, TComp, TAllocator>, wchar_t> { static const delimiters_values<wchar_t> values; };
-
- template <typename T, typename TComp, typename TAllocator>
- const delimiters_values<wchar_t> delimiters< ::std::set<T, TComp, TAllocator>, wchar_t>::values = { L"{", L", ", L"}" };
-
- template <typename T, typename TComp, typename TAllocator>
- struct delimiters< ::std::multiset<T, TComp, TAllocator>, char> { static const delimiters_values<char> values; };
-
- template <typename T, typename TComp, typename TAllocator>
- const delimiters_values<char> delimiters< ::std::multiset<T, TComp, TAllocator>, char>::values = { "{", ", ", "}" };
-
- template <typename T, typename TComp, typename TAllocator>
- struct delimiters< ::std::multiset<T, TComp, TAllocator>, wchar_t> { static const delimiters_values<wchar_t> values; };
-
- template <typename T, typename TComp, typename TAllocator>
- const delimiters_values<wchar_t> delimiters< ::std::multiset<T, TComp, TAllocator>, wchar_t>::values = { L"{", L", ", L"}" };
-
- template <typename T, typename THash, typename TEqual, typename TAllocator>
- struct delimiters< ::std::unordered_set<T, THash, TEqual, TAllocator>, char> { static const delimiters_values<char> values; };
-
- template <typename T, typename THash, typename TEqual, typename TAllocator>
- const delimiters_values<char> delimiters< ::std::unordered_set<T, THash, TEqual, TAllocator>, char>::values = { "{", ", ", "}" };
-
- template <typename T, typename THash, typename TEqual, typename TAllocator>
- struct delimiters< ::std::unordered_set<T, THash, TEqual, TAllocator>, wchar_t> { static const delimiters_values<wchar_t> values; };
-
- template <typename T, typename THash, typename TEqual, typename TAllocator>
- const delimiters_values<wchar_t> delimiters< ::std::unordered_set<T, THash, TEqual, TAllocator>, wchar_t>::values = { L"{", L", ", L"}" };
-
- template <typename T, typename THash, typename TEqual, typename TAllocator>
- struct delimiters< ::std::unordered_multiset<T, THash, TEqual, TAllocator>, char> { static const delimiters_values<char> values; };
-
- template <typename T, typename THash, typename TEqual, typename TAllocator>
- const delimiters_values<char> delimiters< ::std::unordered_multiset<T, THash, TEqual, TAllocator>, char>::values = { "{", ", ", "}" };
-
- template <typename T, typename THash, typename TEqual, typename TAllocator>
- struct delimiters< ::std::unordered_multiset<T, THash, TEqual, TAllocator>, wchar_t> { static const delimiters_values<wchar_t> values; };
-
- template <typename T, typename THash, typename TEqual, typename TAllocator>
- const delimiters_values<wchar_t> delimiters< ::std::unordered_multiset<T, THash, TEqual, TAllocator>, wchar_t>::values = { L"{", L", ", L"}" };
-
-
- // Delimiters for pair and tuple
-
- template <typename T1, typename T2> struct delimiters<std::pair<T1, T2>, char> { static const delimiters_values<char> values; };
- template <typename T1, typename T2> const delimiters_values<char> delimiters<std::pair<T1, T2>, char>::values = { "(", ", ", ")" };
- template <typename T1, typename T2> struct delimiters< ::std::pair<T1, T2>, wchar_t> { static const delimiters_values<wchar_t> values; };
- template <typename T1, typename T2> const delimiters_values<wchar_t> delimiters< ::std::pair<T1, T2>, wchar_t>::values = { L"(", L", ", L")" };
-
- template <typename ...Args> struct delimiters<std::tuple<Args...>, char> { static const delimiters_values<char> values; };
- template <typename ...Args> const delimiters_values<char> delimiters<std::tuple<Args...>, char>::values = { "(", ", ", ")" };
- template <typename ...Args> struct delimiters< ::std::tuple<Args...>, wchar_t> { static const delimiters_values<wchar_t> values; };
- template <typename ...Args> const delimiters_values<wchar_t> delimiters< ::std::tuple<Args...>, wchar_t>::values = { L"(", L", ", L")" };
-
-
- // Type-erasing helper class for easy use of custom delimiters.
- // Requires TCharTraits = std::char_traits<TChar> and TChar = char or wchar_t, and MyDelims needs to be defined for TChar.
- // Usage: "cout << pretty_print::custom_delims<MyDelims>(x)".
-
- struct custom_delims_base
- {
- virtual ~custom_delims_base() { }
- virtual std::ostream & stream(::std::ostream &) = 0;
- virtual std::wostream & stream(::std::wostream &) = 0;
- };
-
- template <typename T, typename Delims>
- struct custom_delims_wrapper : custom_delims_base
- {
- custom_delims_wrapper(const T & t_) : t(t_) { }
-
- std::ostream & stream(std::ostream & s)
- {
- return s << print_container_helper<T, char, std::char_traits<char>, Delims>(t);
- }
-
- std::wostream & stream(std::wostream & s)
- {
- return s << print_container_helper<T, wchar_t, std::char_traits<wchar_t>, Delims>(t);
- }
-
- private:
- const T & t;
- };
-
- template <typename Delims>
- struct custom_delims
- {
- template <typename Container>
- custom_delims(const Container & c) : base(new custom_delims_wrapper<Container, Delims>(c)) { }
-
- std::unique_ptr<custom_delims_base> base;
- };
-
- template <typename TChar, typename TCharTraits, typename Delims>
- inline std::basic_ostream<TChar, TCharTraits> & operator<<(std::basic_ostream<TChar, TCharTraits> & s, const custom_delims<Delims> & p)
- {
- return p.base->stream(s);
- }
-
-
- // A wrapper for a C-style array given as pointer-plus-size.
- // Usage: std::cout << pretty_print_array(arr, n) << std::endl;
-
- template<typename T>
- struct array_wrapper_n
- {
- typedef const T * const_iterator;
- typedef T value_type;
-
- array_wrapper_n(const T * const a, size_t n) : _array(a), _n(n) { }
- inline const_iterator begin() const { return _array; }
- inline const_iterator end() const { return _array + _n; }
-
- private:
- const T * const _array;
- size_t _n;
- };
-
-
- // A wrapper for hash-table based containers that offer local iterators to each bucket.
- // Usage: std::cout << bucket_print(m, 4) << std::endl; (Prints bucket 5 of container m.)
-
- template <typename T>
- struct bucket_print_wrapper
- {
- typedef typename T::const_local_iterator const_iterator;
- typedef typename T::size_type size_type;
-
- const_iterator begin() const
- {
- return m_map.cbegin(n);
- }
-
- const_iterator end() const
- {
- return m_map.cend(n);
- }
-
- bucket_print_wrapper(const T & m, size_type bucket) : m_map(m), n(bucket) { }
-
- private:
- const T & m_map;
- const size_type n;
- };
-
-} // namespace pretty_print
-
-
-// Global accessor functions for the convenience wrappers
-
-template<typename T>
-inline pretty_print::array_wrapper_n<T> pretty_print_array(const T * const a, size_t n)
-{
- return pretty_print::array_wrapper_n<T>(a, n);
-}
-
-template <typename T> pretty_print::bucket_print_wrapper<T>
-bucket_print(const T & m, typename T::size_type n)
-{
- return pretty_print::bucket_print_wrapper<T>(m, n);
-}
-
-
-// Main magic entry point: An overload snuck into namespace std.
-// Can we do better?
-
-namespace std
-{
- // Prints a container to the stream using default delimiters
-
- template<typename T, typename TChar, typename TCharTraits>
- inline typename enable_if< ::pretty_print::is_container<T>::value,
- basic_ostream<TChar, TCharTraits> &>::type
- operator<<(basic_ostream<TChar, TCharTraits> & stream, const T & container)
- {
- return stream << ::pretty_print::print_container_helper<T, TChar, TCharTraits>(container);
- }
-}
-
-
-
-#endif // H_PRETTY_PRINT
diff --git a/ripser.xcodeproj/project.pbxproj b/ripser.xcodeproj/project.pbxproj
deleted file mode 100644
index d924596..0000000
--- a/ripser.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,252 +0,0 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 46;
- objects = {
-
-/* Begin PBXBuildFile section */
- 55E113311BD63CF3002B6F51 /* ripser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 55E113301BD63CF3002B6F51 /* ripser.cpp */; settings = {ASSET_TAGS = (); }; };
-/* End PBXBuildFile section */
-
-/* Begin PBXCopyFilesBuildPhase section */
- 551018461BD63CB300990BFF /* CopyFiles */ = {
- isa = PBXCopyFilesBuildPhase;
- buildActionMask = 2147483647;
- dstPath = /usr/share/man/man1/;
- dstSubfolderSpec = 0;
- files = (
- );
- runOnlyForDeploymentPostprocessing = 1;
- };
-/* End PBXCopyFilesBuildPhase section */
-
-/* Begin PBXFileReference section */
- 551018481BD63CB300990BFF /* ripser */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = ripser; sourceTree = BUILT_PRODUCTS_DIR; };
- 55E113301BD63CF3002B6F51 /* ripser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ripser.cpp; sourceTree = SOURCE_ROOT; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- 551018451BD63CB300990BFF /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 5510183F1BD63CB300990BFF = {
- isa = PBXGroup;
- children = (
- 5510184A1BD63CB300990BFF /* ripser */,
- 551018491BD63CB300990BFF /* Products */,
- );
- sourceTree = "<group>";
- };
- 551018491BD63CB300990BFF /* Products */ = {
- isa = PBXGroup;
- children = (
- 551018481BD63CB300990BFF /* ripser */,
- );
- name = Products;
- sourceTree = "<group>";
- };
- 5510184A1BD63CB300990BFF /* ripser */ = {
- isa = PBXGroup;
- children = (
- 55E113301BD63CF3002B6F51 /* ripser.cpp */,
- );
- path = ripser;
- sourceTree = "<group>";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- 551018471BD63CB300990BFF /* ripser */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 5510184F1BD63CB300990BFF /* Build configuration list for PBXNativeTarget "ripser" */;
- buildPhases = (
- 551018441BD63CB300990BFF /* Sources */,
- 551018451BD63CB300990BFF /* Frameworks */,
- 551018461BD63CB300990BFF /* CopyFiles */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = ripser;
- productName = ripser;
- productReference = 551018481BD63CB300990BFF /* ripser */;
- productType = "com.apple.product-type.tool";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- 551018401BD63CB300990BFF /* Project object */ = {
- isa = PBXProject;
- attributes = {
- LastUpgradeCheck = 0700;
- ORGANIZATIONNAME = "ulrich-bauer.org";
- TargetAttributes = {
- 551018471BD63CB300990BFF = {
- CreatedOnToolsVersion = 7.0.1;
- };
- };
- };
- buildConfigurationList = 551018431BD63CB300990BFF /* Build configuration list for PBXProject "ripser" */;
- compatibilityVersion = "Xcode 3.2";
- developmentRegion = English;
- hasScannedForEncodings = 0;
- knownRegions = (
- en,
- );
- mainGroup = 5510183F1BD63CB300990BFF;
- productRefGroup = 551018491BD63CB300990BFF /* Products */;
- projectDirPath = "";
- projectRoot = "";
- targets = (
- 551018471BD63CB300990BFF /* ripser */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXSourcesBuildPhase section */
- 551018441BD63CB300990BFF /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 55E113311BD63CF3002B6F51 /* ripser.cpp in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin XCBuildConfiguration section */
- 5510184D1BD63CB300990BFF /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
- CLANG_CXX_LIBRARY = "libc++";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- COPY_PHASE_STRIP = NO;
- DEBUG_INFORMATION_FORMAT = dwarf;
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- ENABLE_TESTABILITY = YES;
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_NO_COMMON_BLOCKS = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "DEBUG=1",
- "$(inherited)",
- );
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
- GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- HEADER_SEARCH_PATHS = /opt/local/include;
- MACOSX_DEPLOYMENT_TARGET = 10.11;
- MTL_ENABLE_DEBUG_INFO = YES;
- ONLY_ACTIVE_ARCH = YES;
- SDKROOT = macosx;
- };
- name = Debug;
- };
- 5510184E1BD63CB300990BFF /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
- CLANG_CXX_LIBRARY = "libc++";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- COPY_PHASE_STRIP = NO;
- DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- ENABLE_NS_ASSERTIONS = NO;
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_NO_COMMON_BLOCKS = YES;
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
- GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- HEADER_SEARCH_PATHS = /opt/local/include;
- MACOSX_DEPLOYMENT_TARGET = 10.11;
- MTL_ENABLE_DEBUG_INFO = NO;
- SDKROOT = macosx;
- };
- name = Release;
- };
- 551018501BD63CB300990BFF /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- GCC_PREPROCESSOR_DEFINITIONS = (
- "$(inherited)",
- FILE_FORMAT_UPPER_TRIANGULAR_CSV,
- USE_COEFFICIENTS,
- STORE_DIAMETERS,
- PRINT_PERSISTENCE_PAIRS,
- );
- PRODUCT_NAME = "$(TARGET_NAME)";
- };
- name = Debug;
- };
- 551018511BD63CB300990BFF /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- PRODUCT_NAME = "$(TARGET_NAME)";
- };
- name = Release;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- 551018431BD63CB300990BFF /* Build configuration list for PBXProject "ripser" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 5510184D1BD63CB300990BFF /* Debug */,
- 5510184E1BD63CB300990BFF /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- 5510184F1BD63CB300990BFF /* Build configuration list for PBXNativeTarget "ripser" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 551018501BD63CB300990BFF /* Debug */,
- 551018511BD63CB300990BFF /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
-/* End XCConfigurationList section */
- };
- rootObject = 551018401BD63CB300990BFF /* Project object */;
-}