13#include <initializer_list>
17 template <
int Size,
typename Scalar>
36 template <
typename NewScalarType,
int Size,
typename Scalar>
46template<
int Size,
typename Scalar>
149template <
int Size,
typename Scalar>
169 Vector(
std::initializer_list<Scalar> values );
176 Vector(const Scalar& initialValue);
213#if defined(GPUOffloadingOff)
215 assertion4 ( index < Size, index, Size,
::toString(*
this),
"you may not take the indexth entry from a vector with only Size components" );
226#if defined(GPUOffloadingOff)
245#if defined(GPUOffloadingOff)
258#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::SmartPointerVector< Size, NewScalarType > convertScalar(const tarch::la::SmartPointerVector< Size, Scalar > &SmartPointerVector)
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
Generic identifier for inlined functions.