21 namespace Vectormath {
51 #ifndef _VECTORMATH_NO_SCALAR_CAST
54 inline operator bool()
const;
81 inline const boolInVec
operator == (boolInVec vec0, boolInVec vec1);
85 inline const boolInVec
operator != (boolInVec vec0, boolInVec vec1);
89 inline const boolInVec
operator & (boolInVec vec0, boolInVec vec1);
93 inline const boolInVec
operator ^ (boolInVec vec0, boolInVec vec1);
97 inline const boolInVec
operator | (boolInVec vec0, boolInVec vec1);
101 inline const boolInVec
select(boolInVec vec0, boolInVec vec1, boolInVec select_vec1);
113 namespace Vectormath {
118 *
this = (vec != floatInVec(0.0f));
124 mData = -(int)scalar;
134 #ifndef _VECTORMATH_NO_SCALAR_CAST
136 boolInVec::operator bool()
const
185 return boolInVec(vec0.getAsBool() == vec1.getAsBool());
192 return !(vec0 == vec1);
199 return boolInVec(vec0.getAsBool() & vec1.getAsBool());
206 return boolInVec(vec0.getAsBool() | vec1.getAsBool());
213 return boolInVec(vec0.getAsBool() ^ vec1.getAsBool());
218 select(boolInVec vec0, boolInVec vec1, boolInVec select_vec1)
220 return (select_vec1.getAsBool() == 0) ? vec0 : vec1;
225 #endif // boolInVec_h
const boolInVec operator!=(boolInVec vec0, boolInVec vec1)
boolInVec & operator&=(boolInVec vec)
boolInVec & operator=(boolInVec vec)
boolInVec & operator^=(boolInVec vec)
const boolInVec select(boolInVec vec0, boolInVec vec1, boolInVec select_vec1)
const boolInVec operator|(boolInVec vec0, boolInVec vec1)
const boolInVec operator&(boolInVec vec0, boolInVec vec1)
boolInVec & operator|=(boolInVec vec)
const boolInVec operator==(boolInVec vec0, boolInVec vec1)
const boolInVec operator!() const
const boolInVec operator^(boolInVec vec0, boolInVec vec1)