59 Array2D(
const size_t m,
const size_t n,
const double v=0.0);
71 Array2D(
const size_t m,
const size_t n,
const double* values);
85 void resize(
size_t n,
size_t m,
double v=0.0);
110 void setRow(
size_t n,
const double*
const rw);
118 void getRow(
size_t n,
double*
const rw);
127 void setColumn(
size_t m,
double*
const col);
136 void getColumn(
size_t m,
double*
const col);
172 doublereal&
value(
size_t i,
size_t j) {
183 doublereal
value(
size_t i,
size_t j)
const {
A class for 2D arrays stored in column-major (Fortran-compatible) form.
void zero()
Set all of the entries to zero.
size_t m_nrows
Number of rows.
vector_fp m_data
Data stored in a single array.
void getColumn(size_t m, double *const col)
Get the values in column m.
doublereal * ptrColumn(size_t j)
Return a pointer to the top of column j, columns are contiguous in memory.
void setColumn(size_t m, double *const col)
Set the values in column m to those in array col.
const_iterator begin() const
Return a const iterator pointing to the first element.
const doublereal * ptrColumn(size_t j) const
Return a const pointer to the top of column j, columns are contiguous in memory.
size_t nRows() const
Number of rows.
size_t m_ncols
Number of columns.
size_t nColumns() const
Number of columns.
doublereal & operator()(size_t i, size_t j)
Allows setting elements using the syntax A(i,j) = x.
doublereal value(size_t i, size_t j) const
Returns the value of a single matrix entry.
doublereal operator()(size_t i, size_t j) const
Allows retrieving elements using the syntax x = A(i,j).
const vector_fp & data() const
Return a const reference to the data vector.
void setRow(size_t n, const double *const rw)
Set the nth row to array rw.
doublereal & value(size_t i, size_t j)
Returns a changeable reference to position in the matrix.
iterator end()
Return an iterator pointing past the last element.
const_iterator end() const
Return a const iterator pointing to past the last element.
void getRow(size_t n, double *const rw)
Get the nth row and return it in a vector.
iterator begin()
Return an iterator pointing to the first element.
void appendColumn(const vector_fp &c)
Append a column to the existing matrix using a std vector.
vector_fp & data()
Return a reference to the data vector.
vector_fp::const_iterator const_iterator
Type definition for the const_iterator class that is can be used by Array2D types.
void resize(size_t n, size_t m, double v=0.0)
Resize the array, and fill the new entries with 'v'.
Array2D()
Default constructor.
vector_fp::iterator iterator
Type definition for the iterator class that is can be used by Array2D types.
This file contains definitions of constants, types and terms that are used in internal routines and a...
Namespace for the Cantera kernel.
void operator*=(Array2D &m, double a)
Overload the times equals operator for multiplication of a matrix and a scalar.
std::vector< double > vector_fp
Turn on the use of stl vectors for the basic array type within cantera Vector of doubles.
std::ostream & operator<<(std::ostream &s, const Array2D &m)
Output the current contents of the Array2D object.