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>
153 Vector(
std::initializer_list<Scalar> values );
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)
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)
int size() const
Returns the number of components of the vector.
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.
#define InlineMethod
This is the marker that is to be used after the argument list of a function declaration.