YAP
|
#include "fwd/Vector.h"
#include "Matrix.h"
#include <algorithm>
#include <array>
#include <cmath>
#include <iterator>
#include <numeric>
#include <ostream>
#include <string>
#include <type_traits>
Go to the source code of this file.
Classes | |
class | VectorIterator< T, N > |
Iterator for Vector class. More... | |
class | VectorExpression< T, N, E > |
Class for holding vector expressions. More... | |
class | Vector< T, N > |
N-dimensional column vector. More... | |
class | VectorAddition< T, N, E1, E2 > |
Expression for addition of two VectorExpressions. More... | |
class | VectorSubtraction< T, N, E1, E2 > |
Expression for subtraction of two VectorExpressions. More... | |
Namespaces | |
yap | |
Functions | |
template<typename T , size_t N> | |
const VectorIterator< T, N > | operator+ (VectorIterator< T, N > a, typename VectorIterator< T, N >::difference_type n) |
addition operator | |
template<typename T , size_t N> | |
const VectorIterator< T, N > | operator+ (typename VectorIterator< T, N >::difference_type n, VectorIterator< T, N > a) |
addition operator | |
template<typename T , size_t N> | |
const VectorIterator< T, N > | operator- (VectorIterator< T, N > a, typename VectorIterator< T, N >::difference_type n) |
subtraction operator | |
template<typename T , size_t N> | |
bool | operator>= (VectorIterator< T, N > a, VectorIterator< T, N > b) |
greater-than-or-equal operator | |
template<typename T , size_t N> | |
bool | operator<= (VectorIterator< T, N > a, VectorIterator< T, N > b) |
less-than-or-equal operator | |
template<typename T , size_t N, typename E1 , typename E2 > | |
constexpr VectorAddition< T, N, E1, E2 > | operator+ (const VectorExpression< T, N, E1 > &a, const VectorExpression< T, N, E2 > &b) |
addition of two vectors | |
template<typename T , size_t N, typename E1 , typename E2 > | |
constexpr VectorSubtraction< T, N, E1, E2 > | operator- (const VectorExpression< T, N, E1 > &a, const VectorExpression< T, N, E2 > &b) |
subtraction of two vectors | |
template<typename T , size_t N> | |
std::string | to_string (const Vector< T, N > &V) |
template<typename T , size_t N> | |
std::ostream & | operator<< (std::ostream &os, const Vector< T, N > &V) |
streamer | |
template<typename T , size_t N> | |
Vector< T, N > & | operator+= (Vector< T, N > &A, const Vector< T, N > &B) |
addition assignment | |
template<typename T , size_t N> | |
constexpr Vector< T, N > | operator- (const Vector< T, N > &V) |
unary minus | |
template<typename T , size_t N> | |
Vector< T, N > & | operator-= (Vector< T, N > &A, const Vector< T, N > &B) |
subtraction assignment | |
template<typename T , size_t N> | |
Vector< T, N > & | operator*= (Vector< T, N > &A, const T &B) |
(assignment) multiplication by a single element | |
template<typename T , size_t N> | |
const Vector< T, N > | operator* (const Vector< T, N > &A, const T &c) |
multiplication: #Vector<T> * T | |
template<typename T , size_t N> | |
constexpr Vector< T, N > | operator* (const T &c, const Vector< T, N > &A) |
multiplication: T * #Vector<T> | |
template<typename T , size_t N> | |
Vector< T, N > & | operator/= (Vector< T, N > &A, const T &B) |
(assignment) division by a single element | |
template<typename T , size_t N> | |
const Vector< T, N > | operator/ (const Vector< T, N > &A, const T &c) |
division: #Vector<T> / T | |
template<typename T , size_t N> | |
constexpr T | abs (const Vector< T, N > &A) |
template<typename T , size_t N> | |
const Vector< T, N > | unit (const Vector< T, N > &V) |
template<typename T , size_t R, size_t C> | |
const Vector< T, R > | operator* (const Matrix< T, R, C > &M, const Vector< T, C > &V) |
Matrix * Vector. | |
template<typename T1 , typename T2 , size_t R, size_t C> | |
auto | operator* (const Matrix< T1, R, C > &M, const Vector< T2, C > &V) -> const Vector< typename std::remove_cv< decltype(operator*(M[0][0], V[0]))>::type, R > |
Matrix * Vector with different template types. | |
template<typename T , size_t N> | |
const SquareMatrix< T, N > | outer (const Vector< T, N > &A, const Vector< T, N > &B) |
outer product | |