Merge branch 'master' into GTC_integer

This commit is contained in:
Christophe Riccio 2014-11-20 23:39:07 +01:00
commit 883d328fb8
3 changed files with 6 additions and 12 deletions

View File

@ -151,22 +151,15 @@ namespace detail
} }
// sign // sign
//Try something like based on x >> 31 to get the sign bit // fast and works for any type
template <typename genFIType> template <typename genFIType>
GLM_FUNC_QUALIFIER genFIType sign(genFIType x) GLM_FUNC_QUALIFIER genFIType sign(genFIType x)
{ {
GLM_STATIC_ASSERT( GLM_STATIC_ASSERT(
std::numeric_limits<genFIType>::is_iec559 || std::numeric_limits<genFIType>::is_iec559 ||
(std::numeric_limits<genFIType>::is_signed && std::numeric_limits<genFIType>::is_integer), "'sign' only accept signed inputs"); (std::numeric_limits<genFIType>::is_signed && std::numeric_limits<genFIType>::is_integer), "'sign' only accept signed inputs");
genFIType result; return genFIType(genFIType(0) < x) - (x < genFIType(0));
if(x > genFIType(0))
result = genFIType(1);
else if(x < genFIType(0))
result = genFIType(-1);
else
result = genFIType(0);
return result;
} }
template <typename T, precision P, template <typename, precision> class vecType> template <typename T, precision P, template <typename, precision> class vecType>

View File

@ -213,8 +213,8 @@ namespace glm
T zFar T zFar
) )
{ {
assert(aspect != static_cast<T>(0)); assert(abs(aspect - std::numeric_limits<T>::epsilon()) > static_cast<T>(0));
assert(zFar != zNear); assert(zFar > zNear);
T const tanHalfFovy = tan(fovy / static_cast<T>(2)); T const tanHalfFovy = tan(fovy / static_cast<T>(2));

View File

@ -84,6 +84,7 @@ Fixes:
- Fixed implicit conversion from another tvec2 type to another tvec2 #241 - Fixed implicit conversion from another tvec2 type to another tvec2 #241
- Fixed lack of consistency of quat and dualquat constructors - Fixed lack of consistency of quat and dualquat constructors
- Fixed uaddCarray #253 - Fixed uaddCarray #253
- Fixed float comparison warnings #270
Deprecation: Deprecation:
- Removed degrees for function parameters - Removed degrees for function parameters