#include "DataFormats/GeometryVector/interface/PreciseFloatType.h"
#include <iostream>
Go to the source code of this file.
Classes | |
class | RKSmallVector< T, N > |
Functions | |
template<class T, class Scal, int N> | |
RKSmallVector< T, N > | operator * (const Scal &s, const RKSmallVector< T, N > &v) |
template<class T, class Scal, int N> | |
RKSmallVector< T, N > | operator * (const RKSmallVector< T, N > &v, const Scal &s) |
Multiplication by scalar, does not change the precision of the vector. | |
template<class T, class U, int N> | |
RKSmallVector< typename PreciseFloatType< T, U >::Type, N > | operator+ (const RKSmallVector< T, N > &a, const RKSmallVector< U, N > &b) |
vector sum and subtraction of vectors of possibly different precision | |
template<class T, class U, int N> | |
RKSmallVector< typename PreciseFloatType< T, U >::Type, N > | operator- (const RKSmallVector< T, N > &a, const RKSmallVector< U, N > &b) |
template<class T, class Scal, int N> | |
RKSmallVector< T, N > | operator/ (const RKSmallVector< T, N > &v, const Scal &s) |
Division by scalar, does not change the precision of the vector. | |
template<class T, int N> | |
std::ostream & | operator<< (std::ostream &s, const RKSmallVector< T, N > &v) |
simple text output to standard streams |
RKSmallVector<T,N> operator * | ( | const Scal & | s, | |
const RKSmallVector< T, N > & | v | |||
) | [inline] |
RKSmallVector<T,N> operator * | ( | const RKSmallVector< T, N > & | v, | |
const Scal & | s | |||
) | [inline] |
Multiplication by scalar, does not change the precision of the vector.
The return type is the same as the type of the vector argument.
Definition at line 118 of file RKSmallVector.h.
00118 { 00119 T t = static_cast<T>(s); 00120 RKSmallVector<T,N> r; 00121 for (int i=0; i<N; ++i) r[i] = t*v[i]; 00122 return r; 00123 }
RKSmallVector<typename PreciseFloatType<T,U>::Type, N> operator+ | ( | const RKSmallVector< T, N > & | a, | |
const RKSmallVector< U, N > & | b | |||
) | [inline] |
RKSmallVector<typename PreciseFloatType<T,U>::Type, N> operator- | ( | const RKSmallVector< T, N > & | a, | |
const RKSmallVector< U, N > & | b | |||
) | [inline] |
RKSmallVector<T,N> operator/ | ( | const RKSmallVector< T, N > & | v, | |
const Scal & | s | |||
) | [inline] |
Division by scalar, does not change the precision of the vector.
The return type is the same as the type of the vector argument.
Definition at line 136 of file RKSmallVector.h.
00136 { 00137 T t = static_cast<T>(s); 00138 RKSmallVector<T,N> r; 00139 for (int i=0; i<N; ++i) r[i] = v[i]/t; 00140 return r; 00141 }
std::ostream& operator<< | ( | std::ostream & | s, | |
const RKSmallVector< T, N > & | v | |||
) | [inline] |