diff options
author | Hind-M <hind.montassif@gmail.com> | 2022-01-18 16:30:33 +0100 |
---|---|---|
committer | Hind-M <hind.montassif@gmail.com> | 2022-01-18 16:30:33 +0100 |
commit | f7c3fd1033e8956777b82d84d231115cb5540bc3 (patch) | |
tree | 1bd6467863b75e7b11247a899c5172f99f14a3b4 /src/common/include | |
parent | aa600c433e1f756bec4323e29e86786b937d9443 (diff) | |
parent | de5aa9c891ef13c9fc2b2635bcd27ab873b0057b (diff) |
Merge remote-tracking branch 'upstream/master' into fetch_datasets
Diffstat (limited to 'src/common/include')
-rw-r--r-- | src/common/include/gudhi/random_point_generators.h | 12 | ||||
-rw-r--r-- | src/common/include/gudhi/reader_utils.h | 6 |
2 files changed, 11 insertions, 7 deletions
diff --git a/src/common/include/gudhi/random_point_generators.h b/src/common/include/gudhi/random_point_generators.h index 33fb182d..25a7392d 100644 --- a/src/common/include/gudhi/random_point_generators.h +++ b/src/common/include/gudhi/random_point_generators.h @@ -185,7 +185,7 @@ std::vector<typename Kernel::Point_d> generate_points_on_torus_3D(std::size_t nu // "Private" function used by generate_points_on_torus_d template <typename Kernel, typename OutputIterator> -static void generate_uniform_points_on_torus_d(const Kernel &k, int dim, std::size_t num_slices, +static void generate_grid_points_on_torus_d(const Kernel &k, int dim, std::size_t num_slices, OutputIterator out, double radius_noise_percentage = 0., std::vector<typename Kernel::FT> current_point = @@ -208,14 +208,14 @@ static void generate_uniform_points_on_torus_d(const Kernel &k, int dim, std::si double alpha = two_pi * slice_idx / num_slices; cp2.push_back(radius_noise_ratio * std::cos(alpha)); cp2.push_back(radius_noise_ratio * std::sin(alpha)); - generate_uniform_points_on_torus_d( + generate_grid_points_on_torus_d( k, dim, num_slices, out, radius_noise_percentage, cp2); } } } template <typename Kernel> -std::vector<typename Kernel::Point_d> generate_points_on_torus_d(std::size_t num_points, int dim, bool uniform = false, +std::vector<typename Kernel::Point_d> generate_points_on_torus_d(std::size_t num_points, int dim, std::string sample = "random", double radius_noise_percentage = 0.) { using namespace boost::math::double_constants; @@ -226,9 +226,9 @@ std::vector<typename Kernel::Point_d> generate_points_on_torus_d(std::size_t num std::vector<Point> points; points.reserve(num_points); - if (uniform) { - std::size_t num_slices = (std::size_t)std::pow(num_points, 1. / dim); - generate_uniform_points_on_torus_d( + if (sample == "grid") { + std::size_t num_slices = (std::size_t)std::pow(num_points + .5, 1. / dim); // add .5 to avoid rounding down with numerical approximations + generate_grid_points_on_torus_d( k, dim, num_slices, std::back_inserter(points), radius_noise_percentage); } else { for (std::size_t i = 0; i < num_points;) { diff --git a/src/common/include/gudhi/reader_utils.h b/src/common/include/gudhi/reader_utils.h index 0938f5c1..a1b104e2 100644 --- a/src/common/include/gudhi/reader_utils.h +++ b/src/common/include/gudhi/reader_utils.h @@ -14,7 +14,11 @@ #include <gudhi/graph_simplicial_complex.h> #include <gudhi/Debug_utils.h> -#include <boost/function_output_iterator.hpp> +#if BOOST_VERSION < 106600 +# include <boost/function_output_iterator.hpp> +#else +# include <boost/iterator/function_output_iterator.hpp> +#endif #include <boost/graph/adjacency_list.hpp> #include <iostream> |