|
ampsci
High-precision calculations for one- and two-valence atomic systems
|
Operator overloads for std::vector.
Provides element-wise +, -, *, / between two vectors, and between a vector and a scalar. Use using namespace qip::overloads; to enable.
Functions | |
| template<typename T > | |
| std::vector< T > & | operator+= (std::vector< T > &a, const std::vector< T > &b) |
| Element-wise addition: a += b, a + b. | |
| template<typename T > | |
| std::vector< T > | operator+ (std::vector< T > a, const std::vector< T > &b) |
| template<typename T > | |
| std::vector< T > & | operator-= (std::vector< T > &a, const std::vector< T > &b) |
| Element-wise subtraction: a -= b, a - b. | |
| template<typename T > | |
| std::vector< T > | operator- (std::vector< T > a, const std::vector< T > &b) |
| template<typename T , typename U > | |
| std::vector< T > & | operator*= (std::vector< T > &v, U x) |
| template<typename T , typename U > | |
| std::vector< T > | operator* (std::vector< T > v, U x) |
| template<typename T , typename U > | |
| std::vector< T > | operator* (U x, std::vector< T > v) |
| template<typename T , typename U > | |
| std::vector< T > & | operator/= (std::vector< T > &v, U x) |
| template<typename T , typename U > | |
| std::vector< T > | operator/ (std::vector< T > v, U x) |
| template<typename T , typename U > | |
| std::vector< T > & | operator+= (std::vector< T > &v, U x) |
| template<typename T , typename U > | |
| std::vector< T > | operator+ (std::vector< T > v, U x) |
| template<typename T , typename U > | |
| std::vector< T > | operator+ (U x, std::vector< T > v) |
| template<typename T , typename U > | |
| std::vector< T > & | operator-= (std::vector< T > &v, U x) |
| template<typename T , typename U > | |
| std::vector< T > | operator- (std::vector< T > v, U x) |
| template<typename T , typename U > | |
| std::vector< T > | operator- (U x, std::vector< T > v) |
| template<typename T , typename U > | |
| std::vector< T > | operator/ (U x, std::vector< T > v) |
| template<typename T > | |
| std::vector< T > & | operator*= (std::vector< T > &a, const std::vector< T > &b) |
| In-place element-wise multiplication: a*=b => a_i := a_i * b_i. | |
| template<typename T > | |
| std::vector< T > | operator* (std::vector< T > a, const std::vector< T > &b) |
| Element-wise multiplication: c=a*b => c_i = a_i * b_i. | |
| template<typename T > | |
| std::vector< T > & | operator/= (std::vector< T > &a, const std::vector< T > &b) |
| In-place element-wise division: a/=b => a_i := a_i / b_i. | |
| template<typename T > | |
| std::vector< T > | operator/ (std::vector< T > a, const std::vector< T > &b) |
| Element-wise division: c=a/b => c_i = a_i / b_i. | |
| std::vector< T > & qip::overloads::operator+= | ( | std::vector< T > & | a, |
| const std::vector< T > & | b | ||
| ) |
Element-wise addition: a += b, a + b.
| std::vector< T > & qip::overloads::operator-= | ( | std::vector< T > & | a, |
| const std::vector< T > & | b | ||
| ) |
Element-wise subtraction: a -= b, a - b.
| std::vector< T > & qip::overloads::operator*= | ( | std::vector< T > & | a, |
| const std::vector< T > & | b | ||
| ) |
In-place element-wise multiplication: a*=b => a_i := a_i * b_i.
| std::vector< T > qip::overloads::operator* | ( | std::vector< T > | a, |
| const std::vector< T > & | b | ||
| ) |
Element-wise multiplication: c=a*b => c_i = a_i * b_i.
| std::vector< T > & qip::overloads::operator/= | ( | std::vector< T > & | a, |
| const std::vector< T > & | b | ||
| ) |
In-place element-wise division: a/=b => a_i := a_i / b_i.
| std::vector< T > qip::overloads::operator/ | ( | std::vector< T > | a, |
| const std::vector< T > & | b | ||
| ) |
Element-wise division: c=a/b => c_i = a_i / b_i.