@@ -14,7 +14,6 @@ namespace detail
1414 template <typename PARAM, typename RET>
1515 GLM_FUNC_DECL RET bitfieldInterleave (PARAM x, PARAM y, PARAM z, PARAM w);
1616
17- template <>
1817 GLM_FUNC_QUALIFIER glm::uint16 bitfieldInterleave (glm::uint8 x, glm::uint8 y)
1918 {
2019 glm::uint16 REG1 (x);
@@ -32,7 +31,6 @@ namespace detail
3231 return REG1 | static_cast <glm::uint16>(REG2 << 1 );
3332 }
3433
35- template <>
3634 GLM_FUNC_QUALIFIER glm::uint32 bitfieldInterleave (glm::uint16 x, glm::uint16 y)
3735 {
3836 glm::uint32 REG1 (x);
@@ -53,7 +51,6 @@ namespace detail
5351 return REG1 | (REG2 << 1 );
5452 }
5553
56- template <>
5754 GLM_FUNC_QUALIFIER glm::uint64 bitfieldInterleave (glm::uint32 x, glm::uint32 y)
5855 {
5956 glm::uint64 REG1 (x);
@@ -77,7 +74,6 @@ namespace detail
7774 return REG1 | (REG2 << 1 );
7875 }
7976
80- template <>
8177 GLM_FUNC_QUALIFIER glm::uint32 bitfieldInterleave (glm::uint8 x, glm::uint8 y, glm::uint8 z)
8278 {
8379 glm::uint32 REG1 (x);
@@ -103,7 +99,6 @@ namespace detail
10399 return REG1 | (REG2 << 1 ) | (REG3 << 2 );
104100 }
105101
106- template <>
107102 GLM_FUNC_QUALIFIER glm::uint64 bitfieldInterleave (glm::uint16 x, glm::uint16 y, glm::uint16 z)
108103 {
109104 glm::uint64 REG1 (x);
@@ -133,7 +128,6 @@ namespace detail
133128 return REG1 | (REG2 << 1 ) | (REG3 << 2 );
134129 }
135130
136- template <>
137131 GLM_FUNC_QUALIFIER glm::uint64 bitfieldInterleave (glm::uint32 x, glm::uint32 y, glm::uint32 z)
138132 {
139133 glm::uint64 REG1 (x);
@@ -163,7 +157,6 @@ namespace detail
163157 return REG1 | (REG2 << 1 ) | (REG3 << 2 );
164158 }
165159
166- template <>
167160 GLM_FUNC_QUALIFIER glm::uint32 bitfieldInterleave (glm::uint8 x, glm::uint8 y, glm::uint8 z, glm::uint8 w)
168161 {
169162 glm::uint32 REG1 (x);
@@ -189,7 +182,6 @@ namespace detail
189182 return REG1 | (REG2 << 1 ) | (REG3 << 2 ) | (REG4 << 3 );
190183 }
191184
192- template <>
193185 GLM_FUNC_QUALIFIER glm::uint64 bitfieldInterleave (glm::uint16 x, glm::uint16 y, glm::uint16 z, glm::uint16 w)
194186 {
195187 glm::uint64 REG1 (x);
@@ -329,12 +321,12 @@ namespace detail
329321
330322 GLM_FUNC_QUALIFIER uint16 bitfieldInterleave (uint8 x, uint8 y)
331323 {
332- return detail::bitfieldInterleave<uint8, uint16> (x, y);
324+ return detail::bitfieldInterleave (x, y);
333325 }
334326
335327 GLM_FUNC_QUALIFIER uint16 bitfieldInterleave (u8vec2 const & v)
336328 {
337- return detail::bitfieldInterleave<uint8, uint16> (v.x , v.y );
329+ return detail::bitfieldInterleave (v.x , v.y );
338330 }
339331
340332 GLM_FUNC_QUALIFIER u8vec2 bitfieldDeinterleave (glm::uint16 x)
@@ -383,12 +375,12 @@ namespace detail
383375
384376 GLM_FUNC_QUALIFIER uint32 bitfieldInterleave (uint16 x, uint16 y)
385377 {
386- return detail::bitfieldInterleave<uint16, uint32> (x, y);
378+ return detail::bitfieldInterleave (x, y);
387379 }
388380
389381 GLM_FUNC_QUALIFIER glm::uint32 bitfieldInterleave (u16vec2 const & v)
390382 {
391- return detail::bitfieldInterleave<uint16, uint32> (v.x , v.y );
383+ return detail::bitfieldInterleave (v.x , v.y );
392384 }
393385
394386 GLM_FUNC_QUALIFIER glm::u16vec2 bitfieldDeinterleave (glm::uint32 x)
@@ -437,12 +429,12 @@ namespace detail
437429
438430 GLM_FUNC_QUALIFIER uint64 bitfieldInterleave (uint32 x, uint32 y)
439431 {
440- return detail::bitfieldInterleave<uint32, uint64> (x, y);
432+ return detail::bitfieldInterleave (x, y);
441433 }
442434
443435 GLM_FUNC_QUALIFIER glm::uint64 bitfieldInterleave (u32vec2 const & v)
444436 {
445- return detail::bitfieldInterleave<uint32, uint64> (v.x , v.y );
437+ return detail::bitfieldInterleave (v.x , v.y );
446438 }
447439
448440 GLM_FUNC_QUALIFIER glm::u32vec2 bitfieldDeinterleave (glm::uint64 x)
@@ -495,12 +487,12 @@ namespace detail
495487
496488 GLM_FUNC_QUALIFIER uint32 bitfieldInterleave (uint8 x, uint8 y, uint8 z)
497489 {
498- return detail::bitfieldInterleave<uint8, uint32> (x, y, z);
490+ return detail::bitfieldInterleave (x, y, z);
499491 }
500492
501493 GLM_FUNC_QUALIFIER uint32 bitfieldInterleave (u8vec3 const & v)
502494 {
503- return detail::bitfieldInterleave<uint8, uint32> (v.x , v.y , v.z );
495+ return detail::bitfieldInterleave (v.x , v.y , v.z );
504496 }
505497
506498 GLM_FUNC_QUALIFIER int64 bitfieldInterleave (int16 x, int16 y, int16 z)
@@ -527,12 +519,12 @@ namespace detail
527519
528520 GLM_FUNC_QUALIFIER uint64 bitfieldInterleave (uint16 x, uint16 y, uint16 z)
529521 {
530- return detail::bitfieldInterleave<uint32, uint64> (x, y, z);
522+ return detail::bitfieldInterleave (x, y, z);
531523 }
532524
533525 GLM_FUNC_QUALIFIER uint64 bitfieldInterleave (u16vec3 const & v)
534526 {
535- return detail::bitfieldInterleave<uint32, uint64> (v.x , v.y , v.z );
527+ return detail::bitfieldInterleave (v.x , v.y , v.z );
536528 }
537529
538530 GLM_FUNC_QUALIFIER int64 bitfieldInterleave (int32 x, int32 y, int32 z)
@@ -559,12 +551,12 @@ namespace detail
559551
560552 GLM_FUNC_QUALIFIER uint64 bitfieldInterleave (uint32 x, uint32 y, uint32 z)
561553 {
562- return detail::bitfieldInterleave<uint32, uint64> (x, y, z);
554+ return detail::bitfieldInterleave (x, y, z);
563555 }
564556
565557 GLM_FUNC_QUALIFIER uint64 bitfieldInterleave (u32vec3 const & v)
566558 {
567- return detail::bitfieldInterleave<uint32, uint64> (v.x , v.y , v.z );
559+ return detail::bitfieldInterleave (v.x , v.y , v.z );
568560 }
569561
570562 GLM_FUNC_QUALIFIER int32 bitfieldInterleave (int8 x, int8 y, int8 z, int8 w)
@@ -592,12 +584,12 @@ namespace detail
592584
593585 GLM_FUNC_QUALIFIER uint32 bitfieldInterleave (uint8 x, uint8 y, uint8 z, uint8 w)
594586 {
595- return detail::bitfieldInterleave<uint8, uint32> (x, y, z, w);
587+ return detail::bitfieldInterleave (x, y, z, w);
596588 }
597589
598590 GLM_FUNC_QUALIFIER uint32 bitfieldInterleave (u8vec4 const & v)
599591 {
600- return detail::bitfieldInterleave<uint8, uint32> (v.x , v.y , v.z , v.w );
592+ return detail::bitfieldInterleave (v.x , v.y , v.z , v.w );
601593 }
602594
603595 GLM_FUNC_QUALIFIER int64 bitfieldInterleave (int16 x, int16 y, int16 z, int16 w)
@@ -625,11 +617,11 @@ namespace detail
625617
626618 GLM_FUNC_QUALIFIER uint64 bitfieldInterleave (uint16 x, uint16 y, uint16 z, uint16 w)
627619 {
628- return detail::bitfieldInterleave<uint16, uint64> (x, y, z, w);
620+ return detail::bitfieldInterleave (x, y, z, w);
629621 }
630622
631623 GLM_FUNC_QUALIFIER uint64 bitfieldInterleave (u16vec4 const & v)
632624 {
633- return detail::bitfieldInterleave<uint16, uint64> (v.x , v.y , v.z , v.w );
625+ return detail::bitfieldInterleave (v.x , v.y , v.z , v.w );
634626 }
635627}// namespace glm
0 commit comments