Skip to content

Commit

Permalink
Add clamp() to int and uint types
Browse files Browse the repository at this point in the history
  • Loading branch information
redorav committed Aug 4, 2023
1 parent 9b6ee28 commit ca9573a
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 9 deletions.
23 changes: 14 additions & 9 deletions include/hlsl++_vector_int.h
Original file line number Diff line number Diff line change
Expand Up @@ -375,15 +375,20 @@ HLSLPP_WARNINGS_IMPLICIT_CONSTRUCTOR_END
hlslpp_inline int3 abs(const int3& i) { return int3(_hlslpp_abs_epi32(i.vec)); }
hlslpp_inline int4 abs(const int4& i) { return int4(_hlslpp_abs_epi32(i.vec)); }

hlslpp_inline bool all(const int1& f) { return _hlslpp_all1_epi32(f.vec); }
hlslpp_inline bool all(const int2& f) { return _hlslpp_all2_epi32(f.vec); }
hlslpp_inline bool all(const int3& f) { return _hlslpp_all3_epi32(f.vec); }
hlslpp_inline bool all(const int4& f) { return _hlslpp_all4_epi32(f.vec); }

hlslpp_inline bool any(const int1& f) { return _hlslpp_any1_epi32(f.vec); }
hlslpp_inline bool any(const int2& f) { return _hlslpp_any2_epi32(f.vec); }
hlslpp_inline bool any(const int3& f) { return _hlslpp_any3_epi32(f.vec); }
hlslpp_inline bool any(const int4& f) { return _hlslpp_any4_epi32(f.vec); }
hlslpp_inline bool all(const int1& i) { return _hlslpp_all1_epi32(i.vec); }
hlslpp_inline bool all(const int2& i) { return _hlslpp_all2_epi32(i.vec); }
hlslpp_inline bool all(const int3& i) { return _hlslpp_all3_epi32(i.vec); }
hlslpp_inline bool all(const int4& i) { return _hlslpp_all4_epi32(i.vec); }

hlslpp_inline bool any(const int1& i) { return _hlslpp_any1_epi32(i.vec); }
hlslpp_inline bool any(const int2& i) { return _hlslpp_any2_epi32(i.vec); }
hlslpp_inline bool any(const int3& i) { return _hlslpp_any3_epi32(i.vec); }
hlslpp_inline bool any(const int4& i) { return _hlslpp_any4_epi32(i.vec); }

hlslpp_inline int1 clamp(const int1& i, const int1& mini, const int1& maxi) { return int1(_hlslpp_clamp_epi32(i.vec, mini.vec, maxi.vec)); }
hlslpp_inline int2 clamp(const int2& i, const int2& mini, const int2& maxi) { return int2(_hlslpp_clamp_epi32(i.vec, mini.vec, maxi.vec)); }
hlslpp_inline int3 clamp(const int3& i, const int3& mini, const int3& maxi) { return int3(_hlslpp_clamp_epi32(i.vec, mini.vec, maxi.vec)); }
hlslpp_inline int4 clamp(const int4& i, const int4& mini, const int4& maxi) { return int4(_hlslpp_clamp_epi32(i.vec, mini.vec, maxi.vec)); }

hlslpp_inline int1 countbits(const int1& i) { return int1(_hlslpp_countbits_epi32(i.vec)); }
hlslpp_inline int2 countbits(const int2& i) { return int2(_hlslpp_countbits_epi32(i.vec)); }
Expand Down
5 changes: 5 additions & 0 deletions include/hlsl++_vector_uint.h
Original file line number Diff line number Diff line change
Expand Up @@ -387,6 +387,11 @@ HLSLPP_WARNINGS_IMPLICIT_CONSTRUCTOR_END
hlslpp_inline bool any(const uint3& f) { return _hlslpp_any3_epu32(f.vec); }
hlslpp_inline bool any(const uint4& f) { return _hlslpp_any4_epu32(f.vec); }

hlslpp_inline uint1 clamp(const uint1& i, const uint1& mini, const uint1& maxi) { return uint1(_hlslpp_clamp_epu32(i.vec, mini.vec, maxi.vec)); }
hlslpp_inline uint2 clamp(const uint2& i, const uint2& mini, const uint2& maxi) { return uint2(_hlslpp_clamp_epu32(i.vec, mini.vec, maxi.vec)); }
hlslpp_inline uint3 clamp(const uint3& i, const uint3& mini, const uint3& maxi) { return uint3(_hlslpp_clamp_epu32(i.vec, mini.vec, maxi.vec)); }
hlslpp_inline uint4 clamp(const uint4& i, const uint4& mini, const uint4& maxi) { return uint4(_hlslpp_clamp_epu32(i.vec, mini.vec, maxi.vec)); }

hlslpp_inline uint1 countbits(const uint1& i) { return uint1(_hlslpp_countbits_epu32(i.vec)); }
hlslpp_inline uint2 countbits(const uint2& i) { return uint2(_hlslpp_countbits_epu32(i.vec)); }
hlslpp_inline uint3 countbits(const uint3& i) { return uint3(_hlslpp_countbits_epu32(i.vec)); }
Expand Down

0 comments on commit ca9573a

Please sign in to comment.