- Finished unit tests for core math library
- Adjusted formatting
This commit is contained in:
@@ -284,28 +284,6 @@ namespace fennec
|
||||
/// @{
|
||||
|
||||
|
||||
// Absolute Value ======================================================================================================
|
||||
|
||||
///
|
||||
/// \brief Returns \f$x\f$ if \f$x \ge 0\f$, otherwise it returns \f$-x\f$
|
||||
///
|
||||
/// \returns \f$x\f$ if \f$x \ge 0\f$, otherwise it returns \f$-x\f$. <br> <br>
|
||||
/// \details We can express this as, <br> <br>
|
||||
/// \f$\text{abs}(x)=\left|x\right|\f$.<br> <br>
|
||||
///
|
||||
/// \param x input value
|
||||
template<typename genType>
|
||||
constexpr genType abs(genType x)
|
||||
{ return ::abs(x); }
|
||||
|
||||
|
||||
// Vector Specializations ----------------------------------------------------------------------------------------------
|
||||
|
||||
template<typename genType, size_t...i>
|
||||
constexpr vector<genType, i...> abs(const vector<genType, i...>& x)
|
||||
{ return vector<genType, i...>(fennec::abs(x[i]) ...); }
|
||||
|
||||
|
||||
|
||||
// Sign ================================================================================================================
|
||||
|
||||
@@ -328,6 +306,28 @@ template<typename genType, size_t...i>
|
||||
constexpr vector<genType, i...> sign(const vector<genType, i...>& x)
|
||||
{ return vector<genType, i...>(fennec::sign(x[i]) ...); }
|
||||
|
||||
|
||||
// Absolute Value ======================================================================================================
|
||||
|
||||
///
|
||||
/// \brief Returns \f$x\f$ if \f$x \ge 0\f$, otherwise it returns \f$-x\f$
|
||||
///
|
||||
/// \returns \f$x\f$ if \f$x \ge 0\f$, otherwise it returns \f$-x\f$. <br> <br>
|
||||
/// \details We can express this as, <br> <br>
|
||||
/// \f$\text{abs}(x)=\left|x\right|\f$.<br> <br>
|
||||
///
|
||||
/// \param x input value
|
||||
template<typename genType>
|
||||
constexpr genType abs(genType x)
|
||||
{ return x * fennec::sign(x); }
|
||||
|
||||
|
||||
// Vector Specializations ----------------------------------------------------------------------------------------------
|
||||
|
||||
template<typename genType, size_t...i>
|
||||
constexpr vector<genType, i...> abs(const vector<genType, i...>& x)
|
||||
{ return vector<genType, i...>(fennec::abs(x[i]) ...); }
|
||||
|
||||
/// @}
|
||||
|
||||
|
||||
@@ -776,6 +776,10 @@ constexpr genType min(genType x, genType y)
|
||||
|
||||
// Vector Specializations ----------------------------------------------------------------------------------------------
|
||||
|
||||
template<typename genType, size_t...i>
|
||||
constexpr vector<genType, i...> min(genType x, const vector<genType, i...>& y)
|
||||
{ return vector<genType, i...>(fennec::min(x, y[i]) ...); }
|
||||
|
||||
template<typename genType, size_t...i>
|
||||
constexpr vector<genType, i...> min(const vector<genType, i...>& x, genType y)
|
||||
{ return vector<genType, i...>(fennec::min(x[i], y) ...); }
|
||||
@@ -804,6 +808,10 @@ constexpr genType max(genType x, genType y)
|
||||
|
||||
// Vector Specializations ----------------------------------------------------------------------------------------------
|
||||
|
||||
template<typename genType, size_t...i>
|
||||
constexpr vector<genType, i...> max(genType x, const vector<genType, i...>& y)
|
||||
{ return vector<genType, i...>(fennec::max(x, y[i]) ...); }
|
||||
|
||||
template<typename genType, size_t...i>
|
||||
constexpr vector<genType, i...> max(const vector<genType, i...>& x, genType y)
|
||||
{ return vector<genType, i...>(fennec::max(x[i], y) ...); }
|
||||
|
||||
Reference in New Issue
Block a user