|
Medusa
1.1
Coordinate Free Mehless Method implementation
|
|
Go to the documentation of this file. 1 #ifndef MEDUSA_BITS_OPERATORS_RAGGEDSHAPESTORAGE_FWD_HPP_
2 #define MEDUSA_BITS_OPERATORS_RAGGEDSHAPESTORAGE_FWD_HPP_
50 template <
typename vec_t,
typename OpFamilies =
51 std::tuple<Lap<vec_t::dim>, Der1s<vec_t::dim>, Der2s<vec_t::dim>>>
52 class RaggedShapeStorage :
53 public ShapeStorage<RaggedShapeStorage<vec_t, OpFamilies>, vec_t, OpFamilies> {
91 void resize_(
const std::vector<int>& support_sizes);
94 template <
typename T> T*
access(std::vector<T>& v,
int i,
int j)
const {
97 template <
typename T> T*
access(std::vector<T>& v,
int i)
const {
100 template <
typename T>
const T*
access(
const std::vector<T>& v,
int i,
int j)
const {
103 template <
typename T>
const T*
access(
const std::vector<T>& v,
int i)
const {
109 #endif // MEDUSA_BITS_OPERATORS_RAGGEDSHAPESTORAGE_FWD_HPP_
Range< int > support_starts_
Indexes of starts of supports. Cumulative sums of support_sizes_.
Root namespace for the whole library.
Scalar scalar_t
Type of the elements, alias of Scalar.
int domain_size_
Total number of nodes.
ShapeStorage< RaggedShapeStorage< vec_t, OpFamilies >, vec_t, OpFamilies > base_t
Parent class.
vec_t vector_t
Vector type used.
@ dim
Number of elements of this matrix.
constexpr static int num_operators
Number of operator families in this storage.
vec_t::scalar_t scalar_t
Scalar type used.
Shape storage base class.
std::array< Range< scalar_t >, num_operators > shapes_
Tuple of shape containers for given operators.
Range< int > support_sizes_
Support sizes.
Range< int > support_
Local copy of support domains.
T * access(std::vector< T > &v, int i, int j) const
Returns pointer to the start of values for node-th node for op-th operator.
int supportSize(int node) const
Returns support size of node-th node.
void resize_(const std::vector< int > &support_sizes)
Resizes the storage to accommodate shapes of given sizes.
RaggedShapeStorage()
< Number of nodes that shapes can be stored for.
friend base_t
Be friends with derived class.
int size() const
Returns number of nodes.
const T * access(const std::vector< T > &v, int i) const
Returns const pointer to the start of values for node-th node.
const T * access(const std::vector< T > &v, int i, int j) const
Returns const pointer to the start of values for node-th node for op-th operator.
int total_size_
Sum of all support sizes.
T * access(std::vector< T > &v, int i) const
Returns pointer to the start of values for node-th node for.
@ dim
Dimensionality of the domain.