mirror of
https://github.com/bolero-MURAKAMI/Sprout
synced 2025-08-03 12:49:50 +00:00
add quaternion adapt (hash, tuple)
This commit is contained in:
parent
35bd69d5d3
commit
37eea2c53d
35 changed files with 1941 additions and 974 deletions
123
sprout/math/quaternion/udl.hpp
Normal file
123
sprout/math/quaternion/udl.hpp
Normal file
|
@ -0,0 +1,123 @@
|
|||
/*=============================================================================
|
||||
Copyright (c) 2011-2016 Bolero MURAKAMI
|
||||
https://github.com/bolero-MURAKAMI/Sprout
|
||||
|
||||
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
=============================================================================*/
|
||||
#ifndef SPROUT_MATH_QUATERNION_UDL_HPP
|
||||
#define SPROUT_MATH_QUATERNION_UDL_HPP
|
||||
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/complex/udl.hpp>
|
||||
#include <sprout/math/quaternion/quaternion.hpp>
|
||||
|
||||
#if SPROUT_USE_USER_DEFINED_LITERALS
|
||||
|
||||
namespace sprout {
|
||||
namespace udl {
|
||||
namespace quaternion {
|
||||
using sprout::udl::complex::operator"" _i;
|
||||
using sprout::udl::complex::operator"" _if;
|
||||
using sprout::udl::complex::operator"" _iF;
|
||||
using sprout::udl::complex::operator"" _il;
|
||||
using sprout::udl::complex::operator"" _iL;
|
||||
|
||||
//
|
||||
// _j
|
||||
//
|
||||
inline SPROUT_CONSTEXPR sprout::math::quaternion<double>
|
||||
operator"" _j(long double x) {
|
||||
return sprout::math::quaternion<double>(0, 0, x);
|
||||
}
|
||||
|
||||
//
|
||||
// _jf
|
||||
// _jF
|
||||
//
|
||||
inline SPROUT_CONSTEXPR sprout::math::quaternion<float>
|
||||
operator"" _jf(long double x) {
|
||||
return sprout::math::quaternion<float>(0, 0, static_cast<float>(x));
|
||||
}
|
||||
inline SPROUT_CONSTEXPR sprout::math::quaternion<float>
|
||||
operator"" _jF(long double x) {
|
||||
return sprout::math::quaternion<float>(0, 0, static_cast<float>(x));
|
||||
}
|
||||
|
||||
//
|
||||
// _jl
|
||||
// _jL
|
||||
//
|
||||
inline SPROUT_CONSTEXPR sprout::math::quaternion<long double>
|
||||
operator"" _jl(long double x) {
|
||||
return sprout::math::quaternion<long double>(0, 0, x);
|
||||
}
|
||||
inline SPROUT_CONSTEXPR sprout::math::quaternion<long double>
|
||||
operator"" _jL(long double x) {
|
||||
return sprout::math::quaternion<long double>(0, 0, x);
|
||||
}
|
||||
|
||||
//
|
||||
// _k
|
||||
//
|
||||
inline SPROUT_CONSTEXPR sprout::math::quaternion<double>
|
||||
operator"" _k(long double x) {
|
||||
return sprout::math::quaternion<double>(0, 0, 0, x);
|
||||
}
|
||||
|
||||
//
|
||||
// _kf
|
||||
// _kF
|
||||
//
|
||||
inline SPROUT_CONSTEXPR sprout::math::quaternion<float>
|
||||
operator"" _kf(long double x) {
|
||||
return sprout::math::quaternion<float>(0, 0, 0, static_cast<float>(x));
|
||||
}
|
||||
inline SPROUT_CONSTEXPR sprout::math::quaternion<float>
|
||||
operator"" _kF(long double x) {
|
||||
return sprout::math::quaternion<float>(0, 0, 0, static_cast<float>(x));
|
||||
}
|
||||
|
||||
//
|
||||
// _kl
|
||||
// _kL
|
||||
//
|
||||
inline SPROUT_CONSTEXPR sprout::math::quaternion<long double>
|
||||
operator"" _kl(long double x) {
|
||||
return sprout::math::quaternion<long double>(0, 0, 0, x);
|
||||
}
|
||||
inline SPROUT_CONSTEXPR sprout::math::quaternion<long double>
|
||||
operator"" _kL(long double x) {
|
||||
return sprout::math::quaternion<long double>(0, 0, 0, x);
|
||||
}
|
||||
} // namespace quaternion
|
||||
|
||||
using sprout::udl::quaternion::operator"" _j;
|
||||
using sprout::udl::quaternion::operator"" _jf;
|
||||
using sprout::udl::quaternion::operator"" _jF;
|
||||
using sprout::udl::quaternion::operator"" _jl;
|
||||
using sprout::udl::quaternion::operator"" _jL;
|
||||
|
||||
using sprout::udl::quaternion::operator"" _k;
|
||||
using sprout::udl::quaternion::operator"" _kf;
|
||||
using sprout::udl::quaternion::operator"" _kF;
|
||||
using sprout::udl::quaternion::operator"" _kl;
|
||||
using sprout::udl::quaternion::operator"" _kL;
|
||||
} // namespace udl
|
||||
|
||||
using sprout::udl::quaternion::operator"" _j;
|
||||
using sprout::udl::quaternion::operator"" _jf;
|
||||
using sprout::udl::quaternion::operator"" _jF;
|
||||
using sprout::udl::quaternion::operator"" _jl;
|
||||
using sprout::udl::quaternion::operator"" _jL;
|
||||
|
||||
using sprout::udl::quaternion::operator"" _k;
|
||||
using sprout::udl::quaternion::operator"" _kf;
|
||||
using sprout::udl::quaternion::operator"" _kF;
|
||||
using sprout::udl::quaternion::operator"" _kl;
|
||||
using sprout::udl::quaternion::operator"" _kL;
|
||||
} // namespace sprout
|
||||
|
||||
#endif // #if SPROUT_USE_USER_DEFINED_LITERALS
|
||||
|
||||
#endif // #ifndef SPROUT_MATH_QUATERNION_UDL_HPP
|
Loading…
Add table
Add a link
Reference in a new issue