Lines Matching refs:R

27 template <typename TYPE, size_t C, size_t R>
32 template <typename TYPE, size_t C, size_t R>
33 mat<TYPE, C, R>& doAssign( in doAssign()
34 mat<TYPE, C, R>& lhs, in doAssign()
37 for (size_t j=0 ; j<R ; j++) in doAssign()
42 template <typename TYPE, size_t C, size_t R, size_t D>
43 mat<TYPE, C, R> PURE doMul( in doMul()
44 const mat<TYPE, D, R>& lhs, in doMul()
47 mat<TYPE, C, R> res; in doMul()
49 for (size_t r=0 ; r<R ; r++) { in doMul()
60 template <typename TYPE, size_t R, size_t D>
61 vec<TYPE, R> PURE doMul( in doMul()
62 const mat<TYPE, D, R>& lhs, in doMul()
65 vec<TYPE, R> res; in doMul()
66 for (size_t r=0 ; r<R ; r++) { in doMul()
76 template <typename TYPE, size_t C, size_t R>
77 mat<TYPE, C, R> PURE doMul( in doMul()
78 const vec<TYPE, R>& lhs, in doMul()
81 mat<TYPE, C, R> res; in doMul()
83 for (size_t r=0 ; r<R ; r++) { in doMul()
90 template <typename TYPE, size_t C, size_t R>
91 mat<TYPE, C, R> PURE doMul( in doMul()
92 const mat<TYPE, C, R>& rhs, in doMul()
95 mat<TYPE, C, R> res; in doMul()
97 for (size_t r=0 ; r<R ; r++) { in doMul()
104 template <typename TYPE, size_t C, size_t R>
105 mat<TYPE, C, R> PURE doMul( in doMul()
107 const mat<TYPE, C, R>& rhs) in doMul()
109 mat<TYPE, C, R> res; in doMul()
111 for (size_t r=0 ; r<R ; r++) { in doMul()
123 template <typename TYPE, size_t C, size_t R>
124 class mat : public vec< vec<TYPE, R>, C > {
126 typedef vec< vec<TYPE, R>, C > base;
133 size_type size() const { return R*C; } in size()
134 enum { ROWS = R, COLS = C };
186 const mat<TYPE, D, R>& lhs,
192 friend vec<TYPE, R> PURE operator * (
199 const vec<TYPE, R>& lhs, const mat<TYPE, C, 1>& rhs) {
233 const vec<TYPE, R>& rhs) {
242 const vec<TYPE, R>& rhs) {
248 column_builder<0> operator << (const vec<TYPE, R>& rhs) {
255 template <typename TYPE, size_t R>
256 class mat<TYPE, 1, R> : public vec<TYPE, R> {
257 typedef vec<TYPE, R> base;
264 size_type size() const { return R; } in size()
265 enum { ROWS = R, COLS = 1 };
277 void operator << (const vec<TYPE, R>& rhs) { base::operator[](0) = rhs; }
289 template <typename TYPE, size_t C, size_t R>
290 mat<TYPE, R, C> PURE transpose(const mat<TYPE, C, R>& m) { in transpose()
291 mat<TYPE, R, C> r; in transpose()
292 for (size_t i=0 ; i<R ; i++) in transpose()