Lines Matching refs:rv

110     friend inline constexpr VECTOR<T> PURE operator +(VECTOR<T> lv, const VECTOR<RT>& rv) {
112 return lv += rv;
115 friend inline constexpr VECTOR<T> PURE operator -(VECTOR<T> lv, const VECTOR<RT>& rv) {
117 return lv -= rv;
126 friend inline constexpr VECTOR<T> PURE operator +(VECTOR<T> lv, const VECTOR<T>& rv) {
128 return lv += rv;
130 friend inline constexpr VECTOR<T> PURE operator -(VECTOR<T> lv, const VECTOR<T>& rv) {
132 return lv -= rv;
191 friend inline constexpr VECTOR<T> PURE operator *(VECTOR<T> lv, const VECTOR<RT>& rv) {
193 return lv *= rv;
196 friend inline constexpr VECTOR<T> PURE operator /(VECTOR<T> lv, const VECTOR<RT>& rv) {
198 return lv /= rv;
207 friend inline constexpr VECTOR<T> PURE operator *(VECTOR<T> lv, const VECTOR<T>& rv) {
209 return lv *= rv;
211 friend inline constexpr VECTOR<T> PURE operator /(VECTOR<T> lv, const VECTOR<T>& rv) {
213 return lv /= rv;
247 VECTOR<T> const& rv(static_cast<VECTOR<T> const&>(*this));
249 r[i] = -rv[i];
275 bool PURE operator ==(const VECTOR<T>& lv, const VECTOR<RT>& rv) {
277 if (lv[i] != rv[i])
284 bool PURE operator !=(const VECTOR<T>& lv, const VECTOR<RT>& rv) {
285 return !operator ==(lv, rv);
290 bool PURE operator >(const VECTOR<T>& lv, const VECTOR<RT>& rv) {
292 if (lv[i] == rv[i]) {
295 return lv[i] > rv[i];
302 constexpr bool PURE operator <=(const VECTOR<T>& lv, const VECTOR<RT>& rv) {
303 return !(lv > rv);
308 bool PURE operator <(const VECTOR<T>& lv, const VECTOR<RT>& rv) {
310 if (lv[i] == rv[i]) {
313 return lv[i] < rv[i];
320 constexpr bool PURE operator >=(const VECTOR<T>& lv, const VECTOR<RT>& rv) {
321 return !(lv < rv);
326 CONSTEXPR VECTOR<bool> PURE equal(const VECTOR<T>& lv, const VECTOR<RT>& rv) {
329 r[i] = lv[i] == rv[i];
336 CONSTEXPR VECTOR<bool> PURE notEqual(const VECTOR<T>& lv, const VECTOR<RT>& rv) {
339 r[i] = lv[i] != rv[i];
346 CONSTEXPR VECTOR<bool> PURE lessThan(const VECTOR<T>& lv, const VECTOR<RT>& rv) {
349 r[i] = lv[i] < rv[i];
356 CONSTEXPR VECTOR<bool> PURE lessThanEqual(const VECTOR<T>& lv, const VECTOR<RT>& rv) {
359 r[i] = lv[i] <= rv[i];
366 CONSTEXPR VECTOR<bool> PURE greaterThan(const VECTOR<T>& lv, const VECTOR<RT>& rv) {
369 r[i] = lv[i] > rv[i];
376 CONSTEXPR VECTOR<bool> PURE greaterThanEqual(const VECTOR<T>& lv, const VECTOR<RT>& rv) {
379 r[i] = lv[i] >= rv[i];
403 friend inline CONSTEXPR T PURE dot(const VECTOR<T>& lv, const VECTOR<RT>& rv) {
406 //r = std::fma(lv[i], rv[i], r);
407 r += lv[i] * rv[i];
429 friend inline constexpr T PURE distance(const VECTOR<T>& lv, const VECTOR<RT>& rv) {
430 return length(rv - lv);
434 friend inline constexpr T PURE distance2(const VECTOR<T>& lv, const VECTOR<RT>& rv) {
435 return length2(rv - lv);
506 friend inline CONSTEXPR VECTOR<T> PURE fma(const VECTOR<T>& lv, const VECTOR<T>& rv, VECTOR<T> a) {
508 //a[i] = std::fma(lv[i], rv[i], a[i]);
509 a[i] += (lv[i] * rv[i]);