diff --git a/glm/common.hpp b/glm/common.hpp
index fa5a5088..89722845 100644
--- a/glm/common.hpp
+++ b/glm/common.hpp
@@ -1,11 +1,11 @@
/// @ref core
/// @file glm/common.hpp
-///
+///
/// @see GLSL 4.20.8 specification, section 8.3 Common Functions
///
/// @defgroup core_func_common Common functions
/// @ingroup core
-///
+///
/// Include to use these core features.
///
/// These all operate component-wise. The description is per component.
@@ -23,9 +23,9 @@ namespace glm
/// @{
/// Returns x if x >= 0; otherwise, it returns -x.
- ///
+ ///
/// @tparam genType floating-point or signed integer; scalar or vector types.
- ///
+ ///
/// @see GLSL abs man page
/// @see GLSL 4.20.8 specification, section 8.3 Common Functions
/// @see qualifier
@@ -37,13 +37,13 @@ namespace glm
/// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector
/// @tparam T Floating-point or signed integer scalar types
/// @tparam Q Value from qualifier enum
- ///
+ ///
/// @see GLSL abs man page
/// @see GLSL 4.20.8 specification, section 8.3 Common Functions
template
GLM_FUNC_DECL vec abs(vec const& x);
- /// Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0.
+ /// Returns 1.0 if x > 0, 0.0 if x == 0, or -1.0 if x < 0.
///
/// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector
/// @tparam T Floating-point scalar types
@@ -54,7 +54,7 @@ namespace glm
template
GLM_FUNC_DECL vec sign(vec const& x);
- /// Returns a value equal to the nearest integer that is less then or equal to x.
+ /// Returns a value equal to the nearest integer that is less then or equal to x.
///
/// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector
/// @tparam T Floating-point scalar types
@@ -119,7 +119,7 @@ namespace glm
GLM_FUNC_DECL vec ceil(vec const& x);
/// Return x - floor(x).
- ///
+ ///
/// @tparam genType Floating-point scalar or vector types.
///
/// @see GLSL fract man page
@@ -160,7 +160,7 @@ namespace glm
/// part (as a whole number floating point value). Both the
/// return value and the output parameter will have the same
/// sign as x.
- ///
+ ///
/// @tparam genType Floating-point scalar or vector types.
///
/// @see GLSL modf man page
@@ -171,7 +171,7 @@ namespace glm
/// Returns y if y < x; otherwise, it returns x.
///
/// @tparam genType Floating-point or integer; scalar or vector types.
- ///
+ ///
/// @see GLSL min man page
/// @see GLSL 4.20.8 specification, section 8.3 Common Functions
template
@@ -200,37 +200,37 @@ namespace glm
GLM_FUNC_DECL vec min(vec const& x, vec const& y);
/// Returns y if x < y; otherwise, it returns x.
- ///
+ ///
/// @tparam genType Floating-point or integer; scalar or vector types.
- ///
+ ///
/// @see GLSL max man page
/// @see GLSL 4.20.8 specification, section 8.3 Common Functions
template
GLM_FUNC_DECL genType max(genType x, genType y);
/// Returns y if x < y; otherwise, it returns x.
- ///
+ ///
/// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector
/// @tparam T Floating-point or integer scalar types
/// @tparam Q Value from qualifier enum
- ///
+ ///
/// @see GLSL max man page
/// @see GLSL 4.20.8 specification, section 8.3 Common Functions
template
GLM_FUNC_DECL vec max(vec const& x, T y);
/// Returns y if x < y; otherwise, it returns x.
- ///
+ ///
/// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector
/// @tparam T Floating-point or integer scalar types
/// @tparam Q Value from qualifier enum
- ///
+ ///
/// @see GLSL max man page
/// @see GLSL 4.20.8 specification, section 8.3 Common Functions
template
GLM_FUNC_DECL vec max(vec const& x, vec const& y);
- /// Returns min(max(x, minVal), maxVal) for each component in x
+ /// Returns min(max(x, minVal), maxVal) for each component in x
/// using the floating-point values minVal and maxVal.
///
/// @tparam genType Floating-point or integer; scalar or vector types.
@@ -240,7 +240,7 @@ namespace glm
template
GLM_FUNC_DECL genType clamp(genType x, genType minVal, genType maxVal);
- /// Returns min(max(x, minVal), maxVal) for each component in x
+ /// Returns min(max(x, minVal), maxVal) for each component in x
/// using the floating-point values minVal and maxVal.
///
/// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector
@@ -252,7 +252,7 @@ namespace glm
template
GLM_FUNC_DECL vec clamp(vec const& x, T minVal, T maxVal);
- /// Returns min(max(x, minVal), maxVal) for each component in x
+ /// Returns min(max(x, minVal), maxVal) for each component in x
/// using the floating-point values minVal and maxVal.
///
/// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector
@@ -268,7 +268,7 @@ namespace glm
/// Returns x * (1.0 - a) + y * a, i.e., the linear blend of
/// x and y using the floating-point value a.
/// The value for a is not restricted to the range [0, 1].
- ///
+ ///
/// If genTypeU is a boolean scalar or vector:
/// Selects which vector each returned component comes
/// from. For a component of 'a' that is false, the
@@ -280,17 +280,17 @@ namespace glm
/// provides different functionality than
/// genType mix(genType x, genType y, genType(a))
/// where a is a Boolean vector.
- ///
+ ///
/// @see GLSL mix man page
/// @see GLSL 4.20.8 specification, section 8.3 Common Functions
- ///
+ ///
/// @param[in] x Value to interpolate.
/// @param[in] y Value to interpolate.
/// @param[in] a Interpolant.
- ///
+ ///
/// @tparam genTypeT Floating point scalar or vector.
/// @tparam genTypeU Floating point or boolean scalar or vector. It can't be a vector if it is the length of genTypeT.
- ///
+ ///
/// @code
/// #include
/// ...
@@ -301,7 +301,7 @@ namespace glm
/// glm::vec4 g;
/// glm::vec4 h;
/// ...
- /// glm::vec4 r = glm::mix(g, h, a); // Interpolate with a floating-point scalar two vectors.
+ /// glm::vec4 r = glm::mix(g, h, a); // Interpolate with a floating-point scalar two vectors.
/// glm::vec4 s = glm::mix(g, h, b); // Returns g or h;
/// glm::dvec3 t = glm::mix(e, f, a); // Types of the third parameter is not required to match with the first and the second.
/// glm::vec4 u = glm::mix(g, h, r); // Interpolations can be perform per component with a vector for the last parameter.
@@ -316,29 +316,29 @@ namespace glm
GLM_FUNC_DECL vec mix(vec const& x, vec const& y, U a);
/// Returns 0.0 if x < edge, otherwise it returns 1.0 for each component of a genType.
- ///
+ ///
/// @see GLSL step man page
/// @see GLSL 4.20.8 specification, section 8.3 Common Functions
template
GLM_FUNC_DECL genType step(genType edge, genType x);
/// Returns 0.0 if x < edge, otherwise it returns 1.0.
- ///
+ ///
/// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector
/// @tparam T Floating-point scalar types
/// @tparam Q Value from qualifier enum
- ///
+ ///
/// @see GLSL step man page
/// @see GLSL 4.20.8 specification, section 8.3 Common Functions
template
GLM_FUNC_DECL vec step(T edge, vec const& x);
/// Returns 0.0 if x < edge, otherwise it returns 1.0.
- ///
+ ///
/// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector
/// @tparam T Floating-point scalar types
/// @tparam Q Value from qualifier enum
- ///
+ ///
/// @see GLSL step man page
/// @see GLSL 4.20.8 specification, section 8.3 Common Functions
template
@@ -355,7 +355,7 @@ namespace glm
/// Results are undefined if edge0 >= edge1.
///
/// @tparam genType Floating-point scalar or vector types.
- ///
+ ///
/// @see GLSL smoothstep man page
/// @see GLSL 4.20.8 specification, section 8.3 Common Functions
template
@@ -372,9 +372,9 @@ namespace glm
/// floating point representations. Returns false otherwise,
/// including for implementations with no NaN
/// representations.
- ///
+ ///
/// /!\ When using compiler fast math, this function may fail.
- ///
+ ///
/// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector
/// @tparam T Floating-point scalar types
/// @tparam Q Value from qualifier enum
@@ -389,11 +389,11 @@ namespace glm
/// set of floating point representations. Returns false
/// otherwise, including for implementations with no infinity
/// representations.
- ///
+ ///
/// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector
/// @tparam T Floating-point scalar types
/// @tparam Q Value from qualifier enum
- ///
+ ///
/// @see GLSL isinf man page
/// @see GLSL 4.20.8 specification, section 8.3 Common Functions
template
@@ -402,7 +402,7 @@ namespace glm
/// Returns a signed integer value representing
/// the encoding of a floating-point value. The floating-point
/// value's bit-level representation is preserved.
- ///
+ ///
/// @see GLSL floatBitsToInt man page
/// @see GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL int floatBitsToInt(float const& v);
@@ -410,10 +410,10 @@ namespace glm
/// Returns a signed integer value representing
/// the encoding of a floating-point value. The floatingpoint
/// value's bit-level representation is preserved.
- ///
+ ///
/// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector
/// @tparam Q Value from qualifier enum
- ///
+ ///
/// @see GLSL floatBitsToInt man page
/// @see GLSL 4.20.8 specification, section 8.3 Common Functions
template
@@ -422,7 +422,7 @@ namespace glm
/// Returns a unsigned integer value representing
/// the encoding of a floating-point value. The floatingpoint
/// value's bit-level representation is preserved.
- ///
+ ///
/// @see GLSL floatBitsToUint man page
/// @see GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL uint floatBitsToUint(float const& v);
@@ -444,7 +444,7 @@ namespace glm
/// If an inf or NaN is passed in, it will not signal, and the
/// resulting floating point value is unspecified. Otherwise,
/// the bit-level representation is preserved.
- ///
+ ///
/// @see GLSL intBitsToFloat man page
/// @see GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL float intBitsToFloat(int const& v);
@@ -454,10 +454,10 @@ namespace glm
/// If an inf or NaN is passed in, it will not signal, and the
/// resulting floating point value is unspecified. Otherwise,
/// the bit-level representation is preserved.
- ///
+ ///
/// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector
/// @tparam Q Value from qualifier enum
- ///
+ ///
/// @see GLSL intBitsToFloat man page
/// @see GLSL 4.20.8 specification, section 8.3 Common Functions
template
@@ -468,7 +468,7 @@ namespace glm
/// If an inf or NaN is passed in, it will not signal, and the
/// resulting floating point value is unspecified. Otherwise,
/// the bit-level representation is preserved.
- ///
+ ///
/// @see GLSL uintBitsToFloat man page
/// @see GLSL 4.20.8 specification, section 8.3 Common Functions
GLM_FUNC_DECL float uintBitsToFloat(uint const& v);
@@ -478,19 +478,19 @@ namespace glm
/// If an inf or NaN is passed in, it will not signal, and the
/// resulting floating point value is unspecified. Otherwise,
/// the bit-level representation is preserved.
- ///
+ ///
/// @tparam L Integer between 1 and 4 included that qualify the dimension of the vector
/// @tparam Q Value from qualifier enum
- ///
+ ///
/// @see GLSL uintBitsToFloat man page
/// @see GLSL 4.20.8 specification, section 8.3 Common Functions
template
GLM_FUNC_DECL vec uintBitsToFloat(vec const& v);
/// Computes and returns a * b + c.
- ///
+ ///
/// @tparam genType Floating-point scalar or vector types.
- ///
+ ///
/// @see GLSL fma man page
/// @see GLSL 4.20.8 specification, section 8.3 Common Functions
template
@@ -499,15 +499,15 @@ namespace glm
/// Splits x into a floating-point significand in the range
/// [0.5, 1.0) and an integral exponent of two, such that:
/// x = significand * exp(2, exponent)
- ///
+ ///
/// The significand is returned by the function and the
/// exponent is returned in the parameter exp. For a
/// floating-point value of zero, the significant and exponent
/// are both zero. For a floating-point value that is an
/// infinity or is not a number, the results are undefined.
- ///
+ ///
/// @tparam genType Floating-point scalar or vector types.
- ///
+ ///
/// @see GLSL frexp man page
/// @see GLSL 4.20.8 specification, section 8.3 Common Functions
template
@@ -516,13 +516,13 @@ namespace glm
/// Builds a floating-point number from x and the
/// corresponding integral exponent of two in exp, returning:
/// significand * exp(2, exponent)
- ///
+ ///
/// If this product is too large to be represented in the
/// floating-point type, the result is undefined.
- ///
+ ///
/// @tparam genType Floating-point scalar or vector types.
- ///
- /// @see GLSL ldexp man page;
+ ///
+ /// @see GLSL ldexp man page;
/// @see GLSL 4.20.8 specification, section 8.3 Common Functions
template
GLM_FUNC_DECL genType ldexp(genType const& x, genIType const& exp);
diff --git a/glm/detail/_features.hpp b/glm/detail/_features.hpp
index 96deb47e..cee12722 100644
--- a/glm/detail/_features.hpp
+++ b/glm/detail/_features.hpp
@@ -26,7 +26,7 @@
// Variadic templates - GCC 4.3
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2242.pdf
-//
+//
// Extending variadic template template parameters - GCC 4.4
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2555.pdf
@@ -34,7 +34,7 @@
// Initializer lists - GCC 4.4
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2672.htm
-// #define GLM_CXX11_STATIC_ASSERT
+// #define GLM_CXX11_STATIC_ASSERT
// Static assertions - GCC 4.3
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1720.html
@@ -62,15 +62,15 @@
// Declared type of an expression - GCC 4.3
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2343.pdf
-//
+//
// Right angle brackets - GCC 4.3
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1757.html
-//
+//
// Default template arguments for function templates DR226 GCC 4.3
// http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#226
-//
+//
// Solving the SFINAE problem for expressions DR339 GCC 4.4
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2634.html
@@ -78,7 +78,7 @@
// Template aliases N2258 GCC 4.7
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2258.pdf
-//
+//
// Extern templates N1987 Yes
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1987.htm
@@ -90,19 +90,19 @@
// Strongly-typed enums N2347 GCC 4.4
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf
-//
+//
// Forward declarations for enums N2764 GCC 4.6
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2764.pdf
-//
+//
// Generalized attributes N2761 GCC 4.8
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2761.pdf
-//
+//
// Generalized constant expressions N2235 GCC 4.6
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2235.pdf
-//
+//
// Alignment support N2341 GCC 4.8
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2341.pdf
@@ -110,7 +110,7 @@
// Delegating constructors N1986 GCC 4.7
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1986.pdf
-//
+//
// Inheriting constructors N2540 GCC 4.8
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2540.htm
@@ -118,19 +118,19 @@
// Explicit conversion operators N2437 GCC 4.5
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2437.pdf
-//
+//
// New character types N2249 GCC 4.4
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2249.html
-//
+//
// Unicode string literals N2442 GCC 4.5
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm
-//
+//
// Raw string literals N2442 GCC 4.5
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm
-//
+//
// Universal character name literals N2170 GCC 4.5
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2170.html
@@ -138,7 +138,7 @@
// User-defined literals N2765 GCC 4.7
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2765.pdf
-//
+//
// Standard Layout Types N2342 GCC 4.5
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2342.htm
@@ -147,11 +147,11 @@
// Defaulted and deleted functions N2346 GCC 4.4
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2346.htm
-//
+//
// Extended friend declarations N1791 GCC 4.7
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1791.pdf
-//
+//
// Extending sizeof N2253 GCC 4.4
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2253.html
@@ -177,7 +177,7 @@
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3206.htm
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3272.htm
-//
+//
// Minimal support for garbage collection and reachability-based leak detection N2670 No
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2670.htm
@@ -185,67 +185,67 @@
// Allowing move constructors to throw [noexcept] N3050 GCC 4.6 (core language only)
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3050.html
-//
+//
// Defining move special member functions N3053 GCC 4.6
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3053.html
-//
+//
// Sequence points N2239 Yes
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2239.html
-//
+//
// Atomic operations N2427 GCC 4.4
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2239.html
-//
+//
// Strong Compare and Exchange N2748 GCC 4.5
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2427.html
-//
+//
// Bidirectional Fences N2752 GCC 4.8
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2752.htm
-//
+//
// Memory model N2429 GCC 4.8
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2429.htm
-//
+//
// Data-dependency ordering: atomics and memory model N2664 GCC 4.4
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2664.htm
-//
+//
// Propagating exceptions N2179 GCC 4.4
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html
-//
+//
// Abandoning a process and at_quick_exit N2440 GCC 4.8
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2440.htm
-//
+//
// Allow atomics use in signal handlers N2547 Yes
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2547.htm
-//
+//
// Thread-local storage N2659 GCC 4.8
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2659.htm
-//
+//
// Dynamic initialization and destruction with concurrency N2660 GCC 4.3
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2660.htm
-//
+//
// __func__ predefined identifier N2340 GCC 4.3
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2340.htm
-//
+//
// C99 preprocessor N1653 GCC 4.3
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1653.htm
-//
+//
// long long N1811 GCC 4.3
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1811.pdf
-//
+//
// Extended integral types N1988 Yes
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n1988.pdf
diff --git a/glm/detail/_noise.hpp b/glm/detail/_noise.hpp
index 43ac488a..946148ce 100644
--- a/glm/detail/_noise.hpp
+++ b/glm/detail/_noise.hpp
@@ -28,13 +28,13 @@ namespace detail
{
return mod289(((x * static_cast(34)) + static_cast(1)) * x);
}
-
+
template
GLM_FUNC_QUALIFIER vec<3, T, Q> permute(vec<3, T, Q> const& x)
{
return mod289(((x * static_cast(34)) + static_cast(1)) * x);
}
-
+
template
GLM_FUNC_QUALIFIER vec<4, T, Q> permute(vec<4, T, Q> const& x)
{
@@ -46,19 +46,19 @@ namespace detail
{
return T(1.79284291400159) - T(0.85373472095314) * r;
}
-
+
template
GLM_FUNC_QUALIFIER vec<2, T, Q> taylorInvSqrt(vec<2, T, Q> const& r)
{
return T(1.79284291400159) - T(0.85373472095314) * r;
}
-
+
template
GLM_FUNC_QUALIFIER vec<3, T, Q> taylorInvSqrt(vec<3, T, Q> const& r)
{
return T(1.79284291400159) - T(0.85373472095314) * r;
}
-
+
template
GLM_FUNC_QUALIFIER vec<4, T, Q> taylorInvSqrt(vec<4, T, Q> const& r)
{
@@ -70,13 +70,13 @@ namespace detail
{
return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));
}
-
+
template
GLM_FUNC_QUALIFIER vec<3, T, Q> fade(vec<3, T, Q> const& t)
{
return (t * t * t) * (t * (t * T(6) - T(15)) + T(10));
}
-
+
template
GLM_FUNC_QUALIFIER vec<4, T, Q> fade(vec<4, T, Q> const& t)
{
diff --git a/glm/detail/_swizzle.hpp b/glm/detail/_swizzle.hpp
index 6e501886..2609e797 100644
--- a/glm/detail/_swizzle.hpp
+++ b/glm/detail/_swizzle.hpp
@@ -16,7 +16,7 @@ namespace detail
// Use an opaque buffer to *ensure* the compiler doesn't call a constructor.
// The size 1 buffer is assumed to aligned to the actual members so that the
- // elem()
+ // elem()
char _buffer[1];
};
@@ -39,7 +39,7 @@ namespace detail
template
struct _swizzle_base1<4, T, Q, E0,E1,E2,E3, Aligned> : public _swizzle_base0
- {
+ {
GLM_FUNC_QUALIFIER vec<4, T, Q> operator ()() const { return vec<4, T, Q>(this->elem(E0), this->elem(E1), this->elem(E2), this->elem(E3)); }
};
@@ -52,7 +52,7 @@ namespace detail
E0...3 = what index the n-th element of this swizzle refers to in the unswizzled vec
DUPLICATE_ELEMENTS = 1 if there is a repeated element, 0 otherwise (used to specialize swizzles
- containing duplicate elements so that they cannot be used as r-values).
+ containing duplicate elements so that they cannot be used as r-values).
*/
template
struct _swizzle_base2 : public _swizzle_base1::value>
@@ -66,8 +66,8 @@ namespace detail
GLM_FUNC_QUALIFIER _swizzle_base2& operator= (vec const& that)
{
- struct op {
- GLM_FUNC_QUALIFIER void operator() (T& e, T& t) { e = t; }
+ struct op {
+ GLM_FUNC_QUALIFIER void operator() (T& e, T& t) { e = t; }
};
_apply_op(that, op());
return *this;
@@ -75,32 +75,32 @@ namespace detail
GLM_FUNC_QUALIFIER void operator -= (vec const& that)
{
- struct op {
- GLM_FUNC_QUALIFIER void operator() (T& e, T& t) { e -= t; }
+ struct op {
+ GLM_FUNC_QUALIFIER void operator() (T& e, T& t) { e -= t; }
};
_apply_op(that, op());
}
GLM_FUNC_QUALIFIER void operator += (vec const& that)
{
- struct op {
- GLM_FUNC_QUALIFIER void operator() (T& e, T& t) { e += t; }
+ struct op {
+ GLM_FUNC_QUALIFIER void operator() (T& e, T& t) { e += t; }
};
_apply_op(that, op());
}
GLM_FUNC_QUALIFIER void operator *= (vec const& that)
{
- struct op {
- GLM_FUNC_QUALIFIER void operator() (T& e, T& t) { e *= t; }
+ struct op {
+ GLM_FUNC_QUALIFIER void operator() (T& e, T& t) { e *= t; }
};
_apply_op(that, op());
}
GLM_FUNC_QUALIFIER void operator /= (vec const& that)
{
- struct op {
- GLM_FUNC_QUALIFIER void operator() (T& e, T& t) { e /= t; }
+ struct op {
+ GLM_FUNC_QUALIFIER void operator() (T& e, T& t) { e /= t; }
};
_apply_op(that, op());
}
@@ -232,7 +232,7 @@ namespace detail
GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const V& a, const GLM_SWIZZLE_TYPE1& b) \
{ \
return FUNCTION(a, b()); \
- }
+ }
//
// Macro for wrapping a function take 2 vec arguments followed by a scalar (e.g. mix()).
@@ -257,9 +257,9 @@ namespace detail
GLM_FUNC_QUALIFIER typename GLM_SWIZZLE_TYPE1::RETURN_TYPE FUNCTION(const typename V& a, const GLM_SWIZZLE_TYPE1& b, const T& c) \
{ \
return FUNCTION(a, b(), c); \
- }
-
-}//namespace detail
+ }
+
+}//namespace detail
}//namespace glm
namespace glm
@@ -292,7 +292,7 @@ namespace glm
//GLM_SWIZZLE_FUNCTION_2_ARGS(value_type, dot);
//GLM_SWIZZLE_FUNCTION_2_ARGS(vec_type, cross);
- //GLM_SWIZZLE_FUNCTION_2_ARGS(vec_type, step);
+ //GLM_SWIZZLE_FUNCTION_2_ARGS(vec_type, step);
//GLM_SWIZZLE_FUNCTION_2_ARGS_SCALAR(vec_type, mix);
}
@@ -300,7 +300,7 @@ namespace glm
struct { detail::_swizzle<2, T, Q, 0,0,-1,-2> E0 ## E0; }; \
struct { detail::_swizzle<2, T, Q, 0,1,-1,-2> E0 ## E1; }; \
struct { detail::_swizzle<2, T, Q, 1,0,-1,-2> E1 ## E0; }; \
- struct { detail::_swizzle<2, T, Q, 1,1,-1,-2> E1 ## E1; };
+ struct { detail::_swizzle<2, T, Q, 1,1,-1,-2> E1 ## E1; };
#define GLM_SWIZZLE2_3_MEMBERS(T, Q, E0,E1) \
struct { detail::_swizzle<3,T, Q, 0,0,0,-1> E0 ## E0 ## E0; }; \
@@ -310,7 +310,7 @@ namespace glm
struct { detail::_swizzle<3,T, Q, 1,0,0,-1> E1 ## E0 ## E0; }; \
struct { detail::_swizzle<3,T, Q, 1,0,1,-1> E1 ## E0 ## E1; }; \
struct { detail::_swizzle<3,T, Q, 1,1,0,-1> E1 ## E1 ## E0; }; \
- struct { detail::_swizzle<3,T, Q, 1,1,1,-1> E1 ## E1 ## E1; };
+ struct { detail::_swizzle<3,T, Q, 1,1,1,-1> E1 ## E1 ## E1; };
#define GLM_SWIZZLE2_4_MEMBERS(T, Q, E0,E1) \
struct { detail::_swizzle<4,T, Q, 0,0,0,0> E0 ## E0 ## E0 ## E0; }; \
@@ -451,7 +451,7 @@ namespace glm
struct { detail::_swizzle<4,T, Q, 2,2,1,2> E2 ## E2 ## E1 ## E2; }; \
struct { detail::_swizzle<4,T, Q, 2,2,2,0> E2 ## E2 ## E2 ## E0; }; \
struct { detail::_swizzle<4,T, Q, 2,2,2,1> E2 ## E2 ## E2 ## E1; }; \
- struct { detail::_swizzle<4,T, Q, 2,2,2,2> E2 ## E2 ## E2 ## E2; };
+ struct { detail::_swizzle<4,T, Q, 2,2,2,2> E2 ## E2 ## E2 ## E2; };
#define GLM_SWIZZLE4_2_MEMBERS(T, Q, E0,E1,E2,E3) \
struct { detail::_swizzle<2,T, Q, 0,0,-1,-2> E0 ## E0; }; \
@@ -469,7 +469,7 @@ namespace glm
struct { detail::_swizzle<2,T, Q, 3,0,-1,-2> E3 ## E0; }; \
struct { detail::_swizzle<2,T, Q, 3,1,-1,-2> E3 ## E1; }; \
struct { detail::_swizzle<2,T, Q, 3,2,-1,-2> E3 ## E2; }; \
- struct { detail::_swizzle<2,T, Q, 3,3,-1,-2> E3 ## E3; };
+ struct { detail::_swizzle<2,T, Q, 3,3,-1,-2> E3 ## E3; };
#define GLM_SWIZZLE4_3_MEMBERS(T, Q, E0,E1,E2,E3) \
struct { detail::_swizzle<3, T, Q, 0,0,0,-1> E0 ## E0 ## E0; }; \
@@ -535,7 +535,7 @@ namespace glm
struct { detail::_swizzle<3, T, Q, 3,3,0,-1> E3 ## E3 ## E0; }; \
struct { detail::_swizzle<3, T, Q, 3,3,1,-1> E3 ## E3 ## E1; }; \
struct { detail::_swizzle<3, T, Q, 3,3,2,-1> E3 ## E3 ## E2; }; \
- struct { detail::_swizzle<3, T, Q, 3,3,3,-1> E3 ## E3 ## E3; };
+ struct { detail::_swizzle<3, T, Q, 3,3,3,-1> E3 ## E3 ## E3; };
#define GLM_SWIZZLE4_4_MEMBERS(T, Q, E0,E1,E2,E3) \
struct { detail::_swizzle<4, T, Q, 0,0,0,0> E0 ## E0 ## E0 ## E0; }; \
diff --git a/glm/detail/dummy.cpp b/glm/detail/dummy.cpp
index 6ab8f036..01e4ba8e 100644
--- a/glm/detail/dummy.cpp
+++ b/glm/detail/dummy.cpp
@@ -1,7 +1,7 @@
/// @ref core
/// @file glm/core/dummy.cpp
///
-/// GLM is a header only library. There is nothing to compile.
+/// GLM is a header only library. There is nothing to compile.
/// dummy.cpp exist only a wordaround for CMake file.
/*
diff --git a/glm/detail/func_common.inl b/glm/detail/func_common.inl
index 37d62125..539c3491 100644
--- a/glm/detail/func_common.inl
+++ b/glm/detail/func_common.inl
@@ -319,13 +319,13 @@ namespace detail
// sign
// fast and works for any type
- template
+ template
GLM_FUNC_QUALIFIER genFIType sign(genFIType x)
{
GLM_STATIC_ASSERT(
std::numeric_limits::is_iec559 || (std::numeric_limits::is_signed && std::numeric_limits::is_integer),
"'sign' only accept signed inputs");
-
+
return detail::compute_sign<1, genFIType, defaultp, std::numeric_limits::is_iec559, highp>::call(vec<1, genFIType>(x)).x;
}
@@ -378,7 +378,7 @@ namespace detail
GLM_FUNC_QUALIFIER genType roundEven(genType x)
{
GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'roundEven' only accept floating-point inputs");
-
+
int Integer = static_cast(x);
genType IntegerPart = static_cast(Integer);
genType FractionalPart = fract(x);
@@ -391,7 +391,7 @@ namespace detail
{
return IntegerPart;
}
- else if(x <= static_cast(0)) // Work around...
+ else if(x <= static_cast(0)) // Work around...
{
return IntegerPart - static_cast(1);
}
@@ -622,7 +622,7 @@ namespace detail
# if GLM_HAS_CXX11_STL
using std::isnan;
# else
- template
+ template
GLM_FUNC_QUALIFIER bool isnan(genType x)
{
GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'isnan' only accept floating-point inputs");
@@ -661,7 +661,7 @@ namespace detail
# if GLM_HAS_CXX11_STL
using std::isinf;
# else
- template
+ template
GLM_FUNC_QUALIFIER bool isinf(genType x)
{
GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'isinf' only accept floating-point inputs");
@@ -775,7 +775,7 @@ namespace detail
{
return reinterpret_cast&>(const_cast&>(v));
}
-
+
template
GLM_FUNC_QUALIFIER genType fma(genType const& a, genType const& b, genType const& c)
{
diff --git a/glm/detail/func_exponential.inl b/glm/detail/func_exponential.inl
index 907989f4..b9626748 100644
--- a/glm/detail/func_exponential.inl
+++ b/glm/detail/func_exponential.inl
@@ -48,7 +48,7 @@ namespace detail
return static_cast(1) / sqrt(x);
}
};
-
+
template
struct compute_inversesqrt
{
@@ -137,7 +137,7 @@ namespace detail
{
return static_cast(1) / sqrt(x);
}
-
+
template
GLM_FUNC_QUALIFIER vec inversesqrt(vec const& x)
{
diff --git a/glm/detail/func_integer_simd.inl b/glm/detail/func_integer_simd.inl
index b1024f72..690671a3 100644
--- a/glm/detail/func_integer_simd.inl
+++ b/glm/detail/func_integer_simd.inl
@@ -22,9 +22,9 @@ namespace detail
__m128i const set2 = _mm_andnot_si128(set0, _mm_set1_epi32(-1));
__m128i const and2 = _mm_and_si128(set0, set2);
__m128i const sft2 = _mm_srai_epi32(and2, Shift);
-
+
__m128i const or0 = _mm_or_si128(sft1, sft2);
-
+
return or0;
}
};
@@ -41,7 +41,7 @@ namespace detail
__m128i const sft0 = _mm_slli_epi32(set0, Shift);
__m128i const and1 = _mm_and_si128(sft0, set1);
__m128i const add0 = _mm_add_epi32(and0, and1);
-
+
return add0;
}
};
diff --git a/glm/detail/func_packing.inl b/glm/detail/func_packing.inl
index ae97adb1..7c22eb9e 100644
--- a/glm/detail/func_packing.inl
+++ b/glm/detail/func_packing.inl
@@ -95,7 +95,7 @@ namespace glm
return vec4(u.out[0], u.out[1], u.out[2], u.out[3]) * 0.0039215686274509803921568627451f;
}
-
+
GLM_FUNC_QUALIFIER uint packSnorm4x8(vec4 const& v)
{
union
@@ -113,7 +113,7 @@ namespace glm
return u.out;
}
-
+
GLM_FUNC_QUALIFIER glm::vec4 unpackSnorm4x8(uint p)
{
union
diff --git a/glm/detail/func_trigonometric.inl b/glm/detail/func_trigonometric.inl
index 00599740..291fccd4 100644
--- a/glm/detail/func_trigonometric.inl
+++ b/glm/detail/func_trigonometric.inl
@@ -21,7 +21,7 @@ namespace glm
{
return detail::functor1::call(radians, v);
}
-
+
// degrees
template
GLM_FUNC_QUALIFIER GLM_CONSTEXPR genType degrees(genType radians)
@@ -155,7 +155,7 @@ namespace glm
# if GLM_HAS_CXX11_STL
using std::acosh;
# else
- template
+ template
GLM_FUNC_QUALIFIER genType acosh(genType x)
{
GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'acosh' only accept floating-point input");
@@ -180,7 +180,7 @@ namespace glm
GLM_FUNC_QUALIFIER genType atanh(genType x)
{
GLM_STATIC_ASSERT(std::numeric_limits::is_iec559, "'atanh' only accept floating-point input");
-
+
if(std::abs(x) >= static_cast(1))
return 0;
return static_cast(0.5) * log((static_cast(1) + x) / (static_cast(1) - x));
diff --git a/glm/detail/setup.hpp b/glm/detail/setup.hpp
index 8969678c..81684419 100644
--- a/glm/detail/setup.hpp
+++ b/glm/detail/setup.hpp
@@ -806,7 +806,7 @@ namespace glm
///////////////////////////////////////////////////////////////////////////////////
// Check inclusions of different versions of GLM
-#elif ((GLM_SETUP_INCLUDED != GLM_VERSION) && !defined(GLM_FORCE_IGNORE_VERSION))
+#elif ((GLM_SETUP_INCLUDED != GLM_VERSION) && !defined(GLM_FORCE_IGNORE_VERSION))
# error "GLM error: A different version of GLM is already included. Define GLM_FORCE_IGNORE_VERSION before including GLM headers to ignore this error."
#elif GLM_SETUP_INCLUDED == GLM_VERSION
diff --git a/glm/detail/type_float.hpp b/glm/detail/type_float.hpp
index 57e5b36e..28abb5f8 100644
--- a/glm/detail/type_float.hpp
+++ b/glm/detail/type_float.hpp
@@ -14,7 +14,7 @@ namespace detail
typedef double float64;
# endif//GLM_FORCE_SINGLE_ONLY
}//namespace detail
-
+
typedef float lowp_float_t;
typedef float mediump_float_t;
typedef double highp_float_t;
@@ -22,23 +22,23 @@ namespace detail
/// @addtogroup core_precision
/// @{
- /// Low qualifier floating-point numbers.
+ /// Low qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
- ///
+ ///
/// @see GLSL 4.20.8 specification, section 4.1.4 Floats
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef lowp_float_t lowp_float;
/// Medium qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
- ///
+ ///
/// @see GLSL 4.20.8 specification, section 4.1.4 Floats
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mediump_float_t mediump_float;
/// High qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
- ///
+ ///
/// @see GLSL 4.20.8 specification, section 4.1.4 Floats
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef highp_float_t highp_float;
diff --git a/glm/detail/type_gentype.hpp b/glm/detail/type_gentype.hpp
index a0730aad..b45cdf47 100644
--- a/glm/detail/type_gentype.hpp
+++ b/glm/detail/type_gentype.hpp
@@ -13,12 +13,12 @@ namespace glm
};
typedef std::size_t sizeType;
-
+
namespace detail
{
template
<
- typename VALTYPE,
+ typename VALTYPE,
template class TYPE
>
struct genType
@@ -35,7 +35,7 @@ namespace detail
typedef sizeType size_type;
static bool is_vector();
static bool is_matrix();
-
+
typedef TYPE type;
typedef TYPE * pointer;
typedef TYPE const * const_pointer;
@@ -64,7 +64,7 @@ namespace detail
template
<
- typename VALTYPE,
+ typename VALTYPE,
template class TYPE
>
bool genType::is_vector()
@@ -97,8 +97,8 @@ namespace detail
static bool is_matrix();
private:
- // Data
- col_type value[colT];
+ // Data
+ col_type value[colT];
public:
//////////////////////////////////////
@@ -135,7 +135,7 @@ namespace detail
class_type& operator-- ();
};
*/
-
+
//template
//struct traits
//{
@@ -147,28 +147,28 @@ namespace detail
// static const bool is_genIType = false;
// static const bool is_genUType = false;
//};
-
+
//template<>
//struct traits
//{
// static const bool is_float = true;
// static const bool is_genType = true;
//};
-
+
//template<>
//struct traits
//{
// static const bool is_float = true;
// static const bool is_genType = true;
//};
-
+
//template<>
//struct traits
//{
// static const bool is_float = true;
// static const bool is_genType = true;
//};
-
+
//template
//struct desc
//{
@@ -180,15 +180,15 @@ namespace detail
// typedef genType & reference;
// typedef genType const& const_reference;
// typedef genType const& param_type;
-
+
// typedef typename genType::value_type value_type;
// typedef typename genType::size_type size_type;
// static const typename size_type value_size;
//};
-
+
//template
//const typename desc::size_type desc::value_size = genType::value_size();
-
+
}//namespace detail
}//namespace glm
diff --git a/glm/detail/type_gentype.inl b/glm/detail/type_gentype.inl
index 8b76249f..60ffa9a9 100644
--- a/glm/detail/type_gentype.inl
+++ b/glm/detail/type_gentype.inl
@@ -174,7 +174,7 @@ typename base::col_type const& base::operator[]
// Unary updatable operators
template
-typename base::class_type& base::operator=
+typename base::class_type& base::operator=
(
typename base::class_type const& x
)
@@ -184,7 +184,7 @@ typename base::class_type& base::operator=
}
template
-typename base::class_type& base::operator+=
+typename base::class_type& base::operator+=
(
typename base::T const& x
)
@@ -200,7 +200,7 @@ typename base::class_type& base::operator+=
}
template
-typename base::class_type& base::operator+=
+typename base::class_type& base::operator+=
(
typename base::class_type const& x
)
@@ -216,7 +216,7 @@ typename base::class_type& base::operator+=
}
template
-typename base::class_type& base::operator-=
+typename base::class_type& base::operator-=
(
typename base::T const& x
)
@@ -232,7 +232,7 @@ typename base::class_type& base::operator-=
}
template
-typename base::class_type& base::operator-=
+typename base::class_type& base::operator-=
(
typename base::class_type const& x
)
@@ -248,7 +248,7 @@ typename base::class_type& base::operator-=
}
template
-typename base::class_type& base::operator*=
+typename base::class_type& base::operator*=
(
typename base::T const& x
)
@@ -264,7 +264,7 @@ typename base::class_type& base::operator*=
}
template
-typename base::class_type& base::operator*=
+typename base::class_type& base::operator*=
(
typename base::class_type const& x
)
@@ -280,7 +280,7 @@ typename base::class_type& base::operator*=
}
template
-typename base::class_type& base::operator/=
+typename base::class_type& base::operator/=
(
typename base::T const& x
)
@@ -296,7 +296,7 @@ typename base::class_type& base::operator/=
}
template
-typename base::class_type& base::operator/=
+typename base::class_type& base::operator/=
(
typename base::class_type const& x
)
diff --git a/glm/detail/type_half.inl b/glm/detail/type_half.inl
index fa049f7e..29e8160b 100644
--- a/glm/detail/type_half.inl
+++ b/glm/detail/type_half.inl
@@ -8,7 +8,7 @@ namespace detail
{
volatile float f = 1e10;
- for(int i = 0; i < 10; ++i)
+ for(int i = 0; i < 10; ++i)
f *= f; // this will overflow before the for loop terminates
return f;
}
@@ -149,7 +149,7 @@ namespace detail
// whose magnitude is less than __half_NRM_MIN.
//
// We convert f to a denormalized half.
- //
+ //
m = (m | 0x00800000) >> (1 - e);
@@ -160,9 +160,9 @@ namespace detail
// our number normalized. Because of the way a half's bits
// are laid out, we don't have to treat this case separately;
// the code below will handle it correctly.
- //
+ //
- if(m & 0x00001000)
+ if(m & 0x00001000)
m += 0x00002000;
//
@@ -188,7 +188,7 @@ namespace detail
// F is a NAN; we produce a half NAN that preserves
// the sign bit and the 10 leftmost bits of the
// significand of f, with one exception: If the 10
- // leftmost bits are all zero, the NAN would turn
+ // leftmost bits are all zero, the NAN would turn
// into an infinity, so we have to set at least one
// bit in the significand.
//
diff --git a/glm/detail/type_int.hpp b/glm/detail/type_int.hpp
index 9e1471d5..c8b1d150 100644
--- a/glm/detail/type_int.hpp
+++ b/glm/detail/type_int.hpp
@@ -20,7 +20,7 @@ namespace detail
typedef std::int16_t int16;
typedef std::int32_t int32;
typedef std::int64_t int64;
-
+
typedef std::uint8_t uint8;
typedef std::uint16_t uint16;
typedef std::uint32_t uint32;
@@ -29,41 +29,41 @@ namespace detail
# if(defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) // C99 detected, 64 bit types available
typedef int64_t sint64;
typedef uint64_t uint64;
-
+
# elif GLM_COMPILER & GLM_COMPILER_VC
typedef signed __int64 sint64;
typedef unsigned __int64 uint64;
-
+
# elif GLM_COMPILER & GLM_COMPILER_GCC
# pragma GCC diagnostic ignored "-Wlong-long"
__extension__ typedef signed long long sint64;
__extension__ typedef unsigned long long uint64;
-
+
# elif (GLM_COMPILER & GLM_COMPILER_CLANG)
# pragma clang diagnostic ignored "-Wc++11-long-long"
typedef signed long long sint64;
typedef unsigned long long uint64;
-
+
# else//unknown compiler
typedef signed long long sint64;
typedef unsigned long long uint64;
# endif//GLM_COMPILER
-
+
typedef signed char int8;
typedef signed short int16;
typedef signed int int32;
typedef sint64 int64;
-
+
typedef unsigned char uint8;
typedef unsigned short uint16;
typedef unsigned int uint32;
typedef uint64 uint64;
#endif//
-
+
typedef signed int lowp_int_t;
typedef signed int mediump_int_t;
typedef signed int highp_int_t;
-
+
typedef unsigned int lowp_uint_t;
typedef unsigned int mediump_uint_t;
typedef unsigned int highp_uint_t;
@@ -100,7 +100,7 @@ namespace detail
{
typedef long type;
};
-
+
template<>
struct make_signed
{
@@ -182,19 +182,19 @@ namespace detail
{
typedef long long type;
};
-
+
template<>
struct make_signed
{
typedef long long type;
};
-
+
template<>
struct make_unsigned
{
typedef unsigned long long type;
};
-
+
template<>
struct make_unsigned
{
@@ -207,7 +207,7 @@ namespace detail
typedef detail::int16 int16;
typedef detail::int32 int32;
typedef detail::int64 int64;
-
+
typedef detail::uint8 uint8;
typedef detail::uint16 uint16;
typedef detail::uint32 uint32;
@@ -216,44 +216,44 @@ namespace detail
/// @addtogroup core_precision
/// @{
- /// Low qualifier signed integer.
+ /// Low qualifier signed integer.
/// There is no guarantee on the actual qualifier.
- ///
+ ///
/// @see GLSL 4.20.8 specification, section 4.1.3 Integers
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef detail::lowp_int_t lowp_int;
- /// Medium qualifier signed integer.
+ /// Medium qualifier signed integer.
/// There is no guarantee on the actual qualifier.
- ///
+ ///
/// @see GLSL 4.20.8 specification, section 4.1.3 Integers
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef detail::mediump_int_t mediump_int;
/// High qualifier signed integer.
/// There is no guarantee on the actual qualifier.
- ///
+ ///
/// @see GLSL 4.20.8 specification, section 4.1.3 Integers
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef detail::highp_int_t highp_int;
- /// Low qualifier unsigned integer.
+ /// Low qualifier unsigned integer.
/// There is no guarantee on the actual qualifier.
- ///
+ ///
/// @see GLSL 4.20.8 specification, section 4.1.3 Integers
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef detail::lowp_uint_t lowp_uint;
- /// Medium qualifier unsigned integer.
+ /// Medium qualifier unsigned integer.
/// There is no guarantee on the actual qualifier.
- ///
+ ///
/// @see GLSL 4.20.8 specification, section 4.1.3 Integers
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef detail::mediump_uint_t mediump_uint;
- /// High qualifier unsigned integer.
+ /// High qualifier unsigned integer.
/// There is no guarantee on the actual qualifier.
- ///
+ ///
/// @see GLSL 4.20.8 specification, section 4.1.3 Integers
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef detail::highp_uint_t highp_uint;
@@ -283,7 +283,7 @@ namespace detail
#endif
/// Unsigned integer type.
- ///
+ ///
/// @see GLSL 4.20.8 specification, section 4.1.3 Integers
typedef unsigned int uint;
diff --git a/glm/detail/type_mat.hpp b/glm/detail/type_mat.hpp
index 53479eeb..db839b3b 100644
--- a/glm/detail/type_mat.hpp
+++ b/glm/detail/type_mat.hpp
@@ -29,308 +29,308 @@ namespace detail
/// @addtogroup core_precision
/// @{
-
+
/// 2 columns of 2 components matrix of low qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<2, 2, float, lowp> lowp_mat2;
-
+
/// 2 columns of 2 components matrix of medium qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<2, 2, float, mediump> mediump_mat2;
-
+
/// 2 columns of 2 components matrix of high qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<2, 2, float, highp> highp_mat2;
-
+
/// 2 columns of 2 components matrix of low qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<2, 2, float, lowp> lowp_mat2x2;
-
+
/// 2 columns of 2 components matrix of medium qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<2, 2, float, mediump> mediump_mat2x2;
-
+
/// 2 columns of 2 components matrix of high qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<2, 2, float, highp> highp_mat2x2;
-
+
/// @}
-
+
/// @addtogroup core_precision
/// @{
-
+
/// 2 columns of 3 components matrix of low qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<2, 3, float, lowp> lowp_mat2x3;
-
+
/// 2 columns of 3 components matrix of medium qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<2, 3, float, mediump> mediump_mat2x3;
-
+
/// 2 columns of 3 components matrix of high qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<2, 3, float, highp> highp_mat2x3;
-
+
/// @}
-
+
/// @addtogroup core_precision
/// @{
-
+
/// 2 columns of 4 components matrix of low qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<2, 4, float, lowp> lowp_mat2x4;
-
+
/// 2 columns of 4 components matrix of medium qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<2, 4, float, mediump> mediump_mat2x4;
-
+
/// 2 columns of 4 components matrix of high qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<2, 4, float, highp> highp_mat2x4;
-
+
/// @}
-
+
/// @addtogroup core_precision
/// @{
-
+
/// 3 columns of 2 components matrix of low qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<3, 2, float, lowp> lowp_mat3x2;
-
+
/// 3 columns of 2 components matrix of medium qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<3, 2, float, mediump> mediump_mat3x2;
-
+
/// 3 columns of 2 components matrix of high qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<3, 2, float, highp> highp_mat3x2;
-
+
/// @}
-
+
/// @addtogroup core_precision
/// @{
-
+
/// 3 columns of 3 components matrix of low qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<3, 3, float, lowp> lowp_mat3;
-
+
/// 3 columns of 3 components matrix of medium qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<3, 3, float, mediump> mediump_mat3;
-
+
/// 3 columns of 3 components matrix of high qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<3, 3, float, highp> highp_mat3;
-
+
/// 3 columns of 3 components matrix of low qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<3, 3, float, lowp> lowp_mat3x3;
-
+
/// 3 columns of 3 components matrix of medium qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<3, 3, float, mediump> mediump_mat3x3;
-
+
/// 3 columns of 3 components matrix of high qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<3, 3, float, highp> highp_mat3x3;
-
+
/// @}
-
+
/// @addtogroup core_precision
/// @{
-
+
/// 3 columns of 4 components matrix of low qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<3, 4, float, lowp> lowp_mat3x4;
-
+
/// 3 columns of 4 components matrix of medium qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<3, 4, float, mediump> mediump_mat3x4;
-
+
/// 3 columns of 4 components matrix of high qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<3, 4, float, highp> highp_mat3x4;
-
+
/// @}
-
+
/// @addtogroup core_precision
/// @{
-
+
/// 4 columns of 2 components matrix of low qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<4, 2, float, lowp> lowp_mat4x2;
-
+
/// 4 columns of 2 components matrix of medium qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<4, 2, float, mediump> mediump_mat4x2;
-
+
/// 4 columns of 2 components matrix of high qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<4, 2, float, highp> highp_mat4x2;
-
+
/// @}
-
+
/// @addtogroup core_precision
/// @{
-
+
/// 4 columns of 3 components matrix of low qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<4, 3, float, lowp> lowp_mat4x3;
-
+
/// 4 columns of 3 components matrix of medium qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<4, 3, float, mediump> mediump_mat4x3;
-
+
/// 4 columns of 3 components matrix of high qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<4, 3, float, highp> highp_mat4x3;
-
+
/// @}
-
-
+
+
/// @addtogroup core_precision
/// @{
-
+
/// 4 columns of 4 components matrix of low qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<4, 4, float, lowp> lowp_mat4;
-
+
/// 4 columns of 4 components matrix of medium qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<4, 4, float, mediump> mediump_mat4;
-
+
/// 4 columns of 4 components matrix of high qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<4, 4, float, highp> highp_mat4;
-
+
/// 4 columns of 4 components matrix of low qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<4, 4, float, lowp> lowp_mat4x4;
-
+
/// 4 columns of 4 components matrix of medium qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<4, 4, float, mediump> mediump_mat4x4;
-
+
/// 4 columns of 4 components matrix of high qualifier floating-point numbers.
/// There is no guarantee on the actual qualifier.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<4, 4, float, highp> highp_mat4x4;
-
+
/// @}
-
+
/// @addtogroup core_types
/// @{
-
+
//////////////////////////
// Float definition
-
+
#if(defined(GLM_PRECISION_LOWP_FLOAT))
typedef lowp_mat2x2 mat2x2;
typedef lowp_mat2x3 mat2x3;
@@ -351,333 +351,333 @@ namespace detail
typedef mediump_mat4x2 mat4x2;
typedef mediump_mat4x3 mat4x3;
typedef mediump_mat4x4 mat4x4;
-#else
+#else
//! 2 columns of 2 components matrix of floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
typedef highp_mat2x2 mat2x2;
-
+
//! 2 columns of 3 components matrix of floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
typedef highp_mat2x3 mat2x3;
-
+
//! 2 columns of 4 components matrix of floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
typedef highp_mat2x4 mat2x4;
-
+
//! 3 columns of 2 components matrix of floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
typedef highp_mat3x2 mat3x2;
-
+
//! 3 columns of 3 components matrix of floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
typedef highp_mat3x3 mat3x3;
-
+
//! 3 columns of 4 components matrix of floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
typedef highp_mat3x4 mat3x4;
-
+
//! 4 columns of 2 components matrix of floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
typedef highp_mat4x2 mat4x2;
-
+
//! 4 columns of 3 components matrix of floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
typedef highp_mat4x3 mat4x3;
-
+
//! 4 columns of 4 components matrix of floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
typedef highp_mat4x4 mat4x4;
-
+
#endif//GLM_PRECISION
-
+
//! 2 columns of 2 components matrix of floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
typedef mat2x2 mat2;
-
+
//! 3 columns of 3 components matrix of floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
typedef mat3x3 mat3;
-
+
//! 4 columns of 4 components matrix of floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
typedef mat4x4 mat4;
-
+
//////////////////////////
// Double definition
-
+
/// @addtogroup core_precision
/// @{
-
+
/// 2 columns of 2 components matrix of low qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<2, 2, double, lowp> lowp_dmat2;
-
+
/// 2 columns of 2 components matrix of medium qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<2, 2, double, mediump> mediump_dmat2;
-
+
/// 2 columns of 2 components matrix of high qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<2, 2, double, highp> highp_dmat2;
-
+
/// 2 columns of 2 components matrix of low qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<2, 2, double, lowp> lowp_dmat2x2;
-
+
/// 2 columns of 2 components matrix of medium qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<2, 2, double, mediump> mediump_dmat2x2;
-
+
/// 2 columns of 2 components matrix of high qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<2, 2, double, highp> highp_dmat2x2;
-
+
/// @}
-
+
/// @addtogroup core_precision
/// @{
-
+
/// 2 columns of 3 components matrix of low qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<2, 3, double, lowp> lowp_dmat2x3;
-
+
/// 2 columns of 3 components matrix of medium qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<2, 3, double, mediump> mediump_dmat2x3;
-
+
/// 2 columns of 3 components matrix of high qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<2, 3, double, highp> highp_dmat2x3;
-
+
/// @}
-
+
/// @addtogroup core_precision
/// @{
-
+
/// 2 columns of 4 components matrix of low qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<2, 4, double, lowp> lowp_dmat2x4;
-
+
/// 2 columns of 4 components matrix of medium qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<2, 4, double, mediump> mediump_dmat2x4;
-
+
/// 2 columns of 4 components matrix of high qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<2, 4, double, highp> highp_dmat2x4;
-
+
/// @}
-
+
/// @addtogroup core_precision
/// @{
-
+
/// 3 columns of 2 components matrix of low qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<3, 2, double, lowp> lowp_dmat3x2;
-
+
/// 3 columns of 2 components matrix of medium qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<3, 2, double, mediump> mediump_dmat3x2;
-
+
/// 3 columns of 2 components matrix of high qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<3, 2, double, highp> highp_dmat3x2;
-
+
/// @}
-
+
/// @addtogroup core_precision
/// @{
-
+
/// 3 columns of 3 components matrix of low qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<3, 3, float, lowp> lowp_dmat3;
-
+
/// 3 columns of 3 components matrix of medium qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<3, 3, double, mediump> mediump_dmat3;
-
+
/// 3 columns of 3 components matrix of high qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<3, 3, double, highp> highp_dmat3;
-
+
/// 3 columns of 3 components matrix of low qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<3, 3, double, lowp> lowp_dmat3x3;
-
+
/// 3 columns of 3 components matrix of medium qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<3, 3, double, mediump> mediump_dmat3x3;
-
+
/// 3 columns of 3 components matrix of high qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<3, 3, double, highp> highp_dmat3x3;
-
+
/// @}
-
+
/// @addtogroup core_precision
/// @{
-
+
/// 3 columns of 4 components matrix of low qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<3, 4, double, lowp> lowp_dmat3x4;
-
+
/// 3 columns of 4 components matrix of medium qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<3, 4, double, mediump> mediump_dmat3x4;
-
+
/// 3 columns of 4 components matrix of high qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<3, 4, double, highp> highp_dmat3x4;
-
+
/// @}
-
+
/// @addtogroup core_precision
/// @{
-
+
/// 4 columns of 2 components matrix of low qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<4, 2, double, lowp> lowp_dmat4x2;
-
+
/// 4 columns of 2 components matrix of medium qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<4, 2, double, mediump> mediump_dmat4x2;
-
+
/// 4 columns of 2 components matrix of high qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<4, 2, double, highp> highp_dmat4x2;
-
+
/// @}
-
+
/// @addtogroup core_precision
/// @{
-
+
/// 4 columns of 3 components matrix of low qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<4, 3, double, lowp> lowp_dmat4x3;
-
+
/// 4 columns of 3 components matrix of medium qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<4, 3, double, mediump> mediump_dmat4x3;
-
+
/// 4 columns of 3 components matrix of high qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<4, 3, double, highp> highp_dmat4x3;
-
+
/// @}
-
+
/// @addtogroup core_precision
/// @{
-
+
/// 4 columns of 4 components matrix of low qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<4, 4, double, lowp> lowp_dmat4;
-
+
/// 4 columns of 4 components matrix of medium qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<4, 4, double, mediump> mediump_dmat4;
-
+
/// 4 columns of 4 components matrix of high qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<4, 4, double, highp> highp_dmat4;
-
+
/// 4 columns of 4 components matrix of low qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<4, 4, double, lowp> lowp_dmat4x4;
-
+
/// 4 columns of 4 components matrix of medium qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<4, 4, double, mediump> mediump_dmat4x4;
-
+
/// 4 columns of 4 components matrix of high qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
/// @see GLSL 4.20.8 specification, section 4.7.2 Precision Qualifier
typedef mat<4, 4, double, highp> highp_dmat4x4;
-
+
/// @}
-
+
#if(defined(GLM_PRECISION_LOWP_DOUBLE))
typedef lowp_dmat2x2 dmat2x2;
typedef lowp_dmat2x3 dmat2x3;
@@ -699,68 +699,68 @@ namespace detail
typedef mediump_dmat4x3 dmat4x3;
typedef mediump_dmat4x4 dmat4x4;
#else //defined(GLM_PRECISION_HIGHP_DOUBLE)
-
+
//! 2 * 2 matrix of double-qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
typedef highp_dmat2x2 dmat2;
-
+
//! 3 * 3 matrix of double-qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
typedef highp_dmat3x3 dmat3;
-
+
//! 4 * 4 matrix of double-qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
typedef highp_dmat4x4 dmat4;
-
+
//! 2 * 2 matrix of double-qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
typedef highp_dmat2x2 dmat2x2;
-
+
//! 2 * 3 matrix of double-qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
typedef highp_dmat2x3 dmat2x3;
-
+
//! 2 * 4 matrix of double-qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
typedef highp_dmat2x4 dmat2x4;
-
+
//! 3 * 2 matrix of double-qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
typedef highp_dmat3x2 dmat3x2;
-
+
/// 3 * 3 matrix of double-qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
typedef highp_dmat3x3 dmat3x3;
-
+
/// 3 * 4 matrix of double-qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
typedef highp_dmat3x4 dmat3x4;
-
+
/// 4 * 2 matrix of double-qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
typedef highp_dmat4x2 dmat4x2;
-
+
/// 4 * 3 matrix of double-qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
typedef highp_dmat4x3 dmat4x3;
-
+
/// 4 * 4 matrix of double-qualifier floating-point numbers.
///
/// @see GLSL 4.20.8 specification, section 4.1.6 Matrices
typedef highp_dmat4x4 dmat4x4;
#endif//GLM_PRECISION
-
+
/// @}
}//namespace glm
diff --git a/glm/detail/type_mat2x2.inl b/glm/detail/type_mat2x2.inl
index 011344bf..b0080567 100644
--- a/glm/detail/type_mat2x2.inl
+++ b/glm/detail/type_mat2x2.inl
@@ -38,7 +38,7 @@ namespace glm
}
template
- GLM_FUNC_QUALIFIER mat<2, 2, T, Q>::mat
+ GLM_FUNC_QUALIFIER mat<2, 2, T, Q>::mat
(
T const& x0, T const& y0,
T const& x1, T const& y1
@@ -59,7 +59,7 @@ namespace glm
template
template
- GLM_FUNC_QUALIFIER mat<2, 2, T, Q>::mat
+ GLM_FUNC_QUALIFIER mat<2, 2, T, Q>::mat
(
X1 const& x1, Y1 const& y1,
X2 const& x2, Y2 const& y2
@@ -68,7 +68,7 @@ namespace glm
this->value[0] = col_type(static_cast(x1), value_type(y1));
this->value[1] = col_type(static_cast(x2), value_type(y2));
}
-
+
template
template
GLM_FUNC_QUALIFIER mat<2, 2, T, Q>::mat(vec<2, V1, Q> const& v1, vec<2, V2, Q> const& v2)
@@ -101,7 +101,7 @@ namespace glm
this->value[1] = col_type(m[1]);
}
- template
+ template
GLM_FUNC_QUALIFIER mat<2, 2, T, Q>::mat(mat<2, 3, T, Q> const& m)
{
this->value[0] = col_type(m[0]);
@@ -294,7 +294,7 @@ namespace glm
GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator-(mat<2, 2, T, Q> const& m)
{
return mat<2, 2, T, Q>(
- -m[0],
+ -m[0],
-m[1]);
}
@@ -424,7 +424,7 @@ namespace glm
m1[0][1] * m2[3][0] + m1[1][1] * m2[3][1]);
}
- template
+ template
GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator/(mat<2, 2, T, Q> const& m, T scalar)
{
return mat<2, 2, T, Q>(
@@ -432,7 +432,7 @@ namespace glm
m[1] / scalar);
}
- template
+ template
GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator/(T scalar, mat<2, 2, T, Q> const& m)
{
return mat<2, 2, T, Q>(
@@ -454,7 +454,7 @@ namespace glm
template
GLM_FUNC_QUALIFIER mat<2, 2, T, Q> operator/(mat<2, 2, T, Q> const& m1, mat<2, 2, T, Q> const& m2)
- {
+ {
mat<2, 2, T, Q> m1_copy(m1);
return m1_copy /= m2;
}
diff --git a/glm/detail/type_mat2x3.inl b/glm/detail/type_mat2x3.inl
index 9944654c..0a13f9dc 100644
--- a/glm/detail/type_mat2x3.inl
+++ b/glm/detail/type_mat2x3.inl
@@ -28,15 +28,15 @@ namespace glm
this->value[1] = m.value[1];
}
- template
+ template
GLM_FUNC_QUALIFIER mat<2, 3, T, Q>::mat(T scalar)
{
this->value[0] = col_type(scalar, 0, 0);
this->value[1] = col_type(0, scalar, 0);
}
- template
- GLM_FUNC_QUALIFIER mat<2, 3, T, Q>::mat
+ template
+ GLM_FUNC_QUALIFIER mat<2, 3, T, Q>::mat
(
T x0, T y0, T z0,
T x1, T y1, T z1
@@ -46,7 +46,7 @@ namespace glm
this->value[1] = col_type(x1, y1, z1);
}
- template
+ template
GLM_FUNC_QUALIFIER mat<2, 3, T, Q>::mat(col_type const& v0, col_type const& v1)
{
this->value[0] = v0;
@@ -59,7 +59,7 @@ namespace glm
template<
typename X1, typename Y1, typename Z1,
typename X2, typename Y2, typename Z2>
- GLM_FUNC_QUALIFIER mat<2, 3, T, Q>::mat
+ GLM_FUNC_QUALIFIER mat<2, 3, T, Q>::mat
(
X1 x1, Y1 y1, Z1 z1,
X2 x2, Y2 y2, Z2 z2
@@ -68,7 +68,7 @@ namespace glm
this->value[0] = col_type(static_cast(x1), value_type(y1), value_type(z1));
this->value[1] = col_type(static_cast(x2), value_type(y2), value_type(z2));
}
-
+
template
template
GLM_FUNC_QUALIFIER mat<2, 3, T, Q>::mat(vec<3, V1, Q> const& v1, vec<3, V2, Q> const& v2)
@@ -87,56 +87,56 @@ namespace glm
this->value[1] = col_type(m[1]);
}
- template
+ template
GLM_FUNC_QUALIFIER mat<2, 3, T, Q>::mat(mat<2, 2, T, Q> const& m)
{
this->value[0] = col_type(m[0], 0);
this->value[1] = col_type(m[1], 0);
}
- template
+ template
GLM_FUNC_QUALIFIER mat<2, 3, T, Q>::mat(mat<3, 3, T, Q> const& m)
{
this->value[0] = col_type(m[0]);
this->value[1] = col_type(m[1]);
}
- template
+ template
GLM_FUNC_QUALIFIER mat<2, 3, T, Q>::mat(mat<4, 4, T, Q> const& m)
{
this->value[0] = col_type(m[0]);
this->value[1] = col_type(m[1]);
}
- template
+ template
GLM_FUNC_QUALIFIER mat<2, 3, T, Q>::mat(mat<2, 4, T, Q> const& m)
{
this->value[0] = col_type(m[0]);
this->value[1] = col_type(m[1]);
}
- template
+ template
GLM_FUNC_QUALIFIER mat<2, 3, T, Q>::mat(mat<3, 2, T, Q> const& m)
{
this->value[0] = col_type(m[0], 0);
this->value[1] = col_type(m[1], 0);
}
- template
+ template
GLM_FUNC_QUALIFIER mat<2, 3, T, Q>::mat(mat<3, 4, T, Q> const& m)
{
this->value[0] = col_type(m[0]);
this->value[1] = col_type(m[1]);
}
- template
+ template
GLM_FUNC_QUALIFIER mat<2, 3, T, Q>::mat(mat<4, 2, T, Q> const& m)
{
this->value[0] = col_type(m[0], 0);
this->value[1] = col_type(m[1], 0);
}
- template
+ template
GLM_FUNC_QUALIFIER mat<2, 3, T, Q>::mat(mat<4, 3, T, Q> const& m)
{
this->value[0] = m[0];
@@ -286,7 +286,7 @@ namespace glm
// -- Binary arithmetic operators --
- template
+ template
GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator+(mat<2, 3, T, Q> const& m, T scalar)
{
return mat<2, 3, T, Q>(
@@ -294,7 +294,7 @@ namespace glm
m[1] + scalar);
}
- template
+ template
GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator+(mat<2, 3, T, Q> const& m1, mat<2, 3, T, Q> const& m2)
{
return mat<2, 3, T, Q>(
@@ -302,7 +302,7 @@ namespace glm
m1[1] + m2[1]);
}
- template
+ template
GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator-(mat<2, 3, T, Q> const& m, T scalar)
{
return mat<2, 3, T, Q>(
@@ -310,7 +310,7 @@ namespace glm
m[1] - scalar);
}
- template
+ template
GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator-(mat<2, 3, T, Q> const& m1, mat<2, 3, T, Q> const& m2)
{
return mat<2, 3, T, Q>(
@@ -318,7 +318,7 @@ namespace glm
m1[1] - m2[1]);
}
- template
+ template
GLM_FUNC_QUALIFIER mat<2, 3, T, Q> operator*(mat<2, 3, T, Q> const& m, T scalar)
{
return mat<2, 3, T, Q>(
diff --git a/glm/detail/type_mat2x4.inl b/glm/detail/type_mat2x4.inl
index 62fc5b1a..52d8ea96 100644
--- a/glm/detail/type_mat2x4.inl
+++ b/glm/detail/type_mat2x4.inl
@@ -69,7 +69,7 @@ namespace glm
this->value[0] = col_type(static_cast(x1), value_type(y1), value_type(z1), value_type(w1));
this->value[1] = col_type(static_cast(x2), value_type(y2), value_type(z2), value_type(w2));
}
-
+
template
template
GLM_FUNC_QUALIFIER mat<2, 4, T, Q>::mat(vec<4, V1, Q> const& v1, vec<4, V2, Q> const& v2)
@@ -281,7 +281,7 @@ namespace glm
GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator-(mat<2, 4, T, Q> const& m)
{
return mat<2, 4, T, Q>(
- -m[0],
+ -m[0],
-m[1]);
}
@@ -295,7 +295,7 @@ namespace glm
m[1] + scalar);
}
- template
+ template
GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator+(mat<2, 4, T, Q> const& m1, mat<2, 4, T, Q> const& m2)
{
return mat<2, 4, T, Q>(
@@ -303,7 +303,7 @@ namespace glm
m1[1] + m2[1]);
}
- template
+ template
GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator-(mat<2, 4, T, Q> const& m, T scalar)
{
return mat<2, 4, T, Q>(
@@ -327,7 +327,7 @@ namespace glm
m[1] * scalar);
}
- template
+ template
GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator*(T scalar, mat<2, 4, T, Q> const& m)
{
return mat<2, 4, T, Q>(
@@ -426,7 +426,7 @@ namespace glm
m1[0][3] * m2[2][0] + m1[1][3] * m2[2][1]);
}
- template
+ template
GLM_FUNC_QUALIFIER mat<2, 4, T, Q> operator/(mat<2, 4, T, Q> const& m, T scalar)
{
return mat<2, 4, T, Q>(
diff --git a/glm/detail/type_mat3x2.inl b/glm/detail/type_mat3x2.inl
index 5a64edbb..53bae25f 100644
--- a/glm/detail/type_mat3x2.inl
+++ b/glm/detail/type_mat3x2.inl
@@ -6,7 +6,7 @@ namespace glm
// -- Constructors --
# if !GLM_HAS_DEFAULTED_FUNCTIONS
- template