13#include <initializer_list>
17 template <
int Size,
typename Scalar>
20 template <
typename NewScalarType,
int Size,
typename Scalar>
30template<
int Size,
typename Scalar>
133template <
int Size,
typename Scalar>
160 Vector(const Scalar& initialValue);
197#if defined(GPUOffloadingOff)
199 assertion4 ( index < Size, index, Size,
::toString(*
this),
"you may not take the indexth entry from a vector with only Size components" );
210#if defined(GPUOffloadingOff)
229#if defined(GPUOffloadingOff)
242#if defined(GPUOffloadingOff)
#define assertion4(expr, param0, param1, param2, param3)
#define assertion3(expr, param0, param1, param2)
And from this we can write down f$ nabla phi_i nabla phi_i dx but since we are constructing matrix let s investigate the f$ our matrix elements will nabla phi_i dx f By this will be a sparse as these basis functions are chosen to not overlap with each other almost everywhere In other they have only local support We can read off the right hand side values
std::string toString(const tarch::la::Vector< Size, Scalar > &vector)
Pipes the elements of a vector into a std::string and returns the string.
tarch::la::Vector< Size, NewScalarType > convertScalar(const tarch::la::Vector< Size, Scalar > &vector)
Have to include this header, as I need access to the SYCL_EXTERNAL keyword.
std::string toString(MemoryLocation value)
const Scalar * data() const
const Scalar & operator()(int index) const InlineMethod
Returns read-only ref.
Scalar * data()
This routine returns a pointer to the first data element.
const Scalar & operator[](int index) const InlineMethod
Returns read-only ref.
Vector() InlineMethod=default
Clang requires the always_inline attribute, as it otherwise makes weird decisions.
int size() const
Returns the number of components of the vector.
#define InlineMethod
This is the marker that is to be used after the argument list of a function declaration.