diff options
Diffstat (limited to 'src')
3 files changed, 14 insertions, 3 deletions
diff --git a/src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex_base.h b/src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex_base.h index 47e71f8a..e06d198b 100644 --- a/src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex_base.h +++ b/src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex_base.h @@ -492,7 +492,7 @@ class Bitmap_cubical_complex_base { this->multipliers.push_back(multiplier); multiplier *= 2 * sizes[i] + 1; } - this->data = std::vector<T>(multiplier, std::numeric_limits<T>::max()); + this->data = std::vector<T>(multiplier, std::numeric_limits<T>::infinity()); this->total_number_of_cells = multiplier; } @@ -562,7 +562,7 @@ void Bitmap_cubical_complex_base<T>::put_data_to_bins(T diameter_of_bin) { template <typename T> std::pair<T, T> Bitmap_cubical_complex_base<T>::min_max_filtration() { - std::pair<T, T> min_max(std::numeric_limits<T>::max(), std::numeric_limits<T>::min()); + std::pair<T, T> min_max(std::numeric_limits<T>::infinity(), std::numeric_limits<T>::min()); for (std::size_t i = 0; i != this->data.size(); ++i) { if (this->data[i] < min_max.first) min_max.first = this->data[i]; if (this->data[i] > min_max.second) min_max.second = this->data[i]; diff --git a/src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex_periodic_boundary_conditions_base.h b/src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex_periodic_boundary_conditions_base.h index 97070cda..8c35f590 100644 --- a/src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex_periodic_boundary_conditions_base.h +++ b/src/Bitmap_cubical_complex/include/gudhi/Bitmap_cubical_complex_periodic_boundary_conditions_base.h @@ -177,7 +177,7 @@ class Bitmap_cubical_complex_periodic_boundary_conditions_base : public Bitmap_c } } // std::reverse( this->sizes.begin() , this->sizes.end() ); - this->data = std::vector<T>(multiplier, std::numeric_limits<T>::max()); + this->data = std::vector<T>(multiplier, std::numeric_limits<T>::infinity()); this->total_number_of_cells = multiplier; } Bitmap_cubical_complex_periodic_boundary_conditions_base(const std::vector<unsigned>& sizes); diff --git a/src/cython/test/test_cubical_complex.py b/src/cython/test/test_cubical_complex.py index 79d39aa8..92e591e9 100755 --- a/src/cython/test/test_cubical_complex.py +++ b/src/cython/test/test_cubical_complex.py @@ -72,6 +72,17 @@ def test_dimension_simple_constructor(): assert cub.betti_numbers() == [1, 0, 0] assert cub.persistent_betti_numbers(0, 1000) == [0, 0, 0] +def test_user_case_simple_constructor(): + cub = CubicalComplex(dimensions=[3, 3], + top_dimensional_cells = [float('inf'), 0.,0.,0.,1.,0.,0.,0.,0.]) + assert cub.__is_defined() == True + assert cub.__is_persistence_defined() == False + assert cub.persistence() == [(1, (0.0, 1.0)), (0, (0.0, float('inf')))] + assert cub.__is_persistence_defined() == True + other_cub = CubicalComplex(dimensions=[3, 3], + top_dimensional_cells = [1000., 0.,0.,0.,1.,0.,0.,0.,0.]) + assert other_cub.persistence() == [(1, (0.0, 1.0)), (0, (0.0, float('inf')))] + def test_dimension_file_constructor(): # Create test file test_file = open('CubicalOneSphere.txt', 'w') |