mirror of
https://github.com/g-truc/glm.git
synced 2024-11-23 09:14:34 +00:00
Merge branch '0.9.8'
This commit is contained in:
commit
48ab7db993
@ -368,6 +368,29 @@ namespace glm
|
|||||||
/// @see gtc_quaternion
|
/// @see gtc_quaternion
|
||||||
template <typename T, precision P>
|
template <typename T, precision P>
|
||||||
GLM_FUNC_DECL tvec4<bool, P> notEqual(tquat<T, P> const & x, tquat<T, P> const & y);
|
GLM_FUNC_DECL tvec4<bool, P> notEqual(tquat<T, P> const & x, tquat<T, P> const & y);
|
||||||
|
|
||||||
|
/// Returns true if x holds a NaN (not a number)
|
||||||
|
/// representation in the underlying implementation's set of
|
||||||
|
/// floating point representations. Returns false otherwise,
|
||||||
|
/// including for implementations with no NaN
|
||||||
|
/// representations.
|
||||||
|
///
|
||||||
|
/// /!\ When using compiler fast math, this function may fail.
|
||||||
|
///
|
||||||
|
/// @tparam genType Floating-point scalar or vector types.
|
||||||
|
template <typename T, precision P>
|
||||||
|
GLM_FUNC_DECL tvec4<bool, P> isnan(tquat<T, P> const & x);
|
||||||
|
|
||||||
|
/// Returns true if x holds a positive infinity or negative
|
||||||
|
/// infinity representation in the underlying implementation's
|
||||||
|
/// set of floating point representations. Returns false
|
||||||
|
/// otherwise, including for implementations with no infinity
|
||||||
|
/// representations.
|
||||||
|
///
|
||||||
|
/// @tparam genType Floating-point scalar or vector types.
|
||||||
|
template <typename T, precision P>
|
||||||
|
GLM_FUNC_DECL tvec4<bool, P> isinf(tquat<T, P> const & x);
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
} //namespace glm
|
} //namespace glm
|
||||||
|
|
||||||
|
@ -777,6 +777,22 @@ namespace detail
|
|||||||
Result[i] = x[i] != y[i];
|
Result[i] = x[i] != y[i];
|
||||||
return Result;
|
return Result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <typename T, precision P>
|
||||||
|
GLM_FUNC_QUALIFIER tvec4<bool, P> isnan(tquat<T, P> const& q)
|
||||||
|
{
|
||||||
|
GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559, "'isnan' only accept floating-point inputs");
|
||||||
|
|
||||||
|
return tvec4<bool, P>(isnan(q.x), isnan(q.y), isnan(q.z), isnan(q.w));
|
||||||
|
}
|
||||||
|
|
||||||
|
template <typename T, precision P>
|
||||||
|
GLM_FUNC_QUALIFIER tvec4<bool, P> isinf(tquat<T, P> const& q)
|
||||||
|
{
|
||||||
|
GLM_STATIC_ASSERT(std::numeric_limits<T>::is_iec559, "'isinf' only accept floating-point inputs");
|
||||||
|
|
||||||
|
return tvec4<bool, P>(isinf(q.x), isinf(q.y), isinf(q.z), isinf(q.w));
|
||||||
|
}
|
||||||
}//namespace glm
|
}//namespace glm
|
||||||
|
|
||||||
#if GLM_ARCH != GLM_ARCH_PURE && GLM_HAS_UNRESTRICTED_UNIONS
|
#if GLM_ARCH != GLM_ARCH_PURE && GLM_HAS_UNRESTRICTED_UNIONS
|
||||||
|
@ -78,6 +78,7 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate)
|
|||||||
- Added 'aligned' qualifiers
|
- Added 'aligned' qualifiers
|
||||||
- Added GTC_type_aligned with aligned *vec* types
|
- Added GTC_type_aligned with aligned *vec* types
|
||||||
- Added GTC_functions extension
|
- Added GTC_functions extension
|
||||||
|
- Added quaternion version of isnan and isinf #521
|
||||||
|
|
||||||
##### Improvements:
|
##### Improvements:
|
||||||
- Improved SIMD and swizzle operators interactions with GCC and Clang #474
|
- Improved SIMD and swizzle operators interactions with GCC and Clang #474
|
||||||
@ -108,6 +109,7 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate)
|
|||||||
- Deprecated GLM_GTX_simd_mat4 extension
|
- Deprecated GLM_GTX_simd_mat4 extension
|
||||||
- Deprecated GLM_GTX_simd_quat extension
|
- Deprecated GLM_GTX_simd_quat extension
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
#### [GLM 0.9.7.6](https://github.com/g-truc/glm/releases/tag/0.9.7.6) - 2016-07-16
|
#### [GLM 0.9.7.6](https://github.com/g-truc/glm/releases/tag/0.9.7.6) - 2016-07-16
|
||||||
##### Improvements:
|
##### Improvements:
|
||||||
- Added pkg-config file #509
|
- Added pkg-config file #509
|
||||||
@ -120,6 +122,7 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate)
|
|||||||
- Fixed long long warnings when using C++98 on GCC and Clang #482
|
- Fixed long long warnings when using C++98 on GCC and Clang #482
|
||||||
- Fixed scalar reciprocal functions (GTC_reciprocal) #520
|
- Fixed scalar reciprocal functions (GTC_reciprocal) #520
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
#### [GLM 0.9.7.5](https://github.com/g-truc/glm/releases/tag/0.9.7.5) - 2016-05-24
|
#### [GLM 0.9.7.5](https://github.com/g-truc/glm/releases/tag/0.9.7.5) - 2016-05-24
|
||||||
##### Improvements:
|
##### Improvements:
|
||||||
- Added Visual C++ Clang toolset detection
|
- Added Visual C++ Clang toolset detection
|
||||||
@ -133,6 +136,7 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate)
|
|||||||
- Fixed GTX_extended_min_max filename typo #386
|
- Fixed GTX_extended_min_max filename typo #386
|
||||||
- Fixed intersectRayTriangle to not do any unintentional backface culling
|
- Fixed intersectRayTriangle to not do any unintentional backface culling
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
#### [GLM 0.9.7.4](https://github.com/g-truc/glm/releases/tag/0.9.7.4) - 2016-03-19
|
#### [GLM 0.9.7.4](https://github.com/g-truc/glm/releases/tag/0.9.7.4) - 2016-03-19
|
||||||
##### Fixes:
|
##### Fixes:
|
||||||
- Fixed asinh and atanh warning with C++98 STL #484
|
- Fixed asinh and atanh warning with C++98 STL #484
|
||||||
@ -143,6 +147,7 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate)
|
|||||||
- Fixed missing GLM_PLATFORM_CYGWIN declaration #495
|
- Fixed missing GLM_PLATFORM_CYGWIN declaration #495
|
||||||
- Fixed various undefined reference errors #490
|
- Fixed various undefined reference errors #490
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
#### [GLM 0.9.7.3](https://github.com/g-truc/glm/releases/tag/0.9.7.3) - 2016-02-21
|
#### [GLM 0.9.7.3](https://github.com/g-truc/glm/releases/tag/0.9.7.3) - 2016-02-21
|
||||||
##### Improvements:
|
##### Improvements:
|
||||||
- Added AVX512 detection
|
- Added AVX512 detection
|
||||||
@ -153,6 +158,7 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate)
|
|||||||
- Fixed Clang build on Windows #479
|
- Fixed Clang build on Windows #479
|
||||||
- Fixed 64 bits constants warnings on GCC #463
|
- Fixed 64 bits constants warnings on GCC #463
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
#### [GLM 0.9.7.2](https://github.com/g-truc/glm/releases/tag/0.9.7.2) - 2016-01-03
|
#### [GLM 0.9.7.2](https://github.com/g-truc/glm/releases/tag/0.9.7.2) - 2016-01-03
|
||||||
##### Fixes:
|
##### Fixes:
|
||||||
- Fixed GTC_round floorMultiple/ceilMultiple #412
|
- Fixed GTC_round floorMultiple/ceilMultiple #412
|
||||||
@ -166,6 +172,7 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate)
|
|||||||
- Fixed missing unary + operator #435
|
- Fixed missing unary + operator #435
|
||||||
- Fixed Cygwin build errors when using C++11 #405
|
- Fixed Cygwin build errors when using C++11 #405
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
#### [GLM 0.9.7.1](https://github.com/g-truc/glm/releases/tag/0.9.7.1) - 2015-09-07
|
#### [GLM 0.9.7.1](https://github.com/g-truc/glm/releases/tag/0.9.7.1) - 2015-09-07
|
||||||
##### Improvements:
|
##### Improvements:
|
||||||
- Improved constexpr for constant functions coverage #198
|
- Improved constexpr for constant functions coverage #198
|
||||||
@ -182,6 +189,7 @@ glm::mat4 camera(float Translate, glm::vec2 const & Rotate)
|
|||||||
- Fixed builtin bitscan never being used #392
|
- Fixed builtin bitscan never being used #392
|
||||||
- Removed unused func_noise.* files #398
|
- Removed unused func_noise.* files #398
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
#### [GLM 0.9.7.0](https://github.com/g-truc/glm/releases/tag/0.9.7.0) - 2015-08-02
|
#### [GLM 0.9.7.0](https://github.com/g-truc/glm/releases/tag/0.9.7.0) - 2015-08-02
|
||||||
##### Features:
|
##### Features:
|
||||||
- Added GTC_color_space: convertLinearToSRGB and convertSRGBToLinear functions
|
- Added GTC_color_space: convertLinearToSRGB and convertSRGBToLinear functions
|
||||||
|
@ -1212,7 +1212,7 @@ int main()
|
|||||||
glm::int32 const c(1);
|
glm::int32 const c(1);
|
||||||
glm::int32 const d = ~c;
|
glm::int32 const d = ~c;
|
||||||
|
|
||||||
# if GLM_ARCH & GLM_ARCH_AVX_BIT
|
# if GLM_ARCH & GLM_ARCH_AVX_BIT && GLM_HAS_UNRESTRICTED_UNIONS
|
||||||
glm_vec4 const A = _mm_set_ps(4, 3, 2, 1);
|
glm_vec4 const A = _mm_set_ps(4, 3, 2, 1);
|
||||||
glm_vec4 const B = glm_vec4_swizzle_xyzw(A);
|
glm_vec4 const B = glm_vec4_swizzle_xyzw(A);
|
||||||
glm_vec4 const C = _mm_permute_ps(A, _MM_SHUFFLE(3, 2, 1, 0));
|
glm_vec4 const C = _mm_permute_ps(A, _MM_SHUFFLE(3, 2, 1, 0));
|
||||||
|
Loading…
Reference in New Issue
Block a user