38 template<
class TRawDataType =
double>
44 using Pointer = Kratos::intrusive_ptr<LiteralFlatExpression<TRawDataType>>;
60 const std::vector<IndexType>& rShape);
63 TRawDataType* pDataBegin,
65 const std::vector<IndexType>& rShape);
84 const std::vector<IndexType>& rShape);
87 TRawDataType* pDataBegin,
89 const std::vector<IndexType>& rShape);
94 const TRawDataType Value);
96 const std::vector<IndexType>
GetItemShape()
const override;
114 std::string
Info()
const override;
157 ~Data() {
if (mIsManaged) {
delete[] mpBegin; } }
182 TRawDataType* mpBegin;
184 const bool mIsManaged;
202 template<
class TRawDataType =
double>
214 const IndexType ComponentIndex)
const override;
218 template<
class TRawDataType =
double>
230 const IndexType ComponentIndex)
const override;
Definition: expression.h:54
Base class or all the expression types.
Definition: expression.h:38
IndexType size_type
Definition: expression.h:139
double value_type
Definition: expression.h:137
Kratos::intrusive_ptr< Expression > Pointer
Definition: expression.h:44
std::size_t IndexType
Definition: expression.h:48
This class is used represent the flattened data array.
Definition: literal_flat_expression.h:137
const_iterator begin() const noexcept
Definition: literal_flat_expression.h:167
const_iterator end() const noexcept
Definition: literal_flat_expression.h:169
const_iterator cend() const noexcept
Definition: literal_flat_expression.h:173
Data(TRawDataType *pBegin, const IndexType Size)
Construct a new Data object, where the underlying array memory is not managed by the object.
Definition: literal_flat_expression.h:155
iterator begin() noexcept
Definition: literal_flat_expression.h:163
~Data()
Definition: literal_flat_expression.h:157
iterator end() noexcept
Definition: literal_flat_expression.h:165
Data(const IndexType Size)
Construct a new Data object where the array memory is managed by the object.
Definition: literal_flat_expression.h:148
IndexType size() const noexcept
Definition: literal_flat_expression.h:175
const_iterator cbegin() const noexcept
Definition: literal_flat_expression.h:171
Expression to hold a literal with a flattened data structure.
Definition: literal_flat_expression.h:39
Data mData
Definition: literal_flat_expression.h:197
TRawDataType * iterator
Definition: literal_flat_expression.h:50
const_iterator cbegin() const noexcept
Definition: literal_flat_expression.h:110
Kratos::intrusive_ptr< LiteralFlatExpression< TRawDataType > > Pointer
Definition: literal_flat_expression.h:44
const_iterator cend() const noexcept
Definition: literal_flat_expression.h:112
const_iterator end() const noexcept
Definition: literal_flat_expression.h:108
IndexType size() const noexcept
Definition: literal_flat_expression.h:100
const_iterator begin() const noexcept
Definition: literal_flat_expression.h:106
iterator begin() noexcept
Definition: literal_flat_expression.h:102
iterator end() noexcept
Definition: literal_flat_expression.h:104
std::string Info() const override
IndexType GetMaxDepth() const override
Get the Max Depth of the lazy expression tree.
Definition: literal_flat_expression.h:98
const std::vector< IndexType > mShape
Definition: literal_flat_expression.h:195
Definition: literal_flat_expression.h:220
Definition: literal_flat_expression.h:204
std::string GetItemShape(const std::vector< IndexType > &rShape)
Definition: binary_expression.cpp:27
Modeler::Pointer Create(const std::string &ModelerName, Model &rModel, const Parameters ModelParameters)
Checks if the modeler is registered.
Definition: modeler_factory.cpp:30
double Evaluate(const PolynomialType &rPolynomial, double x)
Definition: polynomial_utilities.cpp:77
TSpaceType::IndexType Size(TSpaceType &dummy, typename TSpaceType::VectorType const &rV)
Definition: add_strategies_to_python.cpp:111
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
tuple const
Definition: ode_solve.py:403