Program Listing for File utils.h¶
↰ Return to documentation for file (manif/impl/utils.h
)
#ifndef _MANIF_MANIF_UTILS_H_
#define _MANIF_MANIF_UTILS_H_
#include "manif/constants.h"
namespace manif {
template <typename T>
T pi2pi(T angle)
{
while (angle > T(MANIF_PI)) angle -= T(2. * MANIF_PI);
while (angle <= T(-MANIF_PI)) angle += T(2. * MANIF_PI);
return angle;
}
template<typename T>
constexpr T toRad(const T deg)
{
return deg * Constants<T>::to_rad;
}
template<typename T>
constexpr T toDeg(const T rad)
{
return rad * Constants<T>::to_deg;
}
template <typename T>
constexpr T approxSqrtInv(const T x)
{
return (T(15) / T(8)) - (T(5) / T(4)) * x + (T(3) / T(8)) * x * x;
}
} /* namespace manif */
#endif /* _MANIF_MANIF_UTILS_H_ */