5#include <cuda/std/array> 
    6template <
typename T, std::
size_t D>
 
   10#if !defined(__device__) 
   11#define __GARFIELD_DEFINED_DEVICE__ 
   15template <
typename T, std::
size_t D>
 
   21template <
typename type, std::
size_t Dimension>
 
   24  template <
typename... Args>
 
   26      : 
GarfieldArray<type, Dimension>({std::forward<Args>(args)...}) {}
 
 
   30    for (std::size_t j = 0; j != ret.size(); ++j) {
 
 
   37    for (std::size_t j = 0; j != ret.size(); ++j) {
 
 
   42  template <
typename T, std::
size_t D>
 
   44    static_assert(Dimension == D, 
"The vectors don't have the same dimension!");
 
   46    for (std::size_t j = 0; j != ret.size(); ++j) {
 
 
   51  template <
typename T, std::
size_t D>
 
   53    static_assert(Dimension == D, 
"The vectors don't have the same dimension!");
 
   55    for (std::size_t j = 0; j != ret.size(); ++j) {
 
 
 
   62template <
typename type>
 
   66  template <
typename... xs>
 
 
   72template <
typename type>
 
   76  template <
typename... xs>
 
 
   84template <
typename type>
 
   88  template <
typename... xs>
 
 
  103#if defined(__GARFIELD_DEFINED_DEVICE__) 
  106#undef __GARFIELD_DEFINED_DEVICE__ 
std::array< T, D > GarfieldArray
__host__ __device__ type & x() noexcept
__host__ __device__ Vec1Impl(xs... values)
__host__ __device__ type x() const noexcept
__host__ __device__ type x() const noexcept
__host__ __device__ Vec2Impl(xs... values)
__host__ __device__ type & x() noexcept
__host__ __device__ type & y() noexcept
__host__ __device__ type y() const noexcept
__host__ __device__ type & z() noexcept
__host__ __device__ type z() const noexcept
__host__ __device__ type & x() noexcept
__host__ __device__ type & y() noexcept
__host__ __device__ type x() const noexcept
__host__ __device__ type y() const noexcept
__host__ __device__ Vec3Impl(xs... values)
__host__ __device__ Vector operator+(const Vector< T, D > &vec)
__host__ __device__ Vector operator/(const double &i)
__host__ __device__ Vector operator-(const Vector< T, D > &vec)
__host__ __device__ Vector operator*(const double &i)
__host__ __device__ Vector()
__host__ __device__ Vector(Args &&... args)