linmath: permit single-argument/fill value for UnalignedLVecBase4

This commit is contained in:
rdb 2017-10-06 23:59:17 +02:00
parent dfa47e55ce
commit 8ed85c80c8
2 changed files with 23 additions and 0 deletions

View File

@ -903,6 +903,14 @@ FLOATNAME(UnalignedLVecBase4)(const FLOATNAME(LVecBase4) &copy) {
set(copy[0], copy[1], copy[2], copy[3]);
}
/**
*
*/
INLINE_LINMATH FLOATNAME(UnalignedLVecBase4)::
FLOATNAME(UnalignedLVecBase4)(FLOATTYPE fill_value) {
fill(fill_value);
}
/**
*
*/
@ -912,6 +920,19 @@ FLOATNAME(UnalignedLVecBase4)(FLOATTYPE x, FLOATTYPE y, FLOATTYPE z, FLOATTYPE w
set(x, y, z, w);
}
/**
* Sets each element of the vector to the indicated fill_value. This is
* particularly useful for initializing to zero.
*/
INLINE_LINMATH void FLOATNAME(UnalignedLVecBase4)::
fill(FLOATTYPE fill_value) {
TAU_PROFILE("void UnalignedLVecBase4::fill()", " ", TAU_USER);
_v(0) = fill_value;
_v(1) = fill_value;
_v(2) = fill_value;
_v(3) = fill_value;
}
/**
*
*/

View File

@ -230,8 +230,10 @@ PUBLISHED:
INLINE_LINMATH FLOATNAME(UnalignedLVecBase4)() DEFAULT_CTOR;
INLINE_LINMATH FLOATNAME(UnalignedLVecBase4)(const FLOATNAME(LVecBase4) &copy);
INLINE_LINMATH FLOATNAME(UnalignedLVecBase4)(FLOATTYPE fill_value);
INLINE_LINMATH FLOATNAME(UnalignedLVecBase4)(FLOATTYPE x, FLOATTYPE y, FLOATTYPE z, FLOATTYPE w);
INLINE_LINMATH void fill(FLOATTYPE fill_value);
INLINE_LINMATH void set(FLOATTYPE x, FLOATTYPE y, FLOATTYPE z, FLOATTYPE w);
INLINE_LINMATH FLOATTYPE operator [](int i) const;