From e0041b766b647f3906b52f861e97edba1f089312 Mon Sep 17 00:00:00 2001 From: ROUVREAU Vincent Date: Tue, 22 Sep 2020 16:43:54 +0200 Subject: include what you use --- .../include/gudhi/Functions/Cartesian_product.h | 6 ++++-- .../include/gudhi/Functions/Constant_function.h | 6 +++++- .../include/gudhi/Functions/Embed_in_Rd.h | 6 ++++-- .../include/gudhi/Functions/Function_Sm_in_Rd.h | 5 ++++- .../gudhi/Functions/Function_affine_plane_in_Rd.h | 5 ++++- .../include/gudhi/Functions/Function_chair_in_R3.h | 4 +++- .../include/gudhi/Functions/Function_iron_in_R3.h | 6 +++++- .../Functions/Function_lemniscate_revolution_in_R3.h | 10 +++++++--- .../gudhi/Functions/Function_moment_curve_in_Rd.h | 5 ++++- .../include/gudhi/Functions/Function_torus_in_R3.h | 6 +++++- .../gudhi/Functions/Function_whitney_umbrella_in_R3.h | 5 +++++ .../include/gudhi/Functions/Linear_transformation.h | 5 +++-- .../include/gudhi/Functions/Negation.h | 7 +++++-- .../include/gudhi/Functions/PL_approximation.h | 5 +++-- .../include/gudhi/Functions/Translate.h | 5 ++++- .../include/gudhi/Functions/random_orthogonal_matrix.h | 17 ++++++++++++----- 16 files changed, 77 insertions(+), 26 deletions(-) (limited to 'src/Coxeter_triangulation/include/gudhi/Functions') diff --git a/src/Coxeter_triangulation/include/gudhi/Functions/Cartesian_product.h b/src/Coxeter_triangulation/include/gudhi/Functions/Cartesian_product.h index cda966f8..0a6f264d 100644 --- a/src/Coxeter_triangulation/include/gudhi/Functions/Cartesian_product.h +++ b/src/Coxeter_triangulation/include/gudhi/Functions/Cartesian_product.h @@ -13,9 +13,11 @@ #include #include -#include +#include // for std::enable_if +#include // for std::size_t #include + #include namespace Gudhi { @@ -139,7 +141,7 @@ struct Cartesian_product : public Function { cod_d_ = get_cod_d(function_tuple_); } -private: + private: std::tuple function_tuple_; std::size_t amb_d_, cod_d_; }; diff --git a/src/Coxeter_triangulation/include/gudhi/Functions/Constant_function.h b/src/Coxeter_triangulation/include/gudhi/Functions/Constant_function.h index e5b78b04..c03a2a24 100644 --- a/src/Coxeter_triangulation/include/gudhi/Functions/Constant_function.h +++ b/src/Coxeter_triangulation/include/gudhi/Functions/Constant_function.h @@ -11,7 +11,10 @@ #ifndef FUNCTIONS_CONSTANT_FUNCTION_H_ #define FUNCTIONS_CONSTANT_FUNCTION_H_ +#include // for std::size_t + #include + #include namespace Gudhi { @@ -57,7 +60,8 @@ struct Constant_function : public Function { */ Constant_function(std::size_t d, std::size_t k, const Eigen::VectorXd& value) : d_(d), k_(k), value_(value) {} - + + private: std::size_t d_, k_; Eigen::VectorXd value_; }; diff --git a/src/Coxeter_triangulation/include/gudhi/Functions/Embed_in_Rd.h b/src/Coxeter_triangulation/include/gudhi/Functions/Embed_in_Rd.h index 230c89d8..5ebeac75 100644 --- a/src/Coxeter_triangulation/include/gudhi/Functions/Embed_in_Rd.h +++ b/src/Coxeter_triangulation/include/gudhi/Functions/Embed_in_Rd.h @@ -11,10 +11,10 @@ #ifndef FUNCTIONS_EMBED_IN_RD_H_ #define FUNCTIONS_EMBED_IN_RD_H_ -#include -#include +#include // for std::size_t #include + #include @@ -76,6 +76,8 @@ struct Embed_in_Rd : public Function { Embed_in_Rd(const Function_& function, std::size_t d) : fun_(function), d_(d) { } + + private: Function_ fun_; std::size_t d_; }; diff --git a/src/Coxeter_triangulation/include/gudhi/Functions/Function_Sm_in_Rd.h b/src/Coxeter_triangulation/include/gudhi/Functions/Function_Sm_in_Rd.h index f3ae577a..7ebb7fc8 100644 --- a/src/Coxeter_triangulation/include/gudhi/Functions/Function_Sm_in_Rd.h +++ b/src/Coxeter_triangulation/include/gudhi/Functions/Function_Sm_in_Rd.h @@ -11,7 +11,10 @@ #ifndef FUNCTIONS_FUNCTION_SM_IN_RD_H_ #define FUNCTIONS_FUNCTION_SM_IN_RD_H_ +#include // for std::size_t + #include + #include namespace Gudhi { @@ -115,7 +118,7 @@ struct Function_Sm_in_Rd: public Function { : Function_Sm_in_Rd(rhs.r_, rhs.m_, rhs.d_, rhs.center_) {} -protected: + private: std::size_t m_, k_, d_; double r_; Eigen::VectorXd center_; diff --git a/src/Coxeter_triangulation/include/gudhi/Functions/Function_affine_plane_in_Rd.h b/src/Coxeter_triangulation/include/gudhi/Functions/Function_affine_plane_in_Rd.h index 75fb9322..1e950d4e 100644 --- a/src/Coxeter_triangulation/include/gudhi/Functions/Function_affine_plane_in_Rd.h +++ b/src/Coxeter_triangulation/include/gudhi/Functions/Function_affine_plane_in_Rd.h @@ -11,7 +11,10 @@ #ifndef FUNCTIONS_FUNCTION_AFFINE_PLANE_IN_RD_H_ #define FUNCTIONS_FUNCTION_AFFINE_PLANE_IN_RD_H_ +#include // for std::size_t + #include + #include namespace Gudhi { @@ -85,7 +88,7 @@ struct Function_affine_plane_in_Rd : public Function { normal_matrix_.colwise().normalize(); } -protected: +private: Eigen::MatrixXd normal_matrix_; std::size_t d_, k_, m_; Eigen::VectorXd off_; diff --git a/src/Coxeter_triangulation/include/gudhi/Functions/Function_chair_in_R3.h b/src/Coxeter_triangulation/include/gudhi/Functions/Function_chair_in_R3.h index 1649ef9c..fe16d37b 100644 --- a/src/Coxeter_triangulation/include/gudhi/Functions/Function_chair_in_R3.h +++ b/src/Coxeter_triangulation/include/gudhi/Functions/Function_chair_in_R3.h @@ -11,9 +11,11 @@ #ifndef FUNCTIONS_FUNCTION_CHAIR_IN_R3_H_ #define FUNCTIONS_FUNCTION_CHAIR_IN_R3_H_ -#include +#include // for std::size_t +#include // for std::pow #include + #include namespace Gudhi { diff --git a/src/Coxeter_triangulation/include/gudhi/Functions/Function_iron_in_R3.h b/src/Coxeter_triangulation/include/gudhi/Functions/Function_iron_in_R3.h index 8a438bf4..fa5e4e66 100644 --- a/src/Coxeter_triangulation/include/gudhi/Functions/Function_iron_in_R3.h +++ b/src/Coxeter_triangulation/include/gudhi/Functions/Function_iron_in_R3.h @@ -11,7 +11,11 @@ #ifndef FUNCTIONS_FUNCTION_IRON_IN_R3_H_ #define FUNCTIONS_FUNCTION_IRON_IN_R3_H_ +#include // for std::size_t +#include // for std::pow + #include + #include namespace Gudhi { @@ -59,7 +63,7 @@ struct Function_iron_in_R3 : public Function { Function_iron_in_R3(Eigen::Vector3d off = Eigen::Vector3d::Zero()) : off_(off) {} -protected: + private: Eigen::Vector3d off_; }; diff --git a/src/Coxeter_triangulation/include/gudhi/Functions/Function_lemniscate_revolution_in_R3.h b/src/Coxeter_triangulation/include/gudhi/Functions/Function_lemniscate_revolution_in_R3.h index 4f08614f..b715932b 100644 --- a/src/Coxeter_triangulation/include/gudhi/Functions/Function_lemniscate_revolution_in_R3.h +++ b/src/Coxeter_triangulation/include/gudhi/Functions/Function_lemniscate_revolution_in_R3.h @@ -11,7 +11,11 @@ #ifndef FUNCTIONS_FUNCTION_LEMNISCATE_REVOLUTION_IN_R3_H_ #define FUNCTIONS_FUNCTION_LEMNISCATE_REVOLUTION_IN_R3_H_ +#include // for std::size_t +#include // for std::sqrt + #include + #include namespace Gudhi { @@ -51,7 +55,7 @@ struct Function_lemniscate_revolution_in_R3 : public Function { * See the method seed2() for the other point. */ virtual Eigen::VectorXd seed() const override { - Eigen::Vector3d result(sqrt(2*a_)+off_[0], off_[1], off_[2]); + Eigen::Vector3d result(std::sqrt(2*a_)+off_[0], off_[1], off_[2]); return result; } @@ -60,7 +64,7 @@ struct Function_lemniscate_revolution_in_R3 : public Function { * See the method seed() for the other point. */ Eigen::VectorXd seed2() const { - Eigen::Vector3d result(-sqrt(2*a_)+off_[0], off_[1], off_[2]); + Eigen::Vector3d result(-std::sqrt(2*a_)+off_[0], off_[1], off_[2]); return result; } @@ -75,7 +79,7 @@ struct Function_lemniscate_revolution_in_R3 : public Function { Eigen::Vector3d off = Eigen::Vector3d::Zero()) : a_(a), off_(off) {} -protected: + private: double a_; Eigen::Vector3d off_; }; diff --git a/src/Coxeter_triangulation/include/gudhi/Functions/Function_moment_curve_in_Rd.h b/src/Coxeter_triangulation/include/gudhi/Functions/Function_moment_curve_in_Rd.h index f7588225..eecbc914 100644 --- a/src/Coxeter_triangulation/include/gudhi/Functions/Function_moment_curve_in_Rd.h +++ b/src/Coxeter_triangulation/include/gudhi/Functions/Function_moment_curve_in_Rd.h @@ -11,7 +11,10 @@ #ifndef FUNCTIONS_FUNCTION_MOMENT_CURVE_IN_RD_H_ #define FUNCTIONS_FUNCTION_MOMENT_CURVE_IN_RD_H_ +#include // for std::size_t + #include + #include namespace Gudhi { @@ -73,7 +76,7 @@ struct Function_moment_curve_in_Rd : public Function { Eigen::VectorXd& offset) : m_(1), k_(d-1), d_(d), r_(r), off_(offset) {} -protected: + private: std::size_t m_, k_, d_; double r_; Eigen::VectorXd off_; diff --git a/src/Coxeter_triangulation/include/gudhi/Functions/Function_torus_in_R3.h b/src/Coxeter_triangulation/include/gudhi/Functions/Function_torus_in_R3.h index af0675b0..c756c1a6 100644 --- a/src/Coxeter_triangulation/include/gudhi/Functions/Function_torus_in_R3.h +++ b/src/Coxeter_triangulation/include/gudhi/Functions/Function_torus_in_R3.h @@ -11,7 +11,11 @@ #ifndef FUNCTIONS_FUNCTION_TORUS_IN_R3_H_ #define FUNCTIONS_FUNCTION_TORUS_IN_R3_H_ +#include // for std::size_t +#include // for std::sqrt + #include + #include namespace Gudhi { @@ -62,7 +66,7 @@ struct Function_torus_in_R3 : public Function { Eigen::Vector3d off = Eigen::Vector3d::Zero()) : R_(R), r_(r), off_(off) {} -protected: + private: double R_, r_; Eigen::Vector3d off_; }; diff --git a/src/Coxeter_triangulation/include/gudhi/Functions/Function_whitney_umbrella_in_R3.h b/src/Coxeter_triangulation/include/gudhi/Functions/Function_whitney_umbrella_in_R3.h index 3c729878..09306561 100644 --- a/src/Coxeter_triangulation/include/gudhi/Functions/Function_whitney_umbrella_in_R3.h +++ b/src/Coxeter_triangulation/include/gudhi/Functions/Function_whitney_umbrella_in_R3.h @@ -11,7 +11,10 @@ #ifndef FUNCTIONS_FUNCTION_WHITNEY_UMBRELLA_IN_R3_H_ #define FUNCTIONS_FUNCTION_WHITNEY_UMBRELLA_IN_R3_H_ +#include // for std::size_t + #include + #include namespace Gudhi { @@ -69,6 +72,8 @@ struct Function_whitney_umbrella_in_R3 : public Function { */ Function_whitney_umbrella_in_R3(Eigen::Vector3d off = Eigen::Vector3d::Zero()) : off_(off) {} + + private: Eigen::Vector3d off_; }; diff --git a/src/Coxeter_triangulation/include/gudhi/Functions/Linear_transformation.h b/src/Coxeter_triangulation/include/gudhi/Functions/Linear_transformation.h index 7d36cf84..a5d17fe0 100644 --- a/src/Coxeter_triangulation/include/gudhi/Functions/Linear_transformation.h +++ b/src/Coxeter_triangulation/include/gudhi/Functions/Linear_transformation.h @@ -11,9 +11,10 @@ #ifndef FUNCTIONS_LINEAR_TRANSFORMATION_H_ #define FUNCTIONS_LINEAR_TRANSFORMATION_H_ -#include +#include // for std::size_t #include + #include namespace Gudhi { @@ -65,7 +66,7 @@ struct Linear_transformation : public Function { fun_(function), matrix_(matrix) { } -private: + private: Function_ fun_; Eigen::MatrixXd matrix_; }; diff --git a/src/Coxeter_triangulation/include/gudhi/Functions/Negation.h b/src/Coxeter_triangulation/include/gudhi/Functions/Negation.h index e3ddecdb..3439dbad 100644 --- a/src/Coxeter_triangulation/include/gudhi/Functions/Negation.h +++ b/src/Coxeter_triangulation/include/gudhi/Functions/Negation.h @@ -11,9 +11,10 @@ #ifndef FUNCTIONS_NEGATION_H_ #define FUNCTIONS_NEGATION_H_ -#include +#include // for std::size_t #include + #include namespace Gudhi { @@ -62,6 +63,8 @@ struct Negation : public Function { Negation(const Function_& function) : fun_(function) { } + + private: Function_ fun_; }; @@ -78,7 +81,7 @@ struct Negation : public Function { * \ingroup coxeter_triangulation */ template -Negation negation(const Function_& function) { +Negation negation(const Function_& function) { return Negation(function); } diff --git a/src/Coxeter_triangulation/include/gudhi/Functions/PL_approximation.h b/src/Coxeter_triangulation/include/gudhi/Functions/PL_approximation.h index abfad697..ab2b9294 100644 --- a/src/Coxeter_triangulation/include/gudhi/Functions/PL_approximation.h +++ b/src/Coxeter_triangulation/include/gudhi/Functions/PL_approximation.h @@ -11,9 +11,10 @@ #ifndef FUNCTIONS_PL_APPROXIMATION_H_ #define FUNCTIONS_PL_APPROXIMATION_H_ -#include +#include // for std::size_t #include + #include namespace Gudhi { @@ -90,7 +91,7 @@ struct PL_approximation : public Function { PL_approximation(const Function_& function, const Triangulation_& triangulation) : fun_(function), tr_(triangulation) {} -private: + private: Function_ fun_; Triangulation_ tr_; }; diff --git a/src/Coxeter_triangulation/include/gudhi/Functions/Translate.h b/src/Coxeter_triangulation/include/gudhi/Functions/Translate.h index 90f09a0b..b3f53fe0 100644 --- a/src/Coxeter_triangulation/include/gudhi/Functions/Translate.h +++ b/src/Coxeter_triangulation/include/gudhi/Functions/Translate.h @@ -11,9 +11,10 @@ #ifndef FUNCTIONS_TRANSLATE_H_ #define FUNCTIONS_TRANSLATE_H_ -#include +#include // for std::size_t #include + #include namespace Gudhi { @@ -65,6 +66,8 @@ struct Translate : public Function { Translate(const Function_& function, const Eigen::VectorXd& off) : fun_(function), off_(off) { } + + private: Function_ fun_; Eigen::VectorXd off_; }; diff --git a/src/Coxeter_triangulation/include/gudhi/Functions/random_orthogonal_matrix.h b/src/Coxeter_triangulation/include/gudhi/Functions/random_orthogonal_matrix.h index e1bbaea3..34fc1a67 100644 --- a/src/Coxeter_triangulation/include/gudhi/Functions/random_orthogonal_matrix.h +++ b/src/Coxeter_triangulation/include/gudhi/Functions/random_orthogonal_matrix.h @@ -11,8 +11,11 @@ #ifndef FUNCTIONS_RANDOM_ORTHOGONAL_MATRIX_H_ #define FUNCTIONS_RANDOM_ORTHOGONAL_MATRIX_H_ -#include -#include +#include // for std::size_t +#include // for std::cos, std::sin +#include // for std::uniform_real_distribution, std::random_device + +#include #include #include @@ -41,10 +44,14 @@ Eigen::MatrixXd random_orthogonal_matrix(std::size_t d) { if (d == 1) return Eigen::VectorXd::Constant(1, 1.0); if (d == 2) { - double X = 2 * 3.14159265358; - double alpha = static_cast (rand()) / (static_cast (RAND_MAX/X)); + // 0. < alpha < 2 Pi + std::uniform_real_distribution unif(0., 2 * Gudhi::PI); + std::random_device rand_dev; + std::mt19937 rand_engine(rand_dev()); + double alpha = unif(rand_engine); + Eigen::Matrix2d rot; - rot << cos(alpha), -sin(alpha), sin(alpha), cos(alpha); + rot << std::cos(alpha), -std::sin(alpha), std::sin(alpha), cos(alpha); return rot; } Eigen::MatrixXd low_dim_rot = random_orthogonal_matrix(d-1); -- cgit v1.2.3