Lines Matching refs:TYPE

36 template <typename TYPE, size_t SIZE>
39 template <typename TYPE, size_t SIZE>
48 typename TYPE, size_t SIZE, size_t S>
49 vec<TYPE, SIZE>& doAssign(
50 vec<TYPE, SIZE>& lhs, const VEC<TYPE, S>& rhs) {
64 typename TYPE,
67 VLHS<TYPE, SIZE> PURE doAdd(
68 const VLHS<TYPE, SIZE>& lhs,
69 const VRHS<TYPE, SIZE>& rhs) {
70 VLHS<TYPE, SIZE> r;
79 typename TYPE,
82 VLHS<TYPE, SIZE> PURE doSub(
83 const VLHS<TYPE, SIZE>& lhs,
84 const VRHS<TYPE, SIZE>& rhs) {
85 VLHS<TYPE, SIZE> r;
93 typename TYPE,
96 VEC<TYPE, SIZE> PURE doMulScalar(
97 const VEC<TYPE, SIZE>& lhs,
98 typename TypeTraits<TYPE>::ParameterType rhs) {
99 VEC<TYPE, SIZE> r;
107 typename TYPE,
110 VEC<TYPE, SIZE> PURE doScalarMul(
111 typename TypeTraits<TYPE>::ParameterType lhs,
112 const VEC<TYPE, SIZE>& rhs) {
113 VEC<TYPE, SIZE> r;
142 typename TYPE,
145 inline VLHS<TYPE, SIZE> PURE operator + (
146 const VLHS<TYPE, SIZE>& lhs,
147 const VRHS<TYPE, SIZE>& rhs) {
154 typename TYPE,
157 inline VLHS<TYPE, SIZE> PURE operator - (
158 const VLHS<TYPE, SIZE>& lhs,
159 const VRHS<TYPE, SIZE>& rhs) {
165 typename TYPE,
168 inline VEC<TYPE, SIZE> PURE operator * (
169 const VEC<TYPE, SIZE>& lhs,
170 typename TypeTraits<TYPE>::ParameterType rhs) {
176 typename TYPE,
179 inline VEC<TYPE, SIZE> PURE operator * (
180 typename TypeTraits<TYPE>::ParameterType lhs,
181 const VEC<TYPE, SIZE>& rhs) {
189 typename TYPE,
192 TYPE PURE dot_product(
193 const VLHS<TYPE, SIZE>& lhs,
194 const VRHS<TYPE, SIZE>& rhs) {
195 TYPE r(0);
203 typename TYPE,
206 TYPE PURE length(const V<TYPE, SIZE>& v) {
212 typename TYPE,
215 TYPE PURE length_squared(const V<TYPE, SIZE>& v) {
221 typename TYPE,
224 V<TYPE, SIZE> PURE normalize(const V<TYPE, SIZE>& v) {
231 typename TYPE
233 VLHS<TYPE, 3> PURE cross_product(
234 const VLHS<TYPE, 3>& u,
235 const VRHS<TYPE, 3>& v) {
236 VLHS<TYPE, 3> r;
244 template <typename TYPE, size_t SIZE>
245 vec<TYPE, SIZE> PURE operator - (const vec<TYPE, SIZE>& lhs) {
246 vec<TYPE, SIZE> r;
257 template <typename TYPE, size_t SIZE>
259 TYPE v[SIZE];
260 inline const TYPE& operator[](size_t i) const { return v[i]; }
261 inline TYPE& operator[](size_t i) { return v[i]; }
299 template <typename TYPE, size_t SIZE>
300 class vec : public vbase<TYPE, SIZE>
302 typedef typename TypeTraits<TYPE>::ParameterType pTYPE;
303 typedef vbase<TYPE, SIZE> base;
307 typedef TYPE value_type;
308 typedef TYPE& reference;
309 typedef TYPE const& const_reference;
312 typedef TYPE* iterator;
313 typedef TYPE const* const_iterator;
336 explicit vec(const VEC<TYPE, S>& rhs) {
340 explicit vec(TYPE const* array) {
365 vec& operator = (const VEC<TYPE, S>& rhs) {
397 friend inline TYPE PURE dot_product(const vec& lhs, const vec& rhs) {
404 template <typename TYPE, size_t SIZE>
405 vec<TYPE, SIZE>& vec<TYPE, SIZE>::operator += (const vec<TYPE, SIZE>& rhs) {
406 vec<TYPE, SIZE>& lhs(*this);
412 template <typename TYPE, size_t SIZE>
413 vec<TYPE, SIZE>& vec<TYPE, SIZE>::operator -= (const vec<TYPE, SIZE>& rhs) {
414 vec<TYPE, SIZE>& lhs(*this);
420 template <typename TYPE, size_t SIZE>
421 vec<TYPE, SIZE>& vec<TYPE, SIZE>::operator *= (vec<TYPE, SIZE>::pTYPE rhs) {
422 vec<TYPE, SIZE>& lhs(*this);