summaryrefslogtreecommitdiff
path: root/src/Bitmap_cubical_complex/test/Bitmap_test.cpp
diff options
context:
space:
mode:
authorpdlotko <pdlotko@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2015-11-27 14:16:44 +0000
committerpdlotko <pdlotko@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2015-11-27 14:16:44 +0000
commit39ffc7af64543f0b2ce17487771afbd010a97349 (patch)
tree3f2736153e927cf6bc23f8c8bf0a0f868bf2cc6c /src/Bitmap_cubical_complex/test/Bitmap_test.cpp
parent606115b399b010b8ebfbf13f6a8ca2b1c1bf17cd (diff)
Adding changes to the cubcial complex class according to Marc and Vincent's comments.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/bitmap@930 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: cb9134a5c18fae3e2e63bbaf8329dd168d08d3b3
Diffstat (limited to 'src/Bitmap_cubical_complex/test/Bitmap_test.cpp')
-rw-r--r--src/Bitmap_cubical_complex/test/Bitmap_test.cpp1261
1 files changed, 638 insertions, 623 deletions
diff --git a/src/Bitmap_cubical_complex/test/Bitmap_test.cpp b/src/Bitmap_cubical_complex/test/Bitmap_test.cpp
index 1c204bae..183b856a 100644
--- a/src/Bitmap_cubical_complex/test/Bitmap_test.cpp
+++ b/src/Bitmap_cubical_complex/test/Bitmap_test.cpp
@@ -1,623 +1,638 @@
-#include "gudhi/Bitmap_cubical_complex.h"
-
-#define BOOST_TEST_DYN_LINK
-#define BOOST_TEST_MODULE "cubical_complex"
-#include <boost/test/unit_test.hpp>
-
-using namespace std;
-
-BOOST_AUTO_TEST_CASE(check_dimension) {
- std::vector< double > increasingFiltrationOfTopDimensionalCells;
- increasingFiltrationOfTopDimensionalCells.push_back(1);
- increasingFiltrationOfTopDimensionalCells.push_back(2);
- increasingFiltrationOfTopDimensionalCells.push_back(3);
- increasingFiltrationOfTopDimensionalCells.push_back(4);
- increasingFiltrationOfTopDimensionalCells.push_back(5);
- increasingFiltrationOfTopDimensionalCells.push_back(6);
- increasingFiltrationOfTopDimensionalCells.push_back(7);
- increasingFiltrationOfTopDimensionalCells.push_back(8);
- increasingFiltrationOfTopDimensionalCells.push_back(9);
-
- std::vector<unsigned> dimensions;
- dimensions.push_back(3);
- dimensions.push_back(3);
-
- Bitmap_cubical_complex<double> increasing(dimensions, increasingFiltrationOfTopDimensionalCells);
- BOOST_CHECK(increasing.dimension() == 2);
-}
-
-BOOST_AUTO_TEST_CASE(topDimensionalCellsIterator_test) {
- std::vector< double > expectedFiltrationValues1;
- expectedFiltrationValues1.push_back(0);
- expectedFiltrationValues1.push_back(0);
- expectedFiltrationValues1.push_back(0);
- expectedFiltrationValues1.push_back(0);
- expectedFiltrationValues1.push_back(100);
- expectedFiltrationValues1.push_back(0);
- expectedFiltrationValues1.push_back(0);
- expectedFiltrationValues1.push_back(0);
- expectedFiltrationValues1.push_back(0);
-
- std::vector< double > expectedFiltrationValues2;
- expectedFiltrationValues2.push_back(1);
- expectedFiltrationValues2.push_back(2);
- expectedFiltrationValues2.push_back(3);
- expectedFiltrationValues2.push_back(4);
- expectedFiltrationValues2.push_back(5);
- expectedFiltrationValues2.push_back(6);
- expectedFiltrationValues2.push_back(7);
- expectedFiltrationValues2.push_back(8);
- expectedFiltrationValues2.push_back(9);
-
- std::vector< double > increasingFiltrationOfTopDimensionalCells;
- increasingFiltrationOfTopDimensionalCells.push_back(1);
- increasingFiltrationOfTopDimensionalCells.push_back(2);
- increasingFiltrationOfTopDimensionalCells.push_back(3);
- increasingFiltrationOfTopDimensionalCells.push_back(4);
- increasingFiltrationOfTopDimensionalCells.push_back(5);
- increasingFiltrationOfTopDimensionalCells.push_back(6);
- increasingFiltrationOfTopDimensionalCells.push_back(7);
- increasingFiltrationOfTopDimensionalCells.push_back(8);
- increasingFiltrationOfTopDimensionalCells.push_back(9);
-
- std::vector< double > oneDimensionalCycle;
- oneDimensionalCycle.push_back(0);
- oneDimensionalCycle.push_back(0);
- oneDimensionalCycle.push_back(0);
- oneDimensionalCycle.push_back(0);
- oneDimensionalCycle.push_back(100);
- oneDimensionalCycle.push_back(0);
- oneDimensionalCycle.push_back(0);
- oneDimensionalCycle.push_back(0);
- oneDimensionalCycle.push_back(0);
-
- std::vector<unsigned> dimensions;
- dimensions.push_back(3);
- dimensions.push_back(3);
-
- Bitmap_cubical_complex<double> increasing(dimensions, increasingFiltrationOfTopDimensionalCells);
- Bitmap_cubical_complex<double> hole(dimensions, oneDimensionalCycle);
-
-
- int i = 0;
- for (Bitmap_cubical_complex<double>::Top_dimensional_cells_iterator it = increasing.top_dimensional_cells_begin(); it != increasing.top_dimensional_cells_end(); ++it) {
- BOOST_CHECK(*it == expectedFiltrationValues2[i]);
- ++i;
- }
- i = 0;
- for (Bitmap_cubical_complex<double>::Top_dimensional_cells_iterator it = hole.top_dimensional_cells_begin(); it != hole.top_dimensional_cells_end(); ++it) {
- BOOST_CHECK(*it == expectedFiltrationValues1[i]);
- ++i;
- }
-}
-
-BOOST_AUTO_TEST_CASE(compute_boundary_test_1) {
-
- std::vector<double> boundary0;
- std::vector<double> boundary1;
- boundary1.push_back(0);
- boundary1.push_back(2);
- std::vector<double> boundary2;
- std::vector<double> boundary3;
- boundary3.push_back(2);
- boundary3.push_back(4);
- std::vector<double> boundary4;
- std::vector<double> boundary5;
- boundary5.push_back(4);
- boundary5.push_back(6);
- std::vector<double> boundary6;
- std::vector<double> boundary7;
- boundary7.push_back(0);
- boundary7.push_back(14);
- std::vector<double> boundary8;
- boundary8.push_back(1);
- boundary8.push_back(15);
- boundary8.push_back(7);
- boundary8.push_back(9);
- std::vector<double> boundary9;
- boundary9.push_back(2);
- boundary9.push_back(16);
- std::vector<double> boundary10;
- boundary10.push_back(3);
- boundary10.push_back(17);
- boundary10.push_back(9);
- boundary10.push_back(11);
- std::vector<double> boundary11;
- boundary11.push_back(4);
- boundary11.push_back(18);
- std::vector<double> boundary12;
- boundary12.push_back(5);
- boundary12.push_back(19);
- boundary12.push_back(11);
- boundary12.push_back(13);
- std::vector<double> boundary13;
- boundary13.push_back(6);
- boundary13.push_back(20);
- std::vector<double> boundary14;
- std::vector<double> boundary15;
- boundary15.push_back(14);
- boundary15.push_back(16);
- std::vector<double> boundary16;
- std::vector<double> boundary17;
- boundary17.push_back(16);
- boundary17.push_back(18);
- std::vector<double> boundary18;
- std::vector<double> boundary19;
- boundary19.push_back(18);
- boundary19.push_back(20);
- std::vector<double> boundary20;
- std::vector<double> boundary21;
- boundary21.push_back(14);
- boundary21.push_back(28);
- std::vector<double> boundary22;
- boundary22.push_back(15);
- boundary22.push_back(29);
- boundary22.push_back(21);
- boundary22.push_back(23);
- std::vector<double> boundary23;
- boundary23.push_back(16);
- boundary23.push_back(30);
- std::vector<double> boundary24;
- boundary24.push_back(17);
- boundary24.push_back(31);
- boundary24.push_back(23);
- boundary24.push_back(25);
- std::vector<double> boundary25;
- boundary25.push_back(18);
- boundary25.push_back(32);
- std::vector<double> boundary26;
- boundary26.push_back(19);
- boundary26.push_back(33);
- boundary26.push_back(25);
- boundary26.push_back(27);
- std::vector<double> boundary27;
- boundary27.push_back(20);
- boundary27.push_back(34);
- std::vector<double> boundary28;
- std::vector<double> boundary29;
- boundary29.push_back(28);
- boundary29.push_back(30);
- std::vector<double> boundary30;
- std::vector<double> boundary31;
- boundary31.push_back(30);
- boundary31.push_back(32);
- std::vector<double> boundary32;
- std::vector<double> boundary33;
- boundary33.push_back(32);
- boundary33.push_back(34);
- std::vector<double> boundary34;
- std::vector<double> boundary35;
- boundary35.push_back(28);
- boundary35.push_back(42);
- std::vector<double> boundary36;
- boundary36.push_back(29);
- boundary36.push_back(43);
- boundary36.push_back(35);
- boundary36.push_back(37);
- std::vector<double> boundary37;
- boundary37.push_back(30);
- boundary37.push_back(44);
- std::vector<double> boundary38;
- boundary38.push_back(31);
- boundary38.push_back(45);
- boundary38.push_back(37);
- boundary38.push_back(39);
- std::vector<double> boundary39;
- boundary39.push_back(32);
- boundary39.push_back(46);
- std::vector<double> boundary40;
- boundary40.push_back(33);
- boundary40.push_back(47);
- boundary40.push_back(39);
- boundary40.push_back(41);
- std::vector<double> boundary41;
- boundary41.push_back(34);
- boundary41.push_back(48);
- std::vector<double> boundary42;
- std::vector<double> boundary43;
- boundary43.push_back(42);
- boundary43.push_back(44);
- std::vector<double> boundary44;
- std::vector<double> boundary45;
- boundary45.push_back(44);
- boundary45.push_back(46);
- std::vector<double> boundary46;
- std::vector<double> boundary47;
- boundary47.push_back(46);
- boundary47.push_back(48);
- std::vector<double> boundary48;
- std::vector< std::vector<double> > boundaries;
- boundaries.push_back(boundary0);
- boundaries.push_back(boundary1);
- boundaries.push_back(boundary2);
- boundaries.push_back(boundary3);
- boundaries.push_back(boundary4);
- boundaries.push_back(boundary5);
- boundaries.push_back(boundary6);
- boundaries.push_back(boundary7);
- boundaries.push_back(boundary8);
- boundaries.push_back(boundary9);
- boundaries.push_back(boundary10);
- boundaries.push_back(boundary11);
- boundaries.push_back(boundary12);
- boundaries.push_back(boundary13);
- boundaries.push_back(boundary14);
- boundaries.push_back(boundary15);
- boundaries.push_back(boundary16);
- boundaries.push_back(boundary17);
- boundaries.push_back(boundary18);
- boundaries.push_back(boundary19);
- boundaries.push_back(boundary20);
- boundaries.push_back(boundary21);
- boundaries.push_back(boundary22);
- boundaries.push_back(boundary23);
- boundaries.push_back(boundary24);
- boundaries.push_back(boundary25);
- boundaries.push_back(boundary26);
- boundaries.push_back(boundary27);
- boundaries.push_back(boundary28);
- boundaries.push_back(boundary29);
- boundaries.push_back(boundary30);
- boundaries.push_back(boundary31);
- boundaries.push_back(boundary32);
- boundaries.push_back(boundary33);
- boundaries.push_back(boundary34);
- boundaries.push_back(boundary35);
- boundaries.push_back(boundary36);
- boundaries.push_back(boundary37);
- boundaries.push_back(boundary38);
- boundaries.push_back(boundary39);
- boundaries.push_back(boundary40);
- boundaries.push_back(boundary41);
- boundaries.push_back(boundary42);
- boundaries.push_back(boundary43);
- boundaries.push_back(boundary44);
- boundaries.push_back(boundary45);
- boundaries.push_back(boundary46);
- boundaries.push_back(boundary47);
- boundaries.push_back(boundary48);
-
-
-
- std::vector< double > increasingFiltrationOfTopDimensionalCells;
- increasingFiltrationOfTopDimensionalCells.push_back(1);
- increasingFiltrationOfTopDimensionalCells.push_back(2);
- increasingFiltrationOfTopDimensionalCells.push_back(3);
- increasingFiltrationOfTopDimensionalCells.push_back(4);
- increasingFiltrationOfTopDimensionalCells.push_back(5);
- increasingFiltrationOfTopDimensionalCells.push_back(6);
- increasingFiltrationOfTopDimensionalCells.push_back(7);
- increasingFiltrationOfTopDimensionalCells.push_back(8);
- increasingFiltrationOfTopDimensionalCells.push_back(9);
-
- std::vector<unsigned> dimensions;
- dimensions.push_back(3);
- dimensions.push_back(3);
-
- Bitmap_cubical_complex<double> increasing(dimensions, increasingFiltrationOfTopDimensionalCells);
- for (size_t i = 0; i != increasing.size_of_bitmap(); ++i) {
- std::vector< size_t > bd = increasing.get_boundary_of_a_cell(i);
- for (size_t j = 0; j != bd.size(); ++j) {
- BOOST_CHECK(boundaries[i][j] == bd[j]);
- }
- }
-}
-
-BOOST_AUTO_TEST_CASE(compute_boundary_test_2) {
- std::vector< double > increasingFiltrationOfTopDimensionalCells;
- increasingFiltrationOfTopDimensionalCells.push_back(1);
- increasingFiltrationOfTopDimensionalCells.push_back(2);
- increasingFiltrationOfTopDimensionalCells.push_back(3);
- increasingFiltrationOfTopDimensionalCells.push_back(4);
- increasingFiltrationOfTopDimensionalCells.push_back(5);
- increasingFiltrationOfTopDimensionalCells.push_back(6);
- increasingFiltrationOfTopDimensionalCells.push_back(7);
- increasingFiltrationOfTopDimensionalCells.push_back(8);
- increasingFiltrationOfTopDimensionalCells.push_back(9);
-
- std::vector<unsigned> dimensions;
- dimensions.push_back(3);
- dimensions.push_back(3);
-
- Bitmap_cubical_complex<double> increasing(dimensions, increasingFiltrationOfTopDimensionalCells);
-
-
- std::vector<double> coboundaryElements;
- coboundaryElements.push_back(7);
- coboundaryElements.push_back(1);
- coboundaryElements.push_back(8);
- coboundaryElements.push_back(9);
- coboundaryElements.push_back(1);
- coboundaryElements.push_back(3);
- coboundaryElements.push_back(10);
- coboundaryElements.push_back(11);
- coboundaryElements.push_back(3);
- coboundaryElements.push_back(5);
- coboundaryElements.push_back(12);
- coboundaryElements.push_back(13);
- coboundaryElements.push_back(5);
- coboundaryElements.push_back(8);
- coboundaryElements.push_back(8);
- coboundaryElements.push_back(10);
- coboundaryElements.push_back(10);
- coboundaryElements.push_back(12);
- coboundaryElements.push_back(12);
- coboundaryElements.push_back(7);
- coboundaryElements.push_back(21);
- coboundaryElements.push_back(15);
- coboundaryElements.push_back(8);
- coboundaryElements.push_back(22);
- coboundaryElements.push_back(9);
- coboundaryElements.push_back(23);
- coboundaryElements.push_back(15);
- coboundaryElements.push_back(17);
- coboundaryElements.push_back(10);
- coboundaryElements.push_back(24);
- coboundaryElements.push_back(11);
- coboundaryElements.push_back(25);
- coboundaryElements.push_back(17);
- coboundaryElements.push_back(19);
- coboundaryElements.push_back(12);
- coboundaryElements.push_back(26);
- coboundaryElements.push_back(13);
- coboundaryElements.push_back(27);
- coboundaryElements.push_back(19);
- coboundaryElements.push_back(22);
- coboundaryElements.push_back(22);
- coboundaryElements.push_back(24);
- coboundaryElements.push_back(24);
- coboundaryElements.push_back(26);
- coboundaryElements.push_back(26);
- coboundaryElements.push_back(21);
- coboundaryElements.push_back(35);
- coboundaryElements.push_back(29);
- coboundaryElements.push_back(22);
- coboundaryElements.push_back(36);
- coboundaryElements.push_back(23);
- coboundaryElements.push_back(37);
- coboundaryElements.push_back(29);
- coboundaryElements.push_back(31);
- coboundaryElements.push_back(24);
- coboundaryElements.push_back(38);
- coboundaryElements.push_back(25);
- coboundaryElements.push_back(39);
- coboundaryElements.push_back(31);
- coboundaryElements.push_back(33);
- coboundaryElements.push_back(26);
- coboundaryElements.push_back(40);
- coboundaryElements.push_back(27);
- coboundaryElements.push_back(41);
- coboundaryElements.push_back(33);
- coboundaryElements.push_back(36);
- coboundaryElements.push_back(36);
- coboundaryElements.push_back(38);
- coboundaryElements.push_back(38);
- coboundaryElements.push_back(40);
- coboundaryElements.push_back(40);
- coboundaryElements.push_back(35);
- coboundaryElements.push_back(43);
- coboundaryElements.push_back(36);
- coboundaryElements.push_back(37);
- coboundaryElements.push_back(43);
- coboundaryElements.push_back(45);
- coboundaryElements.push_back(38);
- coboundaryElements.push_back(39);
- coboundaryElements.push_back(45);
- coboundaryElements.push_back(47);
- coboundaryElements.push_back(40);
- coboundaryElements.push_back(41);
- coboundaryElements.push_back(47);
- size_t number = 0;
- for (size_t i = 0; i != increasing.size_of_bitmap(); ++i) {
- std::vector< size_t > bd = increasing.get_coboundary_of_a_cell(i);
- for (size_t j = 0; j != bd.size(); ++j) {
- BOOST_CHECK(coboundaryElements[number] == bd[j]);
- ++number;
- }
-
- }
-}
-
-BOOST_AUTO_TEST_CASE(compute_boundary_test_3) {
- std::vector< double > increasingFiltrationOfTopDimensionalCells;
- increasingFiltrationOfTopDimensionalCells.push_back(1);
- increasingFiltrationOfTopDimensionalCells.push_back(2);
- increasingFiltrationOfTopDimensionalCells.push_back(3);
- increasingFiltrationOfTopDimensionalCells.push_back(4);
- increasingFiltrationOfTopDimensionalCells.push_back(5);
- increasingFiltrationOfTopDimensionalCells.push_back(6);
- increasingFiltrationOfTopDimensionalCells.push_back(7);
- increasingFiltrationOfTopDimensionalCells.push_back(8);
- increasingFiltrationOfTopDimensionalCells.push_back(9);
-
- std::vector<unsigned> dimensions;
- dimensions.push_back(3);
- dimensions.push_back(3);
-
- Bitmap_cubical_complex<double> increasing(dimensions, increasingFiltrationOfTopDimensionalCells);
-
- std::vector<unsigned> dim;
- dim.push_back(0);
- dim.push_back(1);
- dim.push_back(0);
- dim.push_back(1);
- dim.push_back(0);
- dim.push_back(1);
- dim.push_back(0);
- dim.push_back(1);
- dim.push_back(2);
- dim.push_back(1);
- dim.push_back(2);
- dim.push_back(1);
- dim.push_back(2);
- dim.push_back(1);
- dim.push_back(0);
- dim.push_back(1);
- dim.push_back(0);
- dim.push_back(1);
- dim.push_back(0);
- dim.push_back(1);
- dim.push_back(0);
- dim.push_back(1);
- dim.push_back(2);
- dim.push_back(1);
- dim.push_back(2);
- dim.push_back(1);
- dim.push_back(2);
- dim.push_back(1);
- dim.push_back(0);
- dim.push_back(1);
- dim.push_back(0);
- dim.push_back(1);
- dim.push_back(0);
- dim.push_back(1);
- dim.push_back(0);
- dim.push_back(1);
- dim.push_back(2);
- dim.push_back(1);
- dim.push_back(2);
- dim.push_back(1);
- dim.push_back(2);
- dim.push_back(1);
- dim.push_back(0);
- dim.push_back(1);
- dim.push_back(0);
- dim.push_back(1);
- dim.push_back(0);
- dim.push_back(1);
- dim.push_back(0);
-
- for (size_t i = 0; i != increasing.size_of_bitmap(); ++i) {
- BOOST_CHECK(increasing.get_dimension_of_a_cell(i) == dim[i]);
- }
-}
-
-BOOST_AUTO_TEST_CASE(Filtration_simplex_iterator_test) {
- std::vector< double > increasingFiltrationOfTopDimensionalCells;
- increasingFiltrationOfTopDimensionalCells.push_back(1);
- increasingFiltrationOfTopDimensionalCells.push_back(2);
- increasingFiltrationOfTopDimensionalCells.push_back(3);
- increasingFiltrationOfTopDimensionalCells.push_back(4);
- increasingFiltrationOfTopDimensionalCells.push_back(5);
- increasingFiltrationOfTopDimensionalCells.push_back(6);
- increasingFiltrationOfTopDimensionalCells.push_back(7);
- increasingFiltrationOfTopDimensionalCells.push_back(8);
- increasingFiltrationOfTopDimensionalCells.push_back(9);
-
- std::vector<unsigned> dimensions;
- dimensions.push_back(3);
- dimensions.push_back(3);
-
- Bitmap_cubical_complex<double> increasing(dimensions, increasingFiltrationOfTopDimensionalCells);
-
- std::vector< unsigned > dim;
- dim.push_back(0);
- dim.push_back(0);
- dim.push_back(0);
- dim.push_back(0);
- dim.push_back(1);
- dim.push_back(1);
- dim.push_back(1);
- dim.push_back(1);
- dim.push_back(2);
- dim.push_back(0);
- dim.push_back(0);
- dim.push_back(1);
- dim.push_back(1);
- dim.push_back(1);
- dim.push_back(2);
- dim.push_back(0);
- dim.push_back(0);
- dim.push_back(1);
- dim.push_back(1);
- dim.push_back(1);
- dim.push_back(2);
- dim.push_back(0);
- dim.push_back(0);
- dim.push_back(1);
- dim.push_back(1);
- dim.push_back(1);
- dim.push_back(2);
- dim.push_back(0);
- dim.push_back(1);
- dim.push_back(1);
- dim.push_back(2);
- dim.push_back(0);
- dim.push_back(1);
- dim.push_back(1);
- dim.push_back(2);
- dim.push_back(0);
- dim.push_back(0);
- dim.push_back(1);
- dim.push_back(1);
- dim.push_back(1);
- dim.push_back(2);
- dim.push_back(0);
- dim.push_back(1);
- dim.push_back(1);
- dim.push_back(2);
- dim.push_back(0);
- dim.push_back(1);
- dim.push_back(1);
- dim.push_back(2);
-
- std::vector<double> fil;
- fil.push_back(1);
- fil.push_back(1);
- fil.push_back(1);
- fil.push_back(1);
- fil.push_back(1);
- fil.push_back(1);
- fil.push_back(1);
- fil.push_back(1);
- fil.push_back(1);
- fil.push_back(2);
- fil.push_back(2);
- fil.push_back(2);
- fil.push_back(2);
- fil.push_back(2);
- fil.push_back(2);
- fil.push_back(3);
- fil.push_back(3);
- fil.push_back(3);
- fil.push_back(3);
- fil.push_back(3);
- fil.push_back(3);
- fil.push_back(4);
- fil.push_back(4);
- fil.push_back(4);
- fil.push_back(4);
- fil.push_back(4);
- fil.push_back(4);
- fil.push_back(5);
- fil.push_back(5);
- fil.push_back(5);
- fil.push_back(5);
- fil.push_back(6);
- fil.push_back(6);
- fil.push_back(6);
- fil.push_back(6);
- fil.push_back(7);
- fil.push_back(7);
- fil.push_back(7);
- fil.push_back(7);
- fil.push_back(7);
- fil.push_back(7);
- fil.push_back(8);
- fil.push_back(8);
- fil.push_back(8);
- fil.push_back(8);
- fil.push_back(9);
- fil.push_back(9);
- fil.push_back(9);
- fil.push_back(9);
-
-
- Bitmap_cubical_complex<double>::Filtration_simplex_range range = increasing.filtration_simplex_range();
- size_t position = 0;
- for (Bitmap_cubical_complex<double>::Filtration_simplex_iterator it = range.begin(); it != range.end(); ++it) {
- BOOST_CHECK(increasing.dimension(*it) == dim[position]);
- BOOST_CHECK(increasing.filtration(*it) == fil[position]);
- ++position;
- }
-}
+#include <gudhi/reader_utils.h>
+#include <gudhi/Bitmap_cubical_complex.h>
+#include <gudhi/Persistent_cohomology.h>
+#include <boost/program_options.hpp>
+
+// standard stuff
+#include <iostream>
+#include <sstream>
+
+#define BOOST_TEST_DYN_LINK
+#define BOOST_TEST_MODULE "cubical_complex"
+#include <boost/test/unit_test.hpp>
+
+
+using namespace std;
+using namespace Gudhi;
+using namespace Gudhi::Cubical_complex;
+using namespace Gudhi::persistent_cohomology;
+
+
+
+BOOST_AUTO_TEST_CASE(check_dimension) {
+ std::vector< double > increasingFiltrationOfTopDimensionalCells;
+ increasingFiltrationOfTopDimensionalCells.push_back(1);
+ increasingFiltrationOfTopDimensionalCells.push_back(2);
+ increasingFiltrationOfTopDimensionalCells.push_back(3);
+ increasingFiltrationOfTopDimensionalCells.push_back(4);
+ increasingFiltrationOfTopDimensionalCells.push_back(5);
+ increasingFiltrationOfTopDimensionalCells.push_back(6);
+ increasingFiltrationOfTopDimensionalCells.push_back(7);
+ increasingFiltrationOfTopDimensionalCells.push_back(8);
+ increasingFiltrationOfTopDimensionalCells.push_back(9);
+
+ std::vector<unsigned> dimensions;
+ dimensions.push_back(3);
+ dimensions.push_back(3);
+
+ Bitmap_cubical_complex<double> increasing(dimensions, increasingFiltrationOfTopDimensionalCells);
+ BOOST_CHECK(increasing.dimension() == 2);
+}
+
+BOOST_AUTO_TEST_CASE(topDimensionalCellsIterator_test) {
+ std::vector< double > expectedFiltrationValues1;
+ expectedFiltrationValues1.push_back(0);
+ expectedFiltrationValues1.push_back(0);
+ expectedFiltrationValues1.push_back(0);
+ expectedFiltrationValues1.push_back(0);
+ expectedFiltrationValues1.push_back(100);
+ expectedFiltrationValues1.push_back(0);
+ expectedFiltrationValues1.push_back(0);
+ expectedFiltrationValues1.push_back(0);
+ expectedFiltrationValues1.push_back(0);
+
+ std::vector< double > expectedFiltrationValues2;
+ expectedFiltrationValues2.push_back(1);
+ expectedFiltrationValues2.push_back(2);
+ expectedFiltrationValues2.push_back(3);
+ expectedFiltrationValues2.push_back(4);
+ expectedFiltrationValues2.push_back(5);
+ expectedFiltrationValues2.push_back(6);
+ expectedFiltrationValues2.push_back(7);
+ expectedFiltrationValues2.push_back(8);
+ expectedFiltrationValues2.push_back(9);
+
+ std::vector< double > increasingFiltrationOfTopDimensionalCells;
+ increasingFiltrationOfTopDimensionalCells.push_back(1);
+ increasingFiltrationOfTopDimensionalCells.push_back(2);
+ increasingFiltrationOfTopDimensionalCells.push_back(3);
+ increasingFiltrationOfTopDimensionalCells.push_back(4);
+ increasingFiltrationOfTopDimensionalCells.push_back(5);
+ increasingFiltrationOfTopDimensionalCells.push_back(6);
+ increasingFiltrationOfTopDimensionalCells.push_back(7);
+ increasingFiltrationOfTopDimensionalCells.push_back(8);
+ increasingFiltrationOfTopDimensionalCells.push_back(9);
+
+ std::vector< double > oneDimensionalCycle;
+ oneDimensionalCycle.push_back(0);
+ oneDimensionalCycle.push_back(0);
+ oneDimensionalCycle.push_back(0);
+ oneDimensionalCycle.push_back(0);
+ oneDimensionalCycle.push_back(100);
+ oneDimensionalCycle.push_back(0);
+ oneDimensionalCycle.push_back(0);
+ oneDimensionalCycle.push_back(0);
+ oneDimensionalCycle.push_back(0);
+
+ std::vector<unsigned> dimensions;
+ dimensions.push_back(3);
+ dimensions.push_back(3);
+
+ Bitmap_cubical_complex<double> increasing(dimensions, increasingFiltrationOfTopDimensionalCells);
+ Bitmap_cubical_complex<double> hole(dimensions, oneDimensionalCycle);
+
+
+ int i = 0;
+ for (Bitmap_cubical_complex<double>::Top_dimensional_cells_iterator
+ it = increasing.top_dimensional_cells_begin(); it != increasing.top_dimensional_cells_end(); ++it) {
+ BOOST_CHECK(*it == expectedFiltrationValues2[i]);
+ ++i;
+ }
+ i = 0;
+ for (Bitmap_cubical_complex<double>::Top_dimensional_cells_iterator
+ it = hole.top_dimensional_cells_begin(); it != hole.top_dimensional_cells_end(); ++it) {
+ BOOST_CHECK(*it == expectedFiltrationValues1[i]);
+ ++i;
+ }
+}
+
+BOOST_AUTO_TEST_CASE(compute_boundary_test_1) {
+
+ std::vector<double> boundary0;
+ std::vector<double> boundary1;
+ boundary1.push_back(0);
+ boundary1.push_back(2);
+ std::vector<double> boundary2;
+ std::vector<double> boundary3;
+ boundary3.push_back(2);
+ boundary3.push_back(4);
+ std::vector<double> boundary4;
+ std::vector<double> boundary5;
+ boundary5.push_back(4);
+ boundary5.push_back(6);
+ std::vector<double> boundary6;
+ std::vector<double> boundary7;
+ boundary7.push_back(0);
+ boundary7.push_back(14);
+ std::vector<double> boundary8;
+ boundary8.push_back(1);
+ boundary8.push_back(15);
+ boundary8.push_back(7);
+ boundary8.push_back(9);
+ std::vector<double> boundary9;
+ boundary9.push_back(2);
+ boundary9.push_back(16);
+ std::vector<double> boundary10;
+ boundary10.push_back(3);
+ boundary10.push_back(17);
+ boundary10.push_back(9);
+ boundary10.push_back(11);
+ std::vector<double> boundary11;
+ boundary11.push_back(4);
+ boundary11.push_back(18);
+ std::vector<double> boundary12;
+ boundary12.push_back(5);
+ boundary12.push_back(19);
+ boundary12.push_back(11);
+ boundary12.push_back(13);
+ std::vector<double> boundary13;
+ boundary13.push_back(6);
+ boundary13.push_back(20);
+ std::vector<double> boundary14;
+ std::vector<double> boundary15;
+ boundary15.push_back(14);
+ boundary15.push_back(16);
+ std::vector<double> boundary16;
+ std::vector<double> boundary17;
+ boundary17.push_back(16);
+ boundary17.push_back(18);
+ std::vector<double> boundary18;
+ std::vector<double> boundary19;
+ boundary19.push_back(18);
+ boundary19.push_back(20);
+ std::vector<double> boundary20;
+ std::vector<double> boundary21;
+ boundary21.push_back(14);
+ boundary21.push_back(28);
+ std::vector<double> boundary22;
+ boundary22.push_back(15);
+ boundary22.push_back(29);
+ boundary22.push_back(21);
+ boundary22.push_back(23);
+ std::vector<double> boundary23;
+ boundary23.push_back(16);
+ boundary23.push_back(30);
+ std::vector<double> boundary24;
+ boundary24.push_back(17);
+ boundary24.push_back(31);
+ boundary24.push_back(23);
+ boundary24.push_back(25);
+ std::vector<double> boundary25;
+ boundary25.push_back(18);
+ boundary25.push_back(32);
+ std::vector<double> boundary26;
+ boundary26.push_back(19);
+ boundary26.push_back(33);
+ boundary26.push_back(25);
+ boundary26.push_back(27);
+ std::vector<double> boundary27;
+ boundary27.push_back(20);
+ boundary27.push_back(34);
+ std::vector<double> boundary28;
+ std::vector<double> boundary29;
+ boundary29.push_back(28);
+ boundary29.push_back(30);
+ std::vector<double> boundary30;
+ std::vector<double> boundary31;
+ boundary31.push_back(30);
+ boundary31.push_back(32);
+ std::vector<double> boundary32;
+ std::vector<double> boundary33;
+ boundary33.push_back(32);
+ boundary33.push_back(34);
+ std::vector<double> boundary34;
+ std::vector<double> boundary35;
+ boundary35.push_back(28);
+ boundary35.push_back(42);
+ std::vector<double> boundary36;
+ boundary36.push_back(29);
+ boundary36.push_back(43);
+ boundary36.push_back(35);
+ boundary36.push_back(37);
+ std::vector<double> boundary37;
+ boundary37.push_back(30);
+ boundary37.push_back(44);
+ std::vector<double> boundary38;
+ boundary38.push_back(31);
+ boundary38.push_back(45);
+ boundary38.push_back(37);
+ boundary38.push_back(39);
+ std::vector<double> boundary39;
+ boundary39.push_back(32);
+ boundary39.push_back(46);
+ std::vector<double> boundary40;
+ boundary40.push_back(33);
+ boundary40.push_back(47);
+ boundary40.push_back(39);
+ boundary40.push_back(41);
+ std::vector<double> boundary41;
+ boundary41.push_back(34);
+ boundary41.push_back(48);
+ std::vector<double> boundary42;
+ std::vector<double> boundary43;
+ boundary43.push_back(42);
+ boundary43.push_back(44);
+ std::vector<double> boundary44;
+ std::vector<double> boundary45;
+ boundary45.push_back(44);
+ boundary45.push_back(46);
+ std::vector<double> boundary46;
+ std::vector<double> boundary47;
+ boundary47.push_back(46);
+ boundary47.push_back(48);
+ std::vector<double> boundary48;
+ std::vector< std::vector<double> > boundaries;
+ boundaries.push_back(boundary0);
+ boundaries.push_back(boundary1);
+ boundaries.push_back(boundary2);
+ boundaries.push_back(boundary3);
+ boundaries.push_back(boundary4);
+ boundaries.push_back(boundary5);
+ boundaries.push_back(boundary6);
+ boundaries.push_back(boundary7);
+ boundaries.push_back(boundary8);
+ boundaries.push_back(boundary9);
+ boundaries.push_back(boundary10);
+ boundaries.push_back(boundary11);
+ boundaries.push_back(boundary12);
+ boundaries.push_back(boundary13);
+ boundaries.push_back(boundary14);
+ boundaries.push_back(boundary15);
+ boundaries.push_back(boundary16);
+ boundaries.push_back(boundary17);
+ boundaries.push_back(boundary18);
+ boundaries.push_back(boundary19);
+ boundaries.push_back(boundary20);
+ boundaries.push_back(boundary21);
+ boundaries.push_back(boundary22);
+ boundaries.push_back(boundary23);
+ boundaries.push_back(boundary24);
+ boundaries.push_back(boundary25);
+ boundaries.push_back(boundary26);
+ boundaries.push_back(boundary27);
+ boundaries.push_back(boundary28);
+ boundaries.push_back(boundary29);
+ boundaries.push_back(boundary30);
+ boundaries.push_back(boundary31);
+ boundaries.push_back(boundary32);
+ boundaries.push_back(boundary33);
+ boundaries.push_back(boundary34);
+ boundaries.push_back(boundary35);
+ boundaries.push_back(boundary36);
+ boundaries.push_back(boundary37);
+ boundaries.push_back(boundary38);
+ boundaries.push_back(boundary39);
+ boundaries.push_back(boundary40);
+ boundaries.push_back(boundary41);
+ boundaries.push_back(boundary42);
+ boundaries.push_back(boundary43);
+ boundaries.push_back(boundary44);
+ boundaries.push_back(boundary45);
+ boundaries.push_back(boundary46);
+ boundaries.push_back(boundary47);
+ boundaries.push_back(boundary48);
+
+
+
+ std::vector< double > increasingFiltrationOfTopDimensionalCells;
+ increasingFiltrationOfTopDimensionalCells.push_back(1);
+ increasingFiltrationOfTopDimensionalCells.push_back(2);
+ increasingFiltrationOfTopDimensionalCells.push_back(3);
+ increasingFiltrationOfTopDimensionalCells.push_back(4);
+ increasingFiltrationOfTopDimensionalCells.push_back(5);
+ increasingFiltrationOfTopDimensionalCells.push_back(6);
+ increasingFiltrationOfTopDimensionalCells.push_back(7);
+ increasingFiltrationOfTopDimensionalCells.push_back(8);
+ increasingFiltrationOfTopDimensionalCells.push_back(9);
+
+ std::vector<unsigned> dimensions;
+ dimensions.push_back(3);
+ dimensions.push_back(3);
+
+ Bitmap_cubical_complex<double> increasing(dimensions, increasingFiltrationOfTopDimensionalCells);
+ for (size_t i = 0; i != increasing.size_of_bitmap(); ++i) {
+ std::vector< size_t > bd = increasing.get_boundary_of_a_cell(i);
+ for (size_t j = 0; j != bd.size(); ++j) {
+ BOOST_CHECK(boundaries[i][j] == bd[j]);
+ }
+ }
+}
+
+BOOST_AUTO_TEST_CASE(compute_boundary_test_2) {
+ std::vector< double > increasingFiltrationOfTopDimensionalCells;
+ increasingFiltrationOfTopDimensionalCells.push_back(1);
+ increasingFiltrationOfTopDimensionalCells.push_back(2);
+ increasingFiltrationOfTopDimensionalCells.push_back(3);
+ increasingFiltrationOfTopDimensionalCells.push_back(4);
+ increasingFiltrationOfTopDimensionalCells.push_back(5);
+ increasingFiltrationOfTopDimensionalCells.push_back(6);
+ increasingFiltrationOfTopDimensionalCells.push_back(7);
+ increasingFiltrationOfTopDimensionalCells.push_back(8);
+ increasingFiltrationOfTopDimensionalCells.push_back(9);
+
+ std::vector<unsigned> dimensions;
+ dimensions.push_back(3);
+ dimensions.push_back(3);
+
+ Bitmap_cubical_complex<double> increasing(dimensions, increasingFiltrationOfTopDimensionalCells);
+
+
+ std::vector<double> coboundaryElements;
+ coboundaryElements.push_back(7);
+ coboundaryElements.push_back(1);
+ coboundaryElements.push_back(8);
+ coboundaryElements.push_back(9);
+ coboundaryElements.push_back(1);
+ coboundaryElements.push_back(3);
+ coboundaryElements.push_back(10);
+ coboundaryElements.push_back(11);
+ coboundaryElements.push_back(3);
+ coboundaryElements.push_back(5);
+ coboundaryElements.push_back(12);
+ coboundaryElements.push_back(13);
+ coboundaryElements.push_back(5);
+ coboundaryElements.push_back(8);
+ coboundaryElements.push_back(8);
+ coboundaryElements.push_back(10);
+ coboundaryElements.push_back(10);
+ coboundaryElements.push_back(12);
+ coboundaryElements.push_back(12);
+ coboundaryElements.push_back(7);
+ coboundaryElements.push_back(21);
+ coboundaryElements.push_back(15);
+ coboundaryElements.push_back(8);
+ coboundaryElements.push_back(22);
+ coboundaryElements.push_back(9);
+ coboundaryElements.push_back(23);
+ coboundaryElements.push_back(15);
+ coboundaryElements.push_back(17);
+ coboundaryElements.push_back(10);
+ coboundaryElements.push_back(24);
+ coboundaryElements.push_back(11);
+ coboundaryElements.push_back(25);
+ coboundaryElements.push_back(17);
+ coboundaryElements.push_back(19);
+ coboundaryElements.push_back(12);
+ coboundaryElements.push_back(26);
+ coboundaryElements.push_back(13);
+ coboundaryElements.push_back(27);
+ coboundaryElements.push_back(19);
+ coboundaryElements.push_back(22);
+ coboundaryElements.push_back(22);
+ coboundaryElements.push_back(24);
+ coboundaryElements.push_back(24);
+ coboundaryElements.push_back(26);
+ coboundaryElements.push_back(26);
+ coboundaryElements.push_back(21);
+ coboundaryElements.push_back(35);
+ coboundaryElements.push_back(29);
+ coboundaryElements.push_back(22);
+ coboundaryElements.push_back(36);
+ coboundaryElements.push_back(23);
+ coboundaryElements.push_back(37);
+ coboundaryElements.push_back(29);
+ coboundaryElements.push_back(31);
+ coboundaryElements.push_back(24);
+ coboundaryElements.push_back(38);
+ coboundaryElements.push_back(25);
+ coboundaryElements.push_back(39);
+ coboundaryElements.push_back(31);
+ coboundaryElements.push_back(33);
+ coboundaryElements.push_back(26);
+ coboundaryElements.push_back(40);
+ coboundaryElements.push_back(27);
+ coboundaryElements.push_back(41);
+ coboundaryElements.push_back(33);
+ coboundaryElements.push_back(36);
+ coboundaryElements.push_back(36);
+ coboundaryElements.push_back(38);
+ coboundaryElements.push_back(38);
+ coboundaryElements.push_back(40);
+ coboundaryElements.push_back(40);
+ coboundaryElements.push_back(35);
+ coboundaryElements.push_back(43);
+ coboundaryElements.push_back(36);
+ coboundaryElements.push_back(37);
+ coboundaryElements.push_back(43);
+ coboundaryElements.push_back(45);
+ coboundaryElements.push_back(38);
+ coboundaryElements.push_back(39);
+ coboundaryElements.push_back(45);
+ coboundaryElements.push_back(47);
+ coboundaryElements.push_back(40);
+ coboundaryElements.push_back(41);
+ coboundaryElements.push_back(47);
+ size_t number = 0;
+ for (size_t i = 0; i != increasing.size_of_bitmap(); ++i) {
+ std::vector< size_t > bd = increasing.get_coboundary_of_a_cell(i);
+ for (size_t j = 0; j != bd.size(); ++j) {
+ BOOST_CHECK(coboundaryElements[number] == bd[j]);
+ ++number;
+ }
+
+ }
+}
+
+BOOST_AUTO_TEST_CASE(compute_boundary_test_3) {
+ std::vector< double > increasingFiltrationOfTopDimensionalCells;
+ increasingFiltrationOfTopDimensionalCells.push_back(1);
+ increasingFiltrationOfTopDimensionalCells.push_back(2);
+ increasingFiltrationOfTopDimensionalCells.push_back(3);
+ increasingFiltrationOfTopDimensionalCells.push_back(4);
+ increasingFiltrationOfTopDimensionalCells.push_back(5);
+ increasingFiltrationOfTopDimensionalCells.push_back(6);
+ increasingFiltrationOfTopDimensionalCells.push_back(7);
+ increasingFiltrationOfTopDimensionalCells.push_back(8);
+ increasingFiltrationOfTopDimensionalCells.push_back(9);
+
+ std::vector<unsigned> dimensions;
+ dimensions.push_back(3);
+ dimensions.push_back(3);
+
+ Bitmap_cubical_complex<double> increasing(dimensions, increasingFiltrationOfTopDimensionalCells);
+
+ std::vector<unsigned> dim;
+ dim.push_back(0);
+ dim.push_back(1);
+ dim.push_back(0);
+ dim.push_back(1);
+ dim.push_back(0);
+ dim.push_back(1);
+ dim.push_back(0);
+ dim.push_back(1);
+ dim.push_back(2);
+ dim.push_back(1);
+ dim.push_back(2);
+ dim.push_back(1);
+ dim.push_back(2);
+ dim.push_back(1);
+ dim.push_back(0);
+ dim.push_back(1);
+ dim.push_back(0);
+ dim.push_back(1);
+ dim.push_back(0);
+ dim.push_back(1);
+ dim.push_back(0);
+ dim.push_back(1);
+ dim.push_back(2);
+ dim.push_back(1);
+ dim.push_back(2);
+ dim.push_back(1);
+ dim.push_back(2);
+ dim.push_back(1);
+ dim.push_back(0);
+ dim.push_back(1);
+ dim.push_back(0);
+ dim.push_back(1);
+ dim.push_back(0);
+ dim.push_back(1);
+ dim.push_back(0);
+ dim.push_back(1);
+ dim.push_back(2);
+ dim.push_back(1);
+ dim.push_back(2);
+ dim.push_back(1);
+ dim.push_back(2);
+ dim.push_back(1);
+ dim.push_back(0);
+ dim.push_back(1);
+ dim.push_back(0);
+ dim.push_back(1);
+ dim.push_back(0);
+ dim.push_back(1);
+ dim.push_back(0);
+
+ for (size_t i = 0; i != increasing.size_of_bitmap(); ++i) {
+ BOOST_CHECK(increasing.get_dimension_of_a_cell(i) == dim[i]);
+ }
+}
+
+BOOST_AUTO_TEST_CASE(Filtration_simplex_iterator_test) {
+ std::vector< double > increasingFiltrationOfTopDimensionalCells;
+ increasingFiltrationOfTopDimensionalCells.push_back(1);
+ increasingFiltrationOfTopDimensionalCells.push_back(2);
+ increasingFiltrationOfTopDimensionalCells.push_back(3);
+ increasingFiltrationOfTopDimensionalCells.push_back(4);
+ increasingFiltrationOfTopDimensionalCells.push_back(5);
+ increasingFiltrationOfTopDimensionalCells.push_back(6);
+ increasingFiltrationOfTopDimensionalCells.push_back(7);
+ increasingFiltrationOfTopDimensionalCells.push_back(8);
+ increasingFiltrationOfTopDimensionalCells.push_back(9);
+
+ std::vector<unsigned> dimensions;
+ dimensions.push_back(3);
+ dimensions.push_back(3);
+
+ Bitmap_cubical_complex<double> increasing(dimensions, increasingFiltrationOfTopDimensionalCells);
+
+ std::vector< unsigned > dim;
+ dim.push_back(0);
+ dim.push_back(0);
+ dim.push_back(0);
+ dim.push_back(0);
+ dim.push_back(1);
+ dim.push_back(1);
+ dim.push_back(1);
+ dim.push_back(1);
+ dim.push_back(2);
+ dim.push_back(0);
+ dim.push_back(0);
+ dim.push_back(1);
+ dim.push_back(1);
+ dim.push_back(1);
+ dim.push_back(2);
+ dim.push_back(0);
+ dim.push_back(0);
+ dim.push_back(1);
+ dim.push_back(1);
+ dim.push_back(1);
+ dim.push_back(2);
+ dim.push_back(0);
+ dim.push_back(0);
+ dim.push_back(1);
+ dim.push_back(1);
+ dim.push_back(1);
+ dim.push_back(2);
+ dim.push_back(0);
+ dim.push_back(1);
+ dim.push_back(1);
+ dim.push_back(2);
+ dim.push_back(0);
+ dim.push_back(1);
+ dim.push_back(1);
+ dim.push_back(2);
+ dim.push_back(0);
+ dim.push_back(0);
+ dim.push_back(1);
+ dim.push_back(1);
+ dim.push_back(1);
+ dim.push_back(2);
+ dim.push_back(0);
+ dim.push_back(1);
+ dim.push_back(1);
+ dim.push_back(2);
+ dim.push_back(0);
+ dim.push_back(1);
+ dim.push_back(1);
+ dim.push_back(2);
+
+ std::vector<double> fil;
+ fil.push_back(1);
+ fil.push_back(1);
+ fil.push_back(1);
+ fil.push_back(1);
+ fil.push_back(1);
+ fil.push_back(1);
+ fil.push_back(1);
+ fil.push_back(1);
+ fil.push_back(1);
+ fil.push_back(2);
+ fil.push_back(2);
+ fil.push_back(2);
+ fil.push_back(2);
+ fil.push_back(2);
+ fil.push_back(2);
+ fil.push_back(3);
+ fil.push_back(3);
+ fil.push_back(3);
+ fil.push_back(3);
+ fil.push_back(3);
+ fil.push_back(3);
+ fil.push_back(4);
+ fil.push_back(4);
+ fil.push_back(4);
+ fil.push_back(4);
+ fil.push_back(4);
+ fil.push_back(4);
+ fil.push_back(5);
+ fil.push_back(5);
+ fil.push_back(5);
+ fil.push_back(5);
+ fil.push_back(6);
+ fil.push_back(6);
+ fil.push_back(6);
+ fil.push_back(6);
+ fil.push_back(7);
+ fil.push_back(7);
+ fil.push_back(7);
+ fil.push_back(7);
+ fil.push_back(7);
+ fil.push_back(7);
+ fil.push_back(8);
+ fil.push_back(8);
+ fil.push_back(8);
+ fil.push_back(8);
+ fil.push_back(9);
+ fil.push_back(9);
+ fil.push_back(9);
+ fil.push_back(9);
+
+
+ Bitmap_cubical_complex<double>::Filtration_simplex_range range = increasing.filtration_simplex_range();
+ size_t position = 0;
+ for (Bitmap_cubical_complex<double>::Filtration_simplex_iterator it = range.begin(); it != range.end(); ++it) {
+ BOOST_CHECK(increasing.dimension(*it) == dim[position]);
+ BOOST_CHECK(increasing.filtration(*it) == fil[position]);
+ ++position;
+ }
+}