25 #include <queso/OneDGrid.h> 
   26 #include <queso/UniformOneDGrid.h> 
   27 #include <queso/ArrayOfOneDGrids.h> 
   28 #include <queso/GslVector.h> 
   29 #include <queso/GslMatrix.h> 
   34 template <
class V, 
class M>
 
   39   m_env         (rowSpace.env()    ),
 
   40   m_prefix      ((std::string)(prefix)+
""),
 
   41   m_rowSpace    (rowSpace          ),
 
   42   m_oneDGrids   (m_rowSpace.map(),1),
 
   47   for (
unsigned int i = 0; i < (
unsigned int) 
m_oneDGrids.MyLength(); ++i) {
 
   53 template <
class V, 
class M>
 
   56   if (m_maxPositions) 
delete m_maxPositions;
 
   57   if (m_minPositions) 
delete m_minPositions;
 
   58   if (m_sizes       ) 
delete m_sizes;
 
   60   for (
unsigned int i = 0; i < (
unsigned int) m_oneDGrids.MyLength(); ++i) {
 
   61     if (m_oneDGrids(i,0)) 
delete m_oneDGrids(i,0);
 
   66 template <
class V, 
class M>
 
   73 template <
class V, 
class M>
 
   77   queso_require_msg(m_sizes, 
"sizes is still NULL");
 
   82 template <
class V, 
class M>
 
   86   queso_require_msg(m_minPositions, 
"minPositions is still NULL");
 
   88   return *m_minPositions;
 
   91 template <
class V, 
class M>
 
   95   queso_require_msg(m_maxPositions, 
"maxPositions is still NULL");
 
   97   return *m_maxPositions;
 
  100 template <
class V, 
class M>
 
  104   const V& minPositionsVec,
 
  105   const V& maxPositionsVec)
 
  107   if (m_sizes        == NULL) m_sizes        = 
new V(sizesVec);
 
  108   else                       *m_sizes        = sizesVec;
 
  110   if (m_minPositions == NULL) m_minPositions = 
new V(minPositionsVec);
 
  111   else                       *m_minPositions = minPositionsVec;
 
  113   if (m_maxPositions == NULL) m_maxPositions = 
new V(maxPositionsVec);
 
  114   else                       *m_maxPositions = maxPositionsVec;
 
  117   for (
unsigned int i = 0; i < (
unsigned int) m_oneDGrids.MyLength(); ++i) {
 
  118     sprintf(strI,
"%u_",i);
 
  120                                                           (m_prefix+strI).c_str(),
 
  121                                                           (
unsigned int) sizesVec[i],
 
  129 template <
class V, 
class M>
 
  133   queso_require_less_msg(rowId, m_rowSpace.dimLocal(), 
"rowId is out of range");
 
  136   return *(tmp->m_oneDGrids(rowId,0));
 
  140 template <
class V, 
class M>
 
  145   for (
unsigned int i = 0; i < (
unsigned int) m_oneDGrids.MyLength(); ++i) {
 
Class to accommodate arrays of one-dimensional grid. 
const BaseOneDGrid< double > & grid(unsigned int rowId) const 
Returns the grid stored in the rowId-th position of the array of grids. 
const V & maxPositions() const 
Returns an array with the maximum position of each grid. 
A class representing a vector space. 
const VectorSpace< V, M > & rowSpace() const 
Returns the (vector) space to which the row belongs to. 
ArrayOfOneDGrids(const char *prefix, const VectorSpace< V, M > &rowSpace)
Default constructor. 
DistArray< BaseOneDGrid< double > * > m_oneDGrids
void setUniformGrids(const V &sizesVec, const V &minPositionsVec, const V &maxPositionsVec)
Sets an array of uniform grids. 
~ArrayOfOneDGrids()
Destructor. 
Base class for accommodating one-dimensional grids. 
const V & minPositions() const 
Returns an array with the minimum position of each grid. 
Class for accommodating uniform one-dimensional grids. 
const V & sizes() const 
Returns an array with the sizes of the grids. 
void print(std::ostream &os) const 
Prints the values of the array of grids (points).