1
0
Fork 0
mirror of https://github.com/bolero-MURAKAMI/Sprout synced 2025-08-03 12:49:50 +00:00

add sprout/numeric/dft.wave.hpp

fix constexpr -> inline constexpr
This commit is contained in:
bolero-MURAKAMI 2012-07-15 16:04:05 +09:00
parent e4a4d17207
commit f9d4b475b4
69 changed files with 420 additions and 378 deletions

View file

@ -19,41 +19,36 @@ namespace sprout {
// material
//
template<typename T>
SPROUT_CONSTEXPR auto does_intersect(
T&& t
) SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<0>(sprout::forward<T>(t))))
inline SPROUT_CONSTEXPR auto does_intersect(T&& t)
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<0>(sprout::forward<T>(t))))
-> decltype(sprout::darkroom::access::get<0>(sprout::forward<T>(t)))
{
return sprout::darkroom::access::get<0>(sprout::forward<T>(t));
}
template<typename T>
SPROUT_CONSTEXPR auto distance(
T&& t
) SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<1>(sprout::forward<T>(t))))
inline SPROUT_CONSTEXPR auto distance(T&& t)
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<1>(sprout::forward<T>(t))))
-> decltype(sprout::darkroom::access::get<1>(sprout::forward<T>(t)))
{
return sprout::darkroom::access::get<1>(sprout::forward<T>(t));
}
template<typename T>
SPROUT_CONSTEXPR auto point_of_intersection(
T&& t
) SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<2>(sprout::forward<T>(t))))
inline SPROUT_CONSTEXPR auto point_of_intersection(T&& t)
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<2>(sprout::forward<T>(t))))
-> decltype(sprout::darkroom::access::get<2>(sprout::forward<T>(t)))
{
return sprout::darkroom::access::get<2>(sprout::forward<T>(t));
}
template<typename T>
SPROUT_CONSTEXPR auto normal(
T&& t
) SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<3>(sprout::forward<T>(t))))
inline SPROUT_CONSTEXPR auto normal(T&& t)
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<3>(sprout::forward<T>(t))))
-> decltype(sprout::darkroom::access::get<3>(sprout::forward<T>(t)))
{
return sprout::darkroom::access::get<3>(sprout::forward<T>(t));
}
template<typename T>
SPROUT_CONSTEXPR auto material(
T&& t
) SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<4>(sprout::forward<T>(t))))
inline SPROUT_CONSTEXPR auto material(T&& t)
SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(sprout::darkroom::access::get<4>(sprout::forward<T>(t))))
-> decltype(sprout::darkroom::access::get<4>(sprout::forward<T>(t)))
{
return sprout::darkroom::access::get<4>(sprout::forward<T>(t));
@ -63,7 +58,7 @@ namespace sprout {
// make_intersection
//
template<typename Distance, typename Point, typename Normal, typename Material>
SPROUT_CONSTEXPR sprout::tuples::tuple<bool, Distance, Point, Normal, Material>
inline SPROUT_CONSTEXPR sprout::tuples::tuple<bool, Distance, Point, Normal, Material>
make_intersection(bool b, Distance const& dist, Point const& p, Normal const& nor, Material const& mat) {
return sprout::tuples::make_tuple(b, dist, p, nor, mat);
}