[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]
|
Functions for TinyVector | ![]() |
Implement basic arithmetic and equality for TinyVector. More...
Functions | |
| template<class V , int SIZE, class D1 , class D2 > | |
| TinyVector< V, SIZE > | abs (TinyVectorBase< V, SIZE, D1, D2 > const &v) |
| component-wise absolute value | |
| template<class V1 , int SIZE, class D1 , class D2 , class V2 , class D3 , class D4 > | |
| bool | allGreater (TinyVectorBase< V1, SIZE, D1, D2 > const &l, TinyVectorBase< V2, SIZE, D3, D4 > const &r) |
| pointwise greater-than | |
| template<class V1 , int SIZE, class D1 , class D2 , class V2 , class D3 , class D4 > | |
| bool | allGreaterEqual (TinyVectorBase< V1, SIZE, D1, D2 > const &l, TinyVectorBase< V2, SIZE, D3, D4 > const &r) |
| pointwise greater-equal | |
| template<class V1 , int SIZE, class D1 , class D2 , class V2 , class D3 , class D4 > | |
| bool | allLess (TinyVectorBase< V1, SIZE, D1, D2 > const &l, TinyVectorBase< V2, SIZE, D3, D4 > const &r) |
| pointwise less-than | |
| template<class V1 , int SIZE, class D1 , class D2 , class V2 , class D3 , class D4 > | |
| bool | allLessEqual (TinyVectorBase< V1, SIZE, D1, D2 > const &l, TinyVectorBase< V2, SIZE, D3, D4 > const &r) |
| pointwise less-equal | |
| template<class V , int SIZE, class D1 , class D2 > | |
| TinyVector< V, SIZE > | ceil (TinyVectorBase< V, SIZE, D1, D2 > const &v) |
| template<int SIZE> | |
| TinyVector< UInt32, SIZE > | ceilPower2 (vigra::TinyVector< UInt32, SIZE > const &t) |
| Round up values to the nearest power of 2. Implemented only for UInt32. | |
| template<class V , int SIZE> | |
| TinyVector< V, SIZE > | clip (TinyVector< V, SIZE > const &t, const V valLower, const V valUpper) |
| Clip values to an interval. More... | |
| template<class V , int SIZE> | |
| TinyVector< V, SIZE > | clip (TinyVector< V, SIZE > const &t, TinyVector< V, SIZE > const &valLower, TinyVector< V, SIZE > const &valUpper) |
| Clip values to a vector of intervals. More... | |
| template<class V , int SIZE> | |
| TinyVector< V, SIZE > | clipLower (TinyVector< V, SIZE > const &t) |
| Clip negative values. More... | |
| template<class V , int SIZE> | |
| TinyVector< V, SIZE > | clipLower (TinyVector< V, SIZE > const &t, const V val) |
| Clip values below a threshold. More... | |
| template<class V , int SIZE> | |
| TinyVector< V, SIZE > | clipUpper (TinyVector< V, SIZE > const &t, const V val) |
| Clip values above a threshold. More... | |
| template<class V1 , class D1 , class D2 , class V2 , class D3 , class D4 > | |
| TinyVector< typename PromoteTraits< V1, V2 > ::Promote, 3 > | cross (TinyVectorBase< V1, 3, D1, D2 > const &r1, TinyVectorBase< V2, 3, D3, D4 > const &r2) |
| cross product | |
| template<class V , int SIZE, class D1 , class D2 > | |
| TinyVector< typename NumericTraits< V >::Promote, SIZE > | cumprod (TinyVectorBase< V, SIZE, D1, D2 > const &l) |
| cumulative product of the vector's elements | |
| template<class V , int SIZE, class D1 , class D2 > | |
| TinyVector< typename NumericTraits< V >::Promote, SIZE > | cumsum (TinyVectorBase< V, SIZE, D1, D2 > const &l) |
| cumulative sum of the vector's elements | |
| template<class V , int SIZE, class D1 , class D2 > | |
| TinyVector< V, SIZE > | div (TinyVectorBase< V, SIZE, D1, D2 > const &l, V v) |
| component-wise scalar division without type promotion | |
| template<class V1 , int SIZE, class D1 , class D2 , class V2 , class D3 , class D4 > | |
| PromoteTraits< V1, V2 >::Promote | dot (TinyVectorBase< V1, SIZE, D1, D2 > const &l, TinyVectorBase< V2, SIZE, D3, D4 > const &r) |
| dot product | |
| template<class V , int SIZE, class D1 , class D2 > | |
| TinyVector< V, SIZE > | floor (TinyVectorBase< V, SIZE, D1, D2 > const &v) |
| template<int SIZE> | |
| TinyVector< UInt32, SIZE > | floorPower2 (vigra::TinyVector< UInt32, SIZE > const &t) |
| Round down values to the nearest power of 2. Implemented only for UInt32. | |
| template<class V1 , int SIZE, class D1 , class D2 , class V2 , class D3 , class D4 > | |
| TinyVector< typename PromoteTraits< V1, V2 > ::Promote, SIZE > | max (TinyVectorBase< V1, SIZE, D1, D2 > const &l, TinyVectorBase< V2, SIZE, D3, D4 > const &r) |
| element-wise maximum | |
| template<class V , int SIZE, class D1 , class D2 > | |
| V const & | max (TinyVectorBase< V, SIZE, D1, D2 > const &l) |
| maximum element | |
| template<class V1 , int SIZE, class D1 , class D2 , class V2 , class D3 , class D4 > | |
| TinyVector< typename PromoteTraits< V1, V2 > ::Promote, SIZE > | min (TinyVectorBase< V1, SIZE, D1, D2 > const &l, TinyVectorBase< V2, SIZE, D3, D4 > const &r) |
| element-wise minimum | |
| template<class V , int SIZE, class D1 , class D2 > | |
| V const & | min (TinyVectorBase< V, SIZE, D1, D2 > const &l) |
| minimum element | |
| template<class V1 , int SIZE, class D1 , class D2 , class V2 , class D3 , class D4 > | |
| bool | operator!= (TinyVectorBase< V1, SIZE, D1, D2 > const &l, TinyVectorBase< V2, SIZE, D3, D4 > const &r) |
| component-wise not equal | |
| template<class V1 , int SIZE, class D1 , class D2 , class V2 , class D3 , class D4 > | |
| PromoteTraits< TinyVector< V1, SIZE >, TinyVector< V2, SIZE > >::Promote | operator% (TinyVectorBase< V1, SIZE, D1, D2 > const &l, TinyVectorBase< V2, SIZE, D3, D4 > const &r) |
| component-wise modulo | |
| template<class V1 , int SIZE, class D1 , class D2 , class V2 , class D3 , class D4 > | |
| PromoteTraits< TinyVector< V1, SIZE >, TinyVector< V2, SIZE > >::Promote | operator* (TinyVectorBase< V1, SIZE, D1, D2 > const &l, TinyVectorBase< V2, SIZE, D3, D4 > const &r) |
| component-wise multiplication | |
| template<class V , int SIZE, class D1 , class D2 > | |
| NumericTraits< TinyVector< V, SIZE > >::RealPromote | operator* (double v, TinyVectorBase< V, SIZE, D1, D2 > const &r) |
| component-wise left scalar multiplication | |
| template<class V , int SIZE, class D1 , class D2 > | |
| NumericTraits< TinyVector< V, SIZE > >::RealPromote | operator* (TinyVectorBase< V, SIZE, D1, D2 > const &l, double v) |
| component-wise right scalar multiplication | |
| template<class V1 , int SIZE, class D1 , class D2 , class V2 , class D3 , class D4 > | |
| PromoteTraits< TinyVector< V1, SIZE >, TinyVector< V2, SIZE > >::Promote | operator+ (TinyVectorBase< V1, SIZE, D1, D2 > const &l, TinyVectorBase< V2, SIZE, D3, D4 > const &r) |
| component-wise addition | |
| template<class V , int SIZE, class D1 , class D2 > | |
| NumericTraits< TinyVector< V, SIZE > >::RealPromote | operator+ (double v, TinyVectorBase< V, SIZE, D1, D2 > const &r) |
| component-wise left scalar addition | |
| template<class V , int SIZE, class D1 , class D2 > | |
| NumericTraits< TinyVector< V, SIZE > >::RealPromote | operator+ (TinyVectorBase< V, SIZE, D1, D2 > const &l, double v) |
| component-wise right scalar addition | |
| template<class V1 , int SIZE, class D1 , class D2 , class V2 , class D3 , class D4 > | |
| PromoteTraits< TinyVector< V1, SIZE >, TinyVector< V2, SIZE > >::Promote | operator- (TinyVectorBase< V1, SIZE, D1, D2 > const &l, TinyVectorBase< V2, SIZE, D3, D4 > const &r) |
| component-wise subtraction | |
| template<class V , int SIZE, class D1 , class D2 > | |
| NumericTraits< TinyVector< V, SIZE > >::RealPromote | operator- (double v, TinyVectorBase< V, SIZE, D1, D2 > const &r) |
| component-wise left scalar subtraction | |
| template<class V , int SIZE, class D1 , class D2 > | |
| NumericTraits< TinyVector< V, SIZE > >::RealPromote | operator- (TinyVectorBase< V, SIZE, D1, D2 > const &l, double v) |
| component-wise right scalar subtraction | |
| template<class V , int SIZE, class D1 , class D2 > | |
| TinyVector< V, SIZE > | operator- (TinyVectorBase< V, SIZE, D1, D2 > const &v) |
| template<class V1 , int SIZE, class D1 , class D2 , class V2 , class D3 , class D4 > | |
| PromoteTraits< TinyVector< V1, SIZE >, TinyVector< V2, SIZE > >::Promote | operator/ (TinyVectorBase< V1, SIZE, D1, D2 > const &l, TinyVectorBase< V2, SIZE, D3, D4 > const &r) |
| component-wise division | |
| template<class V , int SIZE, class D1 , class D2 > | |
| NumericTraits< TinyVector< V, SIZE > >::RealPromote | operator/ (double v, TinyVectorBase< V, SIZE, D1, D2 > const &r) |
| component-wise left scalar division | |
| template<class V , int SIZE, class D1 , class D2 > | |
| NumericTraits< TinyVector< V, SIZE > >::RealPromote | operator/ (TinyVectorBase< V, SIZE, D1, D2 > const &l, double v) |
| component-wise right scalar division | |
| template<class V1 , int SIZE, class D1 , class D2 , class V2 , class D3 , class D4 > | |
| bool | operator< (TinyVectorBase< V1, SIZE, D1, D2 > const &l, TinyVectorBase< V2, SIZE, D3, D4 > const &r) |
| lexicographical comparison | |
| template<class V1 , int SIZE, class DATA , class DERIVED > | |
| std::ostream & | operator<< (std::ostream &out, TinyVectorBase< V1, SIZE, DATA, DERIVED > const &l) |
| stream output | |
| template<class V1 , int SIZE, class D1 , class D2 , class V2 , class D3 , class D4 > | |
| bool | operator== (TinyVectorBase< V1, SIZE, D1, D2 > const &l, TinyVectorBase< V2, SIZE, D3, D4 > const &r) |
| component-wise equal | |
| template<class V , int SIZE, class D1 , class D2 , class E > | |
| TinyVector< V, SIZE > | pow (TinyVectorBase< V, SIZE, D1, D2 > const &v, E exponent) |
| template<class V , int SIZE, class D1 , class D2 > | |
| NumericTraits< V >::Promote | prod (TinyVectorBase< V, SIZE, D1, D2 > const &l) |
| product of the vector's elements | |
| template<class V , int SIZE> | |
| TinyVector< V, SIZE > | reverse (TinyVector< V, SIZE > const &t) |
| reversed copy | |
| template<class V , int SIZE, class D1 , class D2 > | |
| TinyVector< V, SIZE > | round (TinyVectorBase< V, SIZE, D1, D2 > const &v) |
| template<class V , int SIZE, class D1 , class D2 > | |
| TinyVector< std::ptrdiff_t, SIZE > | roundi (TinyVectorBase< V, SIZE, D1, D2 > const &v) |
| template<class V , int SIZE, class D1 , class D2 > | |
| TinyVector< V, SIZE > | sqrt (TinyVectorBase< V, SIZE, D1, D2 > const &v) |
| template<class V1 , int SIZE, class D1 , class D2 > | |
| TinyVectorBase< V1, SIZE, D1, D2 >::SquaredNormType | squaredNorm (TinyVectorBase< V1, SIZE, D1, D2 > const &t) |
| squared norm | |
| template<class V , int SIZE> | |
| TinyVector< V, SIZE > ::SquaredNormType | squaredNorm (TinyVector< V, SIZE > const &t) |
| squared norm | |
| template<class V , int SIZE, class D1 , class D2 > | |
| NumericTraits< V >::Promote | sum (TinyVectorBase< V, SIZE, D1, D2 > const &l) |
| sum of the vector's elements | |
| template<class V , int SIZE, class T > | |
| TinyVector< V, SIZE > | transpose (TinyVector< V, SIZE > const &t, TinyVector< T, SIZE > const &permutation) |
| transposed copy More... | |
Implement basic arithmetic and equality for TinyVector.
These functions fulfill the requirements of a Linear Space (vector space). Return types are determined according to Numeric and Promote Traits of TinyVector.
#include <vigra/tinyvector.hxx>
Namespace: vigra
| TinyVector<V, SIZE> vigra::operator- | ( | TinyVectorBase< V, SIZE, D1, D2 > const & | v | ) |
Unary negation (construct TinyVector with negative values)
| TinyVector<V, SIZE> vigra::ceil | ( | TinyVectorBase< V, SIZE, D1, D2 > const & | v | ) |
Apply ceil() function to each vector component.
| TinyVector<V, SIZE> vigra::floor | ( | TinyVectorBase< V, SIZE, D1, D2 > const & | v | ) |
Apply floor() function to each vector component.
| TinyVector<V, SIZE> vigra::round | ( | TinyVectorBase< V, SIZE, D1, D2 > const & | v | ) |
Apply round() function to each vector component.
| TinyVector<std::ptrdiff_t, SIZE> vigra::roundi | ( | TinyVectorBase< V, SIZE, D1, D2 > const & | v | ) |
Apply roundi() function to each vector component, i.e. return an integer vector.
| TinyVector<V, SIZE> vigra::sqrt | ( | TinyVectorBase< V, SIZE, D1, D2 > const & | v | ) |
Apply sqrt() function to each vector component.
| TinyVector<V, SIZE> vigra::pow | ( | TinyVectorBase< V, SIZE, D1, D2 > const & | v, |
| E | exponent | ||
| ) |
Apply pow() function to each vector component.
| TinyVector<V, SIZE> vigra::transpose | ( | TinyVector< V, SIZE > const & | t, |
| TinyVector< T, SIZE > const & | permutation | ||
| ) |
transposed copy
Elements are arranged such that res[k] = t[permutation[k]].
| TinyVector<V, SIZE> vigra::clipLower | ( | TinyVector< V, SIZE > const & | t | ) |
Clip negative values.
All elements smaller than 0 are set to zero.
| TinyVector<V, SIZE> vigra::clipLower | ( | TinyVector< V, SIZE > const & | t, |
| const V | val | ||
| ) |
Clip values below a threshold.
All elements smaller than val are set to val.
| TinyVector<V, SIZE> vigra::clipUpper | ( | TinyVector< V, SIZE > const & | t, |
| const V | val | ||
| ) |
Clip values above a threshold.
All elements bigger than val are set to val.
| TinyVector<V, SIZE> vigra::clip | ( | TinyVector< V, SIZE > const & | t, |
| const V | valLower, | ||
| const V | valUpper | ||
| ) |
Clip values to an interval.
All elements less than valLower are set to valLower, all elements bigger than valUpper are set to valUpper.
| TinyVector<V, SIZE> vigra::clip | ( | TinyVector< V, SIZE > const & | t, |
| TinyVector< V, SIZE > const & | valLower, | ||
| TinyVector< V, SIZE > const & | valUpper | ||
| ) |
Clip values to a vector of intervals.
All elements less than valLower are set to valLower, all elements bigger than valUpper are set to valUpper.
|
© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de) |
html generated using doxygen and Python
|