SLIP  1.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Functions
KVector.hpp File Reference

Provides a class to manipulate static and generic vectors. More...

#include <iterator>
#include <iostream>
#include <numeric>
#include <algorithm>
#include <string>
#include <cstddef>
#include "Range.hpp"
#include "stride_iterator.hpp"
#include "norms.hpp"
#include "apply.hpp"
#include "Block.hpp"
#include "complex_cast.hpp"
#include "linear_algebra.hpp"
#include "linear_algebra_traits.hpp"
#include <boost/serialization/access.hpp>
#include <boost/serialization/split_member.hpp>
#include <boost/serialization/complex.hpp>
#include <boost/serialization/version.hpp>
Include dependency graph for KVector.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  slip::kvector< T, N >
 This is a linear (one-dimensional) static vector. This container statisfies the RandomAccessContainer concepts of the Standard Template Library (STL). It extends the interface of Array adding arithmetical: +=, -=, *=, /=, +,-,/,*... and mathematical operators : min, max, abs, sqrt, cos, acos, sin, asin, tan, atan, exp, log, cosh, sinh, tanh, log10, sum, apply, Euclidean norm, L1 norm, L2 norm... More...
 
struct  slip::kvector< T, N >
 This is a linear (one-dimensional) static vector. This container statisfies the RandomAccessContainer concepts of the Standard Template Library (STL). It extends the interface of Array adding arithmetical: +=, -=, *=, /=, +,-,/,*... and mathematical operators : min, max, abs, sqrt, cos, acos, sin, asin, tan, atan, exp, log, cosh, sinh, tanh, log10, sum, apply, Euclidean norm, L1 norm, L2 norm... More...
 

Namespaces

 slip
 This namespace corresponds to the kernel of the Simple Library on Image Processing (SLIP). That is to say that it contains the data structures and the algorithms needed by these data strucutres.
 

Functions

template<typename T , std::size_t N>
std::ostream & slip::operator<< (std::ostream &out, const kvector< T, N > &b)
 
template<typename T , std::size_t N>
bool slip::operator== (const kvector< T, N > &x, const kvector< T, N > &y)
 
template<typename T , std::size_t N>
bool slip::operator!= (const kvector< T, N > &x, const kvector< T, N > &y)
 
template<typename T , std::size_t N>
bool slip::operator< (const kvector< T, N > &x, const kvector< T, N > &y)
 
template<typename T , std::size_t N>
bool slip::operator> (const kvector< T, N > &x, const kvector< T, N > &y)
 
template<typename T , std::size_t N>
bool slip::operator<= (const kvector< T, N > &x, const kvector< T, N > &y)
 
template<typename T , std::size_t N>
bool slip::operator>= (const kvector< T, N > &x, const kvector< T, N > &y)
 
template<typename T , std::size_t N>
kvector< T, N > slip::operator+ (const kvector< T, N > &V1, const kvector< T, N > &V2)
 pointwise addition of two kvector More...
 
template<typename T , std::size_t N>
kvector< T, N > slip::operator+ (const kvector< T, N > &V, const T &val)
 addition of a scalar to each element of a kvector More...
 
template<typename T , std::size_t N>
kvector< T, N > slip::operator+ (const T &val, const kvector< T, N > &V)
 addition of a scalar to each element of a kvector More...
 
template<typename T , std::size_t N>
kvector< T, N > slip::operator- (const kvector< T, N > &V1, const kvector< T, N > &V2)
 pointwise substraction of two kvector More...
 
template<typename T , std::size_t N>
kvector< T, N > slip::operator- (const kvector< T, N > &V, const T &val)
 substraction of a scalar to each element of a kvector More...
 
template<typename T , std::size_t N>
kvector< T, N > slip::operator- (const T &val, const kvector< T, N > &V)
 substraction of a scalar to each element of a kvector More...
 
template<typename T , std::size_t N>
kvector< T, N > slip::operator* (const kvector< T, N > &V1, const kvector< T, N > &V2)
 pointwise multiplication of two kvector More...
 
template<typename T , std::size_t N>
kvector< T, N > slip::operator* (const kvector< T, N > &V, const T &val)
 multiplication of a scalar to each element of a kvector More...
 
template<typename T , std::size_t N>
kvector< T, N > slip::operator* (const T &val, const kvector< T, N > &V)
 multiplication of a scalar to each element of a kvector More...
 
template<typename T , std::size_t N>
kvector< T, N > slip::operator/ (const kvector< T, N > &V1, const kvector< T, N > &V2)
 pointwise division of two kvector More...
 
template<typename T , std::size_t N>
kvector< T, N > slip::operator/ (const kvector< T, N > &V, const T &val)
 division of a scalar to each element of a kvector More...
 
template<typename T , std::size_t N>
T & slip::min (kvector< T, N > &V1)
 
template<typename T , std::size_t N>
T & slip::max (kvector< T, N > &V1)
 
template<typename T , std::size_t N>
kvector< typename
slip::lin_alg_traits< T >
::value_type, N > 
slip::abs (const kvector< T, N > &V)
 
template<typename T , std::size_t N>
kvector< T, N > slip::sqrt (const kvector< T, N > &V)
 
template<typename T , std::size_t N>
kvector< T, N > slip::cos (const kvector< T, N > &V)
 
template<std::size_t N>
kvector< float, N > slip::acos (const kvector< float, N > &V)
 
template<std::size_t N>
kvector< double, N > slip::acos (const kvector< double, N > &V)
 
template<std::size_t N>
kvector< long double, N > slip::acos (const kvector< long double, N > &V)
 
template<typename T , std::size_t N>
kvector< T, N > slip::sin (const kvector< T, N > &V)
 
template<std::size_t N>
kvector< float, N > slip::asin (const kvector< float, N > &V)
 
template<std::size_t N>
kvector< double, N > slip::asin (const kvector< double, N > &V)
 
template<std::size_t N>
kvector< long double, N > slip::asin (const kvector< long double, N > &V)
 
template<typename T , std::size_t N>
kvector< T, N > slip::tan (const kvector< T, N > &V)
 
template<std::size_t N>
kvector< float, N > slip::atan (const kvector< float, N > &V)
 
template<std::size_t N>
kvector< double, N > slip::atan (const kvector< double, N > &V)
 
template<std::size_t N>
kvector< long double, N > slip::atan (const kvector< long double, N > &V)
 
template<typename T , std::size_t N>
kvector< T, N > slip::exp (const kvector< T, N > &V)
 
template<typename T , std::size_t N>
kvector< T, N > slip::log (const kvector< T, N > &V)
 
template<typename T , std::size_t N>
kvector< T, N > slip::cosh (const kvector< T, N > &V)
 
template<typename T , std::size_t N>
kvector< T, N > slip::sinh (const kvector< T, N > &V)
 
template<typename T , std::size_t N>
kvector< T, N > slip::tanh (const kvector< T, N > &V)
 
template<typename T , std::size_t N>
kvector< T, N > slip::log10 (const kvector< T, N > &V)
 

Detailed Description

Provides a class to manipulate static and generic vectors.

Definition in file KVector.hpp.