7#ifndef KERNEL_LAFEM_ARCH_COMPONENT_INVERT_HPP
8#define KERNEL_LAFEM_ARCH_COMPONENT_INVERT_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_*
const x,
const DT_ s,
const Index size)
26 value_generic(r, x, s, size);
29#ifdef FEAT_HAVE_HALFMATH
32 BACKEND_SKELETON_VOID(value_cuda, value_generic, value_generic, r, x, s, size)
36 static void value(
float * r,
const float *
const x,
const float s,
const Index size)
38 BACKEND_SKELETON_VOID(value_cuda, value_generic, value_generic, r, x, s, size)
41 static void value(
double * r,
const double *
const x,
const double s,
const Index size)
43 BACKEND_SKELETON_VOID(value_cuda, value_generic, value_generic, r, x, s, size)
46 template<
typename DT_>
47 static void value_generic(DT_* r,
const DT_*
const x,
const DT_ s,
const Index size);
49 template<
typename DT_>
50 static void value_cuda(DT_* r,
const DT_*
const x,
const DT_ s,
const Index size);
54 extern template void ComponentInvert::value_generic(
float*,
const float*
const,
const float,
const Index);
55 extern template void ComponentInvert::value_generic(
double*,
const double*
const,
const double,
const Index);
63#include <kernel/lafem/arch/component_invert_generic.hpp>
__half Half
Half data type.
@ value
specifies whether the space should supply basis function values
std::uint64_t Index
Index data type.