8 #ifndef APFDYNAMICVECTOR_H
9 #define APFDYNAMICVECTOR_H
14 #include "apfDynamicArray.h"
56 for (std::size_t i=0; i < size(); ++i)
63 for (std::size_t i=0; i < size(); ++i)
70 for (std::size_t i=0; i < size(); ++i)
77 for (std::size_t i=0; i < size(); ++i)
85 for (std::size_t i=0; i < size(); ++i)
86 r += (*
this)[i] * b[i];
94 for (std::size_t i=0; i < size(); ++i)
100 template <std::
size_t N>
104 for(std::size_t ii = 0; ii < N; ii++)
105 result[ii] = other[ii];
void zero()
Initialize all elements to zero.
DynamicVector & operator-=(DynamicVector const &b)
Subtract a vector from this vector.
DynamicVector & operator/=(double s)
Divide this vector by a scalar.
DynamicVector & operator*=(double s)
Multiply this vector by a scalar.
double & operator()(std::size_t i)
mutable index operator
std::ostream & operator<<(std::ostream &s, apf::Vector3 const &v)
write apf::Vector3 to a C++ stream
DynamicVector(std::size_t n)
construct with (n) allocated elements
double operator*(DynamicVector const &b) const
Get the vector dot product.
DynamicVector & operator+=(DynamicVector const &b)
Add a vector to this vector.
template-generic vector of N doubles
DynamicVector()
default constructor - no allocation
double getLength()
Get the vector magnitude.
double operator()(std::size_t i) const
immutable index operator
double sqrt(double A)
wrapper for standard sqrt function
A runtime-sized linear algebra vector of doubles.
DynamicVector fromVector(Vector< N > other)
convert an apf::Vector into an apf::DynamicVector
The APF linear algebra vector interface.