Skip to content

Commit 140c311

Browse files
committed
Added support for bvecX not operator
1 parent 2d4c4b4 commit 140c311

8 files changed

+42
-3
lines changed

glm/detail/type_vec1.hpp

+3
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,9 @@ namespace glm
301301

302302
template<qualifier Q>
303303
GLM_FUNC_DECL GLM_CONSTEXPR vec<1, bool, Q> operator||(vec<1, bool, Q> const& v1, vec<1, bool, Q> const& v2);
304+
305+
template<qualifier Q>
306+
GLM_FUNC_DECL GLM_CONSTEXPR vec<1, bool, Q> operator!(vec<1, bool, Q> const& v);
304307
}//namespace glm
305308

306309
#ifndef GLM_EXTERNAL_TEMPLATE

glm/detail/type_vec1.inl

+7
Original file line numberDiff line numberDiff line change
@@ -550,4 +550,11 @@ namespace glm
550550
{
551551
return vec<1, bool, Q>(v1.x || v2.x);
552552
}
553+
554+
template<qualifier Q>
555+
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<1, bool, Q> operator!(vec<1, bool, Q> const& v)
556+
{
557+
return vec<1, bool, Q>(
558+
!v.x);
559+
}
553560
}//namespace glm

glm/detail/type_vec2.hpp

+3
Original file line numberDiff line numberDiff line change
@@ -399,6 +399,9 @@ namespace glm
399399

400400
template<qualifier Q>
401401
GLM_FUNC_DECL GLM_CONSTEXPR vec<2, bool, Q> operator||(vec<2, bool, Q> const& v1, vec<2, bool, Q> const& v2);
402+
403+
template<qualifier Q>
404+
GLM_FUNC_DECL GLM_CONSTEXPR vec<2, bool, Q> operator!(vec<2, bool, Q> const& v);
402405
}//namespace glm
403406

404407
#ifndef GLM_EXTERNAL_TEMPLATE

glm/detail/type_vec2.inl

+8
Original file line numberDiff line numberDiff line change
@@ -912,4 +912,12 @@ namespace glm
912912
{
913913
return vec<2, bool, Q>(v1.x || v2.x, v1.y || v2.y);
914914
}
915+
916+
template<qualifier Q>
917+
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<2, bool, Q> operator!(vec<2, bool, Q> const& v)
918+
{
919+
return vec<2, bool, Q>(
920+
!v.x,
921+
!v.y);
922+
}
915923
}//namespace glm

glm/detail/type_vec3.hpp

+2-3
Original file line numberDiff line numberDiff line change
@@ -437,9 +437,8 @@ namespace glm
437437
template<qualifier Q>
438438
GLM_FUNC_DECL GLM_CONSTEXPR vec<3, bool, Q> operator||(vec<3, bool, Q> const& v1, vec<3, bool, Q> const& v2);
439439

440-
441-
442-
440+
template<qualifier Q>
441+
GLM_FUNC_DECL GLM_CONSTEXPR vec<3, bool, Q> operator!(vec<3, bool, Q> const& v);
443442
}//namespace glm
444443

445444
#ifndef GLM_EXTERNAL_TEMPLATE

glm/detail/type_vec3.inl

+10
Original file line numberDiff line numberDiff line change
@@ -827,6 +827,16 @@ namespace glm
827827
{
828828
return vec<3, bool, Q>(v1.x || v2.x, v1.y || v2.y, v1.z || v2.z);
829829
}
830+
831+
template<qualifier Q>
832+
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<3, bool, Q> operator!(vec<3, bool, Q> const& v)
833+
{
834+
return vec<3, bool, Q>(
835+
!v.x,
836+
!v.y,
837+
!v.z);
838+
}
839+
830840
}//namespace glm
831841

832842

glm/detail/type_vec4.hpp

+3
Original file line numberDiff line numberDiff line change
@@ -507,6 +507,9 @@ namespace glm
507507

508508
template<qualifier Q>
509509
GLM_FUNC_DECL GLM_CONSTEXPR vec<4, bool, Q> operator||(vec<4, bool, Q> const& v1, vec<4, bool, Q> const& v2);
510+
511+
template<qualifier Q>
512+
GLM_FUNC_DECL GLM_CONSTEXPR vec<4, bool, Q> operator!(vec<4, bool, Q> const& v);
510513
}//namespace glm
511514

512515
#ifndef GLM_EXTERNAL_TEMPLATE

glm/detail/type_vec4.inl

+6
Original file line numberDiff line numberDiff line change
@@ -1018,6 +1018,12 @@ namespace detail
10181018
{
10191019
return vec<4, bool, Q>(v1.x || v2.x, v1.y || v2.y, v1.z || v2.z, v1.w || v2.w);
10201020
}
1021+
1022+
template<qualifier Q>
1023+
GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, bool, Q> operator!(vec<4, bool, Q> const& v)
1024+
{
1025+
return vec<4, bool, Q>(!v.x, !v.y, !v.z, !v.w);
1026+
}
10211027
}//namespace glm
10221028

10231029
#if GLM_CONFIG_SIMD == GLM_ENABLE

0 commit comments

Comments
 (0)