8 #ifndef SIG_UTIL_COMPARE_CHECK_HPP
9 #define SIG_UTIL_COMPARE_CHECK_HPP
11 #include "../helper/helper_modules.hpp"
22 template <
class C1,
class C2>
25 return v1.size() == v2.size();
29 template <
class C1,
class C2>
40 return !std::accumulate(
std::begin(v),
std::end(v),
true, [](
bool s,
bool e){
return s && e != 0; });
44 template <
class C1,
class C2>
51 template <
class C1,
class C2>
bool is_valid_distribution(C1 const &v1, C2 const &v2)
離散確率分布の性質を満たしているか確認
auto end(C &&c) -> std::move_iterator< typename RC::iterator >
bool is_comparable(C1 const &v1, C2 const &v2, impl::NumericVectorTag)
2つのベクトルが比較可能か確認
bool has_zero(C const &v)
要素の値に0があるか確認
bool equal(T1 &&v1, T2 &&v2)
数値の簡易等値比較(厳密な計算でない場合の使用を想定)
bool is_same_size(C1 const &v1, C2 const &v2)
auto begin(C &&c) -> std::move_iterator< typename RC::iterator >