21 #include <vigra/tinyvector.hxx>
22 #include <vigra/numerictraits.hxx>
28 template <
class T,
int SIZE>
33 for (
unsigned int i = 0; i < SIZE; ++i) {
39 for (
unsigned int i = 0; i < SIZE; ++i) {
54 for (
unsigned int i = 0; i < SIZE; ++i) {
62 for (
unsigned int i = 0; i < SIZE; ++i) {
70 for (
unsigned int i = 0; i < SIZE; ++i) {
78 for (
unsigned int i = 0; i < SIZE; ++i) {
86 for (
unsigned int i = 0; i < SIZE; ++i) {
95 for (
unsigned int i = 0; i < SIZE; ++i) {
102 for (
unsigned int i = 0; i < SIZE; ++i) {
112 template <
class T,
int SIZE>
123 typedef typename NumericTraits<T>::isSigned
isSigned;
const AlgTinyVector operator/(const int t) const
static AlgTinyVector< T, SIZE > zero()
const AlgTinyVector operator*(const int t) const
AlgTinyVector(const AlgTinyVector< T, SIZE > &t)
NumericTraits< T >::isSigned isSigned
const T operator[](int i) const
AlgTinyVector< typename NumericTraits< T >::ComplexPromote, SIZE > ComplexPromote
AlgTinyVector< typename NumericTraits< T >::RealPromote, SIZE > RealPromote
const AlgTinyVector operator+(const AlgTinyVector< T, SIZE > &t) const
AlgTinyVector< typename NumericTraits< T >::Promote, SIZE > Promote
AlgTinyVector(T t=NumericTraits< T >::zero())
Fixed size vector with scalar multiplication and element-wise substraction and addition.
const T operator*(const AlgTinyVector< T, SIZE > &t) const
NumericTraits< T >::isIntegral isIntegral
static Promote toPromote(const AlgTinyVector< T, SIZE > &v)
AlgTinyVector & operator=(const AlgTinyVector< T, SIZE > &t)
AlgTinyVector< T, SIZE > Type
static RealPromote toRealPromote(const AlgTinyVector< T, SIZE > &v)
AlgTinyVector & operator=(const TinyVector< T, SIZE > &t)
static AlgTinyVector< T, SIZE > nonZero()
const AlgTinyVector operator-(const AlgTinyVector< T, SIZE > &t) const
static AlgTinyVector< T, SIZE > one()