7#ifndef KERNEL_LAFEM_ARCH_AXPY_HPP 
    8#define KERNEL_LAFEM_ARCH_AXPY_HPP 1 
   12#include <kernel/backend.hpp> 
   13#include <kernel/util/half.hpp> 
   23        template <
typename DT_>
 
   24        static void value(DT_ * r, 
const DT_ a, 
const DT_ * 
const x, 
const Index size)
 
   26          value_generic(r, a, x, size);
 
   29        template <
typename ValueType_>
 
   30        static void value_blocked(ValueType_ * r, 
const ValueType_ a, 
const ValueType_ * 
const x, 
const Index size)
 
   32          value_blocked_generic(r, a, x, size);
 
   35#ifdef FEAT_HAVE_HALFMATH 
   38          BACKEND_SKELETON_VOID(value_cuda, value_generic, value_generic, r, a, x, size)
 
   42        static void value(
float * r, 
const float a, 
const float * 
const x, 
const Index size)
 
   44          BACKEND_SKELETON_VOID(value_cuda, value_mkl, value_generic, r, a, x, size)
 
   47        static void value(
double * r, 
const double a, 
const double * 
const x, 
const Index size)
 
   49          BACKEND_SKELETON_VOID(value_cuda, value_mkl, value_generic, r, a, x, size)
 
   52        template <
typename DT_>
 
   53        static void value_generic(DT_ * r, 
const DT_ a, 
const DT_ * 
const x, 
const Index size);
 
   55        static void value_mkl(
float * r, 
const float a, 
const float * 
const x, 
const Index size);
 
   56        static void value_mkl(
double * r, 
const double a, 
const double * 
const x, 
const Index size);
 
   58        template <
typename DT_>
 
   59        static void value_cuda(DT_ * r, 
const DT_ a, 
const DT_ * 
const x, 
const Index size);
 
   61        template <
typename ValueType_>
 
   62        static void value_blocked_generic(ValueType_ * r, 
const ValueType_ a, 
const ValueType_ * 
const x, 
const Index size);
 
   66      extern template void Axpy::value_generic(
float *, 
const float, 
const float * 
const, 
const Index);
 
   67      extern template void Axpy::value_generic(
double *, 
const double, 
const double * 
const, 
const Index);
 
   75#include <kernel/lafem/arch/axpy_generic.hpp> 
__half Half
Half data type.
@ value
specifies whether the space should supply basis function values
std::uint64_t Index
Index data type.