MADNESS
version 0.9
|
A simple, fixed dimension Coordinate. More...
#include <array.h>
Public Types | |
typedef std::array< T, N > | arrayT |
typedef arrayT::value_type | value_type |
typedef arrayT::iterator | iterator |
typedef arrayT::const_iterator | const_iterator |
typedef arrayT::reverse_iterator | reverse_iterator |
typedef arrayT::const_reverse_iterator | const_reverse_iterator |
typedef arrayT::reference | reference |
typedef arrayT::const_reference | const_reference |
typedef arrayT::size_type | size_type |
typedef arrayT::difference_type | difference_type |
Public Member Functions | |
Vector () | |
Default constructor does not initialize vector contents. More... | |
template<typename Q > | |
Vector (Q t) | |
Initialize all elements to value t. More... | |
template<typename Q > | |
Vector (const Q(&t)[N]) | |
Construct from a C-style array of the same dimension. More... | |
template<typename Q , typename A > | |
Vector (const std::vector< Q, A > &t) | |
Construct from an STL vector of equal or greater length. More... | |
template<typename Q > | |
Vector (const std::array< Q, N > &t) | |
Vector (const Vector< T, N > &other) | |
Copy constructor is deep (since a coordinate is POD) More... | |
template<typename Q > | |
Vector (const Vector< Q, N > &other) | |
Copy constructor is deep (since a coordinate is POD) More... | |
Vector< T, N > & | operator= (const Vector< T, N > &other) |
Assignment is deep (since a vector is POD) More... | |
template<typename Q > | |
Vector< T, N > & | operator= (const Vector< Q, N > &other) |
Assignment is deep (since a vector is POD) More... | |
template<typename Q , typename A > | |
Vector< T, N > & | operator= (const std::vector< Q, A > &other) |
Assignment is deep (since a vector is POD) More... | |
Vector< T, N > & | operator= (const T &t) |
Fill from scalar value. More... | |
operator std::array< T, N > () | |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
reverse_iterator | rbegin () |
const_reverse_iterator | rbegin () const |
reverse_iterator | rend () |
const_reverse_iterator | rend () const |
size_type | size () const |
bool | empty () const |
size_type | max_size () const |
reference | operator[] (size_type i) |
const_reference | operator[] (size_type i) const |
reference | at (size_type i) |
const_reference | at (size_type i) const |
reference | front () |
const_reference | front () const |
reference | back () |
const_reference | back () const |
const T * | data () const |
T * | c_array () |
void | swap (Vector< T, N > &other) |
void | fill (const T &t) |
template<typename Q > | |
Vector< T, N > & | operator*= (Q q) |
In-place element-wise multiplcation by a scalar. More... | |
template<typename Q > | |
Vector< T, N > & | operator+= (const Vector< Q, N > &q) |
In-place element-wise addition of another vector. More... | |
template<typename Q > | |
Vector< T, N > & | operator-= (const Vector< Q, N > &q) |
In-place element-wise subtraction of another vector. More... | |
T | normf () const |
return the 2-norm of the vector elements More... | |
template<typename Archive > | |
void | serialize (Archive &ar) |
Support for MADNESS serialization. More... | |
hashT | hash () const |
Support for MADNESS hashing. More... | |
Static Public Attributes | |
static const size_type | static_size = N |
The size of the vector. More... | |
Friends | |
bool | operator== (const Vector< T, N > &l, const Vector< T, N > &r) |
bool | operator!= (const Vector< T, N > &l, const Vector< T, N > &r) |
bool | operator< (const Vector< T, N > &l, const Vector< T, N > &r) |
bool | operator> (const Vector< T, N > &l, const Vector< T, N > &r) |
bool | operator<= (const Vector< T, N > &l, const Vector< T, N > &r) |
bool | operator>= (const Vector< T, N > &l, const Vector< T, N > &r) |
std::ostream & | operator<< (std::ostream &s, const Vector< T, N > &v) |
Output Vector to stream for human consumption. More... | |
A simple, fixed dimension Coordinate.
Eliminates memory allocation cost, is just POD so can be copied easily and allocated on the stack, and the known dimension permits aggressive compiler optimizations.
typedef std::array<T,N> madness::Vector< T, N >::arrayT |
typedef arrayT::const_iterator madness::Vector< T, N >::const_iterator |
typedef arrayT::const_reference madness::Vector< T, N >::const_reference |
typedef arrayT::const_reverse_iterator madness::Vector< T, N >::const_reverse_iterator |
typedef arrayT::difference_type madness::Vector< T, N >::difference_type |
typedef arrayT::iterator madness::Vector< T, N >::iterator |
typedef arrayT::reference madness::Vector< T, N >::reference |
typedef arrayT::reverse_iterator madness::Vector< T, N >::reverse_iterator |
typedef arrayT::size_type madness::Vector< T, N >::size_type |
typedef arrayT::value_type madness::Vector< T, N >::value_type |
|
inline |
Default constructor does not initialize vector contents.
|
inlineexplicit |
Initialize all elements to value t.
|
inlineexplicit |
Construct from a C-style array of the same dimension.
|
inlineexplicit |
Construct from an STL vector of equal or greater length.
|
inlineexplicit |
|
inline |
Copy constructor is deep (since a coordinate is POD)
|
inline |
Copy constructor is deep (since a coordinate is POD)
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Referenced by TipMolecule::Inhomogeneity(), and main().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Referenced by madness::Vector< int, 3 >::operator=(), and madness::Vector< int, 3 >::Vector().
|
inline |
|
inline |
|
inline |
Support for MADNESS hashing.
|
inline |
|
inline |
return the 2-norm of the vector elements
Referenced by madness::n12().
|
inline |
|
inline |
In-place element-wise multiplcation by a scalar.
Returns a reference to this for chaining operations
|
inline |
In-place element-wise addition of another vector.
Returns a reference to this for chaining operations
|
inline |
In-place element-wise subtraction of another vector.
Returns a reference to this for chaining operations
|
inline |
Assignment is deep (since a vector is POD)
Referenced by madness::Vector< int, 3 >::Vector().
|
inline |
Assignment is deep (since a vector is POD)
|
inline |
Assignment is deep (since a vector is POD)
|
inline |
Fill from scalar value.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Support for MADNESS serialization.
|
inline |
|
inline |
Referenced by madness::swap().
|
friend |
|
friend |
|
friend |
Output Vector to stream for human consumption.
|
friend |
|
friend |
|
friend |
|
friend |
|
static |
The size of the vector.