#include <PlayaVectorDecl.hpp>
Public Member Functions | |
Constructors, Destructors, and Assignment Operators | |
Vector () | |
Vector (Playa::Handleable< VectorBase< Scalar > > *rawPtr) | |
Vector (const Teuchos::RCP< VectorBase< Scalar > > &smartPtr) | |
template<int N> | |
Vector (const LCN< Scalar, N > &x) | |
Construct a vector from an N-term LC. | |
Vector< Scalar > & | operator= (const LCN< Scalar, 1 > &x) |
Assign a one-term LC to this vector. | |
Vector< Scalar > & | operator= (const LCN< Scalar, 2 > &x) |
Assign a two-term LC to this vector. | |
Vector< Scalar > & | operator= (const LCN< Scalar, 3 > &x) |
Assign a three-term LC to this vector. | |
template<int N> | |
Vector< Scalar > & | operator= (const LCN< Scalar, N > &x) |
Assign an N-term LC to this vector. | |
Operators with assignment | |
Vector< Scalar > & | operator+= (const Vector< Scalar > &other) |
Vector< Scalar > & | operator+= (const LCN< Scalar, 1 > &x) |
Vector< Scalar > & | operator+= (const LCN< Scalar, 2 > &x) |
template<int N> | |
Vector< Scalar > & | operator+= (const LCN< Scalar, N > &x) |
Vector< Scalar > & | operator-= (const Vector< Scalar > &other) |
Vector< Scalar > & | operator-= (const LCN< Scalar, 1 > &x) |
Vector< Scalar > & | operator-= (const LCN< Scalar, 2 > &x) |
template<int N> | |
Vector< Scalar > & | operator-= (const LCN< Scalar, N > &x) |
Vector< Scalar > & | operator*= (const Scalar &a) |
Vector< Scalar > & | operator/= (const Scalar &a) |
Structural information | |
VectorSpace< Scalar > | space () const |
My space. | |
const MPIComm & | comm () const |
My communicator. | |
int | dim () const |
My dimension. | |
Block operations | |
int | numBlocks () const |
get number of blocks | |
void | setBlock (int i, const Vector< Scalar > &v) |
set the i-th block | |
const Vector< Scalar > & | getBlock (int i) const |
get the i-th block | |
Vector< Scalar > | getNonConstBlock (int i) |
get the i-th block | |
const Vector< Scalar > & | getBlock (const BlockIterator< Scalar > &b) const |
get the i-th block | |
Vector< Scalar > | getNonConstBlock (const BlockIterator< Scalar > &b) |
get the i-th block | |
Sequential data accessors | |
ConstDataChunk< Scalar > | nextConstChunk () const |
Get the next chunk of values for read-only access. | |
NonConstDataChunk< Scalar > | nextChunk () |
Get the next chunk of values for read-write access. | |
bool | hasMoreChunks () const |
Tell whether there are more chunks remaining to be accessed. | |
void | rewind () const |
Reset the data stream back to a state where all chunks are considered unread. | |
Random access to local elements | |
const Scalar & | operator[] (int localIndex) const |
const bracket operator for read-only random access to local elements as specified by a flat index that runs from 0 to space().numLocalElements(). If the vector does not consist of a single contiguous data chunk, this might be slow (worst case would be O(N), if every element is stored in its own chunk of length 1). | |
Scalar & | operator[] (int localIndex) |
non-const bracket operator for read-write random access to local elements as specified by a flat index that runs from 0 to space().numLocalElements(). If the vector does not consist of a single contiguous data chunk, this might be slow (worst case would be O(N), if every element is stored in its own chunk of length 1). | |
const Scalar & | operator() (const BlockIterator< Scalar > &b, int localIndexWithinBlock) const |
parentheses operator for read-only random access to local elements as specified by a block iterator and a flat index indicating the element's location within that block. | |
Scalar & | operator() (const BlockIterator< Scalar > &b, int localIndexWithinBlock) |
parentheses operator for read-write random access to local elements as specified by a block iterator and a flat index indicating the element's location within that block. | |
Diagnostic output | |
std::string | description () const |
Return a short string description of the vector. | |
void | print (std::ostream &os) const |
Print the vector in some detail. | |
Math operations | |
Vector< Scalar > & | scale (const Scalar &alpha) |
Multiply this vector by a constant scalar factor. | |
Vector< Scalar > & | update (const Scalar &alpha, const Vector< Scalar > &x, const Scalar &gamma=1.0) |
Add a scaled vector to this vector times a constant: . | |
Vector< Scalar > & | update (const Scalar &alpha, const Vector< Scalar > &x, const Scalar &beta, const Vector< Scalar > &y, const Scalar &gamma) |
Add two scaled vectors to this vector times a constant: . | |
Vector< Scalar > & | update (const Scalar &alpha, const Vector< Scalar > &x, const Scalar &beta, const Vector< Scalar > &y, const Scalar &gamma, const Vector< Scalar > &z, const Scalar &delta) |
Add three scaled vectors to this vector times a constant: . | |
Vector< Scalar > & | acceptCopyOf (const Vector< Scalar > &x) |
Copy the values of another vector into this vector. | |
Vector< Scalar > | copy () const |
Create a new vector that is a copy of this vector. | |
Vector< Scalar > & | selfDotStar (const Vector< Scalar > &other) |
In-place element-by-element product (Matlab dot-star operator). | |
Vector< Scalar > & | selfDotSlash (const Vector< Scalar > &other) |
In-place element-by-element division (Matlab dot-slash operator). | |
Vector< Scalar > | dotStar (const Vector< Scalar > &other) const |
Element-by-element product (Matlab dot-star operator). | |
Vector< Scalar > | dotSlash (const Vector< Scalar > &other) const |
Element-by-element division (Matlab dot-slash operator). | |
Vector< Scalar > | reciprocal () const |
Return element-by-element reciprocal as a new vector. | |
Vector< Scalar > | abs () const |
Return element-by-element absolute value as a new vector. | |
Vector< Scalar > & | selfReciprocal () |
Overwrite self with element-by-element reciprocal. | |
Vector< Scalar > & | selfAbs () |
Overwrite self with element-by-element absolute value. | |
Vector< Scalar > & | randomize () |
Overwrite self with random values. | |
void | setToConstant (const Scalar &alpha) |
Set all elements to a constant value. | |
Scalar | dot (const Vector< Scalar > &other) const |
Take dot product with another vector. | |
Scalar | operator* (const Vector< Scalar > &other) const |
Overloaded operator for dot product. | |
Scalar | norm1 () const |
Compute the 1-norm of this vector. | |
Scalar | norm2 () const |
Compute the 2-norm of this vector. | |
Scalar | norm2 (const Vector< Scalar > &weights) const |
Compute the weighted 2-norm of this vector. | |
Scalar | normInf () const |
Compute the infinity-norm of this vector. | |
void | zero () |
Set all elements to zero. | |
Scalar | max () const |
Return the max element. | |
Scalar | min () const |
Return the min element. | |
Functor application | |
template<class UF > | |
Vector< Scalar > & | applyUnaryFunctor (const UF &functor) |
Apply a unary functor, overwriting this vector with the results. | |
template<class UF > | |
Vector< Scalar > & | acceptUnaryFunctor (const UF &functor, const Vector< Scalar > &other) |
Apply a unary functor to another vector, writing the results into this vector. The other vector is unchanged. | |
template<class VF > | |
Vector< Scalar > & | applyBinaryFunctor (const VF &functor, const Vector< Scalar > &other) |
Apply a binary functor to this vector and another vector, writing the results into this vector. The other vector is unchanged. | |
template<class VF > | |
Vector< Scalar > & | applyTernaryFunctor (const VF &functor, const Vector< Scalar > &x, const Vector< Scalar > &y) |
Apply a ternary functor to this vector and two other vectors, writing the results into this vector. The other vectors are unchanged. | |
template<class RF > | |
PlayaFunctors::VectorFunctorTraits < Scalar, RF >::ReturnType | applyUnaryReductionFunctor (const RF &functor) const |
Apply a unary reduction functor. | |
template<class RF > | |
PlayaFunctors::VectorFunctorTraits < Scalar, RF >::ReturnType | applyBinaryReductionFunctor (const RF &functor, const Vector< Scalar > &other) const |
Apply a binary reduction functor. | |
Static Public Member Functions | |
static RCP< Time > & | opTimer () |
Get a stopwtach for timing vector operations. | |
Protected Member Functions | |
const Vector< Scalar > & | getBlock (const std::deque< int > &iter) const |
Vector< Scalar > | getNonConstBlock (const std::deque< int > &iter) |
Related Functions | |
(Note that these are not member functions.) | |
template<class Scalar > | |
Vector< Scalar > | blockVector (const Vector< Scalar > &v1) |
template<class Scalar > | |
Vector< Scalar > | blockVector (const Vector< Scalar > &v1, const Vector< Scalar > &v2) |
template<class Scalar > | |
Vector< Scalar > | blockVector (const Vector< Scalar > &v1, const Vector< Scalar > &v2, const Vector< Scalar > &v3) |
template<class Scalar > | |
Vector< Scalar > | blockVector (const Vector< Scalar > &v1, const Vector< Scalar > &v2, const Vector< Scalar > &v3, const Vector< Scalar > &v4) |
template<class Scalar > | |
Vector< Scalar > | blockVector (const Array< Vector< Scalar > > &x) |
template<class Scalar > | |
LoadableVector< Scalar > * | loadable (Vector< Scalar > vec) |
Dynamic cast a Vector's underlying pointer to a LoadableVector. | |
template<class Scalar > | |
Scalar * | dataPtr (Vector< Scalar > vec) |
Return a pointer to the beginning of the vector's single data chunk. If the underlying VectorBase is not a SingleChunkVector an exception will be thrown. | |
template<class Scalar > | |
const Scalar * | dataPtr (const Vector< Scalar > &vec) |
Return a pointer to the beginning of the vector's single data chunk. If the underlying VectorBase is not a SingleChunkVector an exception will be thrown. | |
template<class Scalar > | |
Scalar | minloc (const Vector< Scalar > &x, int &gni) |
Return minimum element and its location. | |
template<class Scalar > | |
Scalar | maxloc (const Vector< Scalar > &x, int &gni) |
Return maximum element and its location. | |
template<class Scalar > | |
Scalar | minlocWithBound (const Scalar &lowerBound, const Vector< Scalar > &x, int &gni) |
Return minimum element greater than a specified bound, and its location. | |
template<class Scalar > | |
Scalar | maxlocWithBound (const Scalar &upperBound, const Vector< Scalar > &x, int &gni) |
Return maximum element less than a specified bound, and its location. | |
template<class Scalar > | |
Scalar | norm2 (const Vector< Scalar > &x) |
Compute the Euclidean norm of a vector. | |
template<class Scalar > | |
Scalar | norm1 (const Vector< Scalar > &x) |
Compute the one-norm of a vector. | |
template<class Scalar > | |
Scalar | normInf (const Vector< Scalar > &x) |
Compute the infinity norm of a vector. | |
template<class Scalar > | |
Scalar | norm2Dist (const Vector< Scalar > &x, const Vector< Scalar > &y) |
Compute the Euclidean distance between two vectors. | |
template<class Scalar > | |
Scalar | norm1Dist (const Vector< Scalar > &x, const Vector< Scalar > &y) |
Compute the one-norm distance between two vectors. | |
template<class Scalar > | |
Scalar | normInfDist (const Vector< Scalar > &x, const Vector< Scalar > &y) |
Compute the infinity-norm distance between two vectors. |
Ordinarily, you will never construct a Vector directly from a derived type. Rather, the createMember() method of VectorSpace is used to build a vector of the appropriate type, for example,
VectorType<double> vecType = new EpetraVectorType(); int dimension = 100; VectorSpace<double> space = vecType.createSpace(dimension); Vector<double> x = space.createMember(); Vector<double> y = space.createMember();
You will frequently create an empty vector to be filled in later, for example,
Vector<double> y;
Vector<double> x = space.createVector(); Vector<Scalar> y; y = x.copy();
Vector<Scalar> z = a*x + b*y;
Definition at line 63 of file PlayaVectorDecl.hpp.
Playa::Vector< Scalar >::Vector | ( | ) | [inline] |
Empty ctor
Playa::Vector< Scalar >::Vector | ( | Playa::Handleable< VectorBase< Scalar > > * | rawPtr | ) | [inline] |
Construct a # Vector<Scalar> with a raw pointer to a # VectorBase<Scalar>
Playa::Vector< Scalar >::Vector | ( | const Teuchos::RCP< VectorBase< Scalar > > & | smartPtr | ) | [inline] |
Construct a # Vector<Scalar> with a smart pointer to a # VectorBase<Scalar>
Playa::Vector< Scalar >::Vector | ( | const LCN< Scalar, N > & | x | ) | [inline] |
Vector< Scalar > & Playa::Vector< Scalar >::operator= | ( | const LCN< Scalar, 1 > & | x | ) | [inline] |
Vector< Scalar > & Playa::Vector< Scalar >::operator= | ( | const LCN< Scalar, 2 > & | x | ) | [inline] |
Vector< Scalar > & Playa::Vector< Scalar >::operator= | ( | const LCN< Scalar, 3 > & | x | ) | [inline] |
Assign a three-term LC to this vector.
Definition at line 117 of file PlayaLinearCombinationImpl.hpp.
Vector< Scalar > & Playa::Vector< Scalar >::operator= | ( | const LCN< Scalar, N > & | x | ) | [inline] |
Vector< Scalar > & Playa::Vector< Scalar >::operator+= | ( | const Vector< Scalar > & | other | ) | [inline] |
Add a vector into this vector
Definition at line 46 of file PlayaVectorImpl.hpp.
Vector< Scalar > & Playa::Vector< Scalar >::operator+= | ( | const LCN< Scalar, 1 > & | x | ) | [inline] |
Add a one-term LC into this vector
Definition at line 174 of file PlayaLinearCombinationImpl.hpp.
Vector< Scalar > & Playa::Vector< Scalar >::operator+= | ( | const LCN< Scalar, 2 > & | x | ) | [inline] |
Add a two-term LC into this vector
Definition at line 192 of file PlayaLinearCombinationImpl.hpp.
Vector< Scalar > & Playa::Vector< Scalar >::operator+= | ( | const LCN< Scalar, N > & | x | ) | [inline] |
Add an N-term LC into this vector
Definition at line 213 of file PlayaLinearCombinationImpl.hpp.
Vector< Scalar > & Playa::Vector< Scalar >::operator-= | ( | const Vector< Scalar > & | other | ) | [inline] |
Subtract a vector from this vector
Definition at line 55 of file PlayaVectorImpl.hpp.
Vector< Scalar > & Playa::Vector< Scalar >::operator-= | ( | const LCN< Scalar, 1 > & | x | ) | [inline] |
Subtract a one-term LC from this vector
Definition at line 229 of file PlayaLinearCombinationImpl.hpp.
Vector< Scalar > & Playa::Vector< Scalar >::operator-= | ( | const LCN< Scalar, 2 > & | x | ) | [inline] |
Subtract a two-term LC from this vector
Definition at line 247 of file PlayaLinearCombinationImpl.hpp.
Vector< Scalar > & Playa::Vector< Scalar >::operator-= | ( | const LCN< Scalar, N > & | x | ) | [inline] |
Subtract an N-term LC from this vector
Definition at line 269 of file PlayaLinearCombinationImpl.hpp.
Vector< Scalar > & Playa::Vector< Scalar >::operator*= | ( | const Scalar & | a | ) | [inline] |
Scale by a constant
Definition at line 63 of file PlayaVectorImpl.hpp.
Vector< Scalar > & Playa::Vector< Scalar >::operator/= | ( | const Scalar & | a | ) | [inline] |
Divide by a constant
Definition at line 70 of file PlayaVectorImpl.hpp.
VectorSpace<Scalar> Playa::Vector< Scalar >::space | ( | ) | const [inline] |
const MPIComm& Playa::Vector< Scalar >::comm | ( | ) | const [inline] |
int Playa::Vector< Scalar >::dim | ( | ) | const [inline] |
int Playa::Vector< Scalar >::numBlocks | ( | ) | const [inline] |
void Playa::Vector< Scalar >::setBlock | ( | int | i, | |
const Vector< Scalar > & | v | |||
) | [inline] |
const Vector< Scalar > & Playa::Vector< Scalar >::getBlock | ( | int | i | ) | const [inline] |
Vector< Scalar > Playa::Vector< Scalar >::getNonConstBlock | ( | int | i | ) | [inline] |
const Vector< Scalar > & Playa::Vector< Scalar >::getBlock | ( | const BlockIterator< Scalar > & | b | ) | const [inline] |
Vector< Scalar > Playa::Vector< Scalar >::getNonConstBlock | ( | const BlockIterator< Scalar > & | b | ) | [inline] |
ConstDataChunk< Scalar > Playa::Vector< Scalar >::nextConstChunk | ( | ) | const [inline] |
Get the next chunk of values for read-only access.
Definition at line 192 of file PlayaVectorImpl.hpp.
NonConstDataChunk< Scalar > Playa::Vector< Scalar >::nextChunk | ( | ) | [inline] |
Get the next chunk of values for read-write access.
Definition at line 199 of file PlayaVectorImpl.hpp.
bool Playa::Vector< Scalar >::hasMoreChunks | ( | ) | const [inline] |
Tell whether there are more chunks remaining to be accessed.
Definition at line 207 of file PlayaVectorImpl.hpp.
void Playa::Vector< Scalar >::rewind | ( | ) | const [inline] |
Reset the data stream back to a state where all chunks are considered unread.
Definition at line 214 of file PlayaVectorImpl.hpp.
const Scalar & Playa::Vector< Scalar >::operator[] | ( | int | localIndex | ) | const [inline] |
const bracket operator for read-only random access to local elements as specified by a flat index that runs from 0 to space().numLocalElements(). If the vector does not consist of a single contiguous data chunk, this might be slow (worst case would be O(N), if every element is stored in its own chunk of length 1).
Definition at line 799 of file PlayaVectorImpl.hpp.
Scalar & Playa::Vector< Scalar >::operator[] | ( | int | localIndex | ) | [inline] |
non-const bracket operator for read-write random access to local elements as specified by a flat index that runs from 0 to space().numLocalElements(). If the vector does not consist of a single contiguous data chunk, this might be slow (worst case would be O(N), if every element is stored in its own chunk of length 1).
Definition at line 837 of file PlayaVectorImpl.hpp.
const Scalar & Playa::Vector< Scalar >::operator() | ( | const BlockIterator< Scalar > & | b, | |
int | localIndexWithinBlock | |||
) | const [inline] |
parentheses operator for read-only random access to local elements as specified by a block iterator and a flat index indicating the element's location within that block.
Definition at line 875 of file PlayaVectorImpl.hpp.
Scalar & Playa::Vector< Scalar >::operator() | ( | const BlockIterator< Scalar > & | b, | |
int | localIndexWithinBlock | |||
) | [inline] |
parentheses operator for read-write random access to local elements as specified by a block iterator and a flat index indicating the element's location within that block.
Definition at line 885 of file PlayaVectorImpl.hpp.
std::string Playa::Vector< Scalar >::description | ( | ) | const [inline] |
Return a short string description of the vector.
Reimplemented from Playa::Handle< VectorBase< Scalar > >.
Definition at line 290 of file PlayaVectorImpl.hpp.
void Playa::Vector< Scalar >::print | ( | std::ostream & | os | ) | const [inline] |
Print the vector in some detail.
Reimplemented from Playa::Handle< VectorBase< Scalar > >.
Definition at line 224 of file PlayaVectorImpl.hpp.
Vector< Scalar > & Playa::Vector< Scalar >::scale | ( | const Scalar & | alpha | ) | [inline] |
Multiply this vector by a constant scalar factor.
this = alpha * this;
Definition at line 549 of file PlayaVectorImpl.hpp.
Vector< Scalar > & Playa::Vector< Scalar >::update | ( | const Scalar & | alpha, | |
const Vector< Scalar > & | x, | |||
const Scalar & | gamma = 1.0 | |||
) | [inline] |
Add a scaled vector to this vector times a constant: .
Definition at line 580 of file PlayaVectorImpl.hpp.
Vector< Scalar > & Playa::Vector< Scalar >::update | ( | const Scalar & | alpha, | |
const Vector< Scalar > & | x, | |||
const Scalar & | beta, | |||
const Vector< Scalar > & | y, | |||
const Scalar & | gamma | |||
) | [inline] |
Add two scaled vectors to this vector times a constant: .
Definition at line 673 of file PlayaVectorImpl.hpp.
Vector< Scalar > & Playa::Vector< Scalar >::update | ( | const Scalar & | alpha, | |
const Vector< Scalar > & | x, | |||
const Scalar & | beta, | |||
const Vector< Scalar > & | y, | |||
const Scalar & | gamma, | |||
const Vector< Scalar > & | z, | |||
const Scalar & | delta | |||
) | [inline] |
Add three scaled vectors to this vector times a constant: .
Definition at line 686 of file PlayaVectorImpl.hpp.
Vector< Scalar > & Playa::Vector< Scalar >::acceptCopyOf | ( | const Vector< Scalar > & | x | ) | [inline] |
Copy the values of another vector into this vector.
this = x
Definition at line 590 of file PlayaVectorImpl.hpp.
Vector< Scalar > Playa::Vector< Scalar >::copy | ( | ) | const [inline] |
Create a new vector that is a copy of this vector.
Definition at line 600 of file PlayaVectorImpl.hpp.
Vector< Scalar > & Playa::Vector< Scalar >::selfDotStar | ( | const Vector< Scalar > & | other | ) | [inline] |
In-place element-by-element product (Matlab dot-star operator).
Definition at line 611 of file PlayaVectorImpl.hpp.
Vector< Scalar > & Playa::Vector< Scalar >::selfDotSlash | ( | const Vector< Scalar > & | other | ) | [inline] |
In-place element-by-element division (Matlab dot-slash operator).
Definition at line 618 of file PlayaVectorImpl.hpp.
Vector< Scalar > Playa::Vector< Scalar >::dotStar | ( | const Vector< Scalar > & | other | ) | const [inline] |
Element-by-element product (Matlab dot-star operator).
Definition at line 626 of file PlayaVectorImpl.hpp.
Vector< Scalar > Playa::Vector< Scalar >::dotSlash | ( | const Vector< Scalar > & | other | ) | const [inline] |
Element-by-element division (Matlab dot-slash operator).
Definition at line 636 of file PlayaVectorImpl.hpp.
Vector< Scalar > Playa::Vector< Scalar >::reciprocal | ( | ) | const [inline] |
Return element-by-element reciprocal as a new vector.
Definition at line 661 of file PlayaVectorImpl.hpp.
Vector< Scalar > Playa::Vector< Scalar >::abs | ( | ) | const [inline] |
Return element-by-element absolute value as a new vector.
Definition at line 647 of file PlayaVectorImpl.hpp.
Vector< Scalar > & Playa::Vector< Scalar >::selfReciprocal | ( | ) | [inline] |
Overwrite self with element-by-element reciprocal.
Definition at line 556 of file PlayaVectorImpl.hpp.
Vector< Scalar > & Playa::Vector< Scalar >::selfAbs | ( | ) | [inline] |
Overwrite self with element-by-element absolute value.
Definition at line 564 of file PlayaVectorImpl.hpp.
Vector< Scalar > & Playa::Vector< Scalar >::randomize | ( | ) | [inline] |
void Playa::Vector< Scalar >::setToConstant | ( | const Scalar & | alpha | ) | [inline] |
Scalar Playa::Vector< Scalar >::dot | ( | const Vector< Scalar > & | other | ) | const [inline] |
Scalar Playa::Vector< Scalar >::operator* | ( | const Vector< Scalar > & | other | ) | const [inline] |
Scalar Playa::Vector< Scalar >::norm1 | ( | ) | const [inline] |
Scalar Playa::Vector< Scalar >::norm2 | ( | ) | const [inline] |
Scalar Playa::Vector< Scalar >::norm2 | ( | const Vector< Scalar > & | weights | ) | const [inline] |
Scalar Playa::Vector< Scalar >::normInf | ( | ) | const [inline] |
void Playa::Vector< Scalar >::zero | ( | ) | [inline] |
Scalar Playa::Vector< Scalar >::max | ( | ) | const [inline] |
Scalar Playa::Vector< Scalar >::min | ( | ) | const [inline] |
static RCP<Time>& Playa::Vector< Scalar >::opTimer | ( | ) | [inline, static] |
Vector< Scalar > & Playa::Vector< Scalar >::applyUnaryFunctor | ( | const UF & | functor | ) | [inline] |
Apply a unary functor, overwriting this vector with the results.
Definition at line 307 of file PlayaVectorImpl.hpp.
Vector< Scalar > & Playa::Vector< Scalar >::acceptUnaryFunctor | ( | const UF & | functor, | |
const Vector< Scalar > & | other | |||
) | [inline] |
Apply a unary functor to another vector, writing the results into this vector. The other vector is unchanged.
Definition at line 341 of file PlayaVectorImpl.hpp.
Vector< Scalar > & Playa::Vector< Scalar >::applyBinaryFunctor | ( | const VF & | functor, | |
const Vector< Scalar > & | other | |||
) | [inline] |
Apply a binary functor to this vector and another vector, writing the results into this vector. The other vector is unchanged.
Definition at line 385 of file PlayaVectorImpl.hpp.
Vector< Scalar > & Playa::Vector< Scalar >::applyTernaryFunctor | ( | const VF & | functor, | |
const Vector< Scalar > & | x, | |||
const Vector< Scalar > & | y | |||
) | [inline] |
Apply a ternary functor to this vector and two other vectors, writing the results into this vector. The other vectors are unchanged.
Definition at line 428 of file PlayaVectorImpl.hpp.
PlayaFunctors::VectorFunctorTraits< Scalar, RF >::ReturnType Playa::Vector< Scalar >::applyUnaryReductionFunctor | ( | const RF & | functor | ) | const [inline] |
PlayaFunctors::VectorFunctorTraits< Scalar, RF >::ReturnType Playa::Vector< Scalar >::applyBinaryReductionFunctor | ( | const RF & | functor, | |
const Vector< Scalar > & | other | |||
) | const [inline] |
const Vector< Scalar > & Playa::Vector< Scalar >::getBlock | ( | const std::deque< int > & | iter | ) | const [inline, protected] |
get a subblock as specified by a deque of indices
Definition at line 153 of file PlayaVectorImpl.hpp.
Vector< Scalar > Playa::Vector< Scalar >::getNonConstBlock | ( | const std::deque< int > & | iter | ) | [inline, protected] |
get a non-const subblock as specified by a deque of indices
Definition at line 173 of file PlayaVectorImpl.hpp.
Definition at line 83 of file PlayaDefaultBlockVectorImpl.hpp.
Vector< Scalar > blockVector | ( | const Vector< Scalar > & | v1, | |
const Vector< Scalar > & | v2 | |||
) | [related] |
Definition at line 94 of file PlayaDefaultBlockVectorImpl.hpp.
Vector< Scalar > blockVector | ( | const Vector< Scalar > & | v1, | |
const Vector< Scalar > & | v2, | |||
const Vector< Scalar > & | v3 | |||
) | [related] |
Definition at line 106 of file PlayaDefaultBlockVectorImpl.hpp.
Vector< Scalar > blockVector | ( | const Vector< Scalar > & | v1, | |
const Vector< Scalar > & | v2, | |||
const Vector< Scalar > & | v3, | |||
const Vector< Scalar > & | v4 | |||
) | [related] |
Definition at line 120 of file PlayaDefaultBlockVectorImpl.hpp.
Vector< Scalar > blockVector | ( | const Array< Vector< Scalar > > & | x | ) | [related] |
Definition at line 136 of file PlayaDefaultBlockVectorImpl.hpp.
LoadableVector< Scalar > * loadable | ( | Vector< Scalar > | vec | ) | [related] |
Dynamic cast a Vector's underlying pointer to a LoadableVector.
Definition at line 918 of file PlayaVectorImpl.hpp.
Scalar * dataPtr | ( | Vector< Scalar > | vec | ) | [related] |
Return a pointer to the beginning of the vector's single data chunk. If the underlying VectorBase is not a SingleChunkVector an exception will be thrown.
Definition at line 895 of file PlayaVectorImpl.hpp.
const Scalar * dataPtr | ( | const Vector< Scalar > & | vec | ) | [related] |
Return a pointer to the beginning of the vector's single data chunk. If the underlying VectorBase is not a SingleChunkVector an exception will be thrown.
Definition at line 907 of file PlayaVectorImpl.hpp.
Scalar minloc | ( | const Vector< Scalar > & | x, | |
int & | gni | |||
) | [related] |
Scalar maxloc | ( | const Vector< Scalar > & | x, | |
int & | gni | |||
) | [related] |
Scalar minlocWithBound | ( | const Scalar & | lowerBound, | |
const Vector< Scalar > & | x, | |||
int & | gni | |||
) | [related] |
Return minimum element greater than a specified bound, and its location.
Definition at line 48 of file PlayaVectorOpsImpl.hpp.
Scalar maxlocWithBound | ( | const Scalar & | upperBound, | |
const Vector< Scalar > & | x, | |||
int & | gni | |||
) | [related] |
Return maximum element less than a specified bound, and its location.
Definition at line 59 of file PlayaVectorOpsImpl.hpp.
Scalar norm2 | ( | const Vector< Scalar > & | x | ) | [related] |
Scalar norm1 | ( | const Vector< Scalar > & | x | ) | [related] |
Scalar normInf | ( | const Vector< Scalar > & | x | ) | [related] |
Scalar norm2Dist | ( | const Vector< Scalar > & | x, | |
const Vector< Scalar > & | y | |||
) | [related] |
Compute the Euclidean distance between two vectors.
Definition at line 71 of file PlayaVectorOpsImpl.hpp.
Scalar norm1Dist | ( | const Vector< Scalar > & | x, | |
const Vector< Scalar > & | y | |||
) | [related] |
Compute the one-norm distance between two vectors.
Definition at line 79 of file PlayaVectorOpsImpl.hpp.
Scalar normInfDist | ( | const Vector< Scalar > & | x, | |
const Vector< Scalar > & | y | |||
) | [related] |
Compute the infinity-norm distance between two vectors.
Definition at line 87 of file PlayaVectorOpsImpl.hpp.