7#ifndef KERNEL_LAFEM_ARCH_DIAGONAL_HPP 
    8#define KERNEL_LAFEM_ARCH_DIAGONAL_HPP 1 
   12#include <kernel/backend.hpp> 
   23        template <
typename IT_>
 
   24        static void csr(IT_ * diag, 
const IT_ * 
const col_ind, 
const IT_ * 
const row_ptr, 
const Index rows)
 
   26          csr_generic(diag, col_ind, row_ptr, rows);
 
   29        static void csr(std::uint64_t * diag, 
const std::uint64_t * 
const col_ind, 
const std::uint64_t * 
const row_ptr, 
const Index rows)
 
   31          BACKEND_SKELETON_VOID(csr_cuda, csr_generic, csr_generic, diag, col_ind, row_ptr, rows)
 
   34        static void csr(std::uint32_t * diag, 
const std::uint32_t * 
const col_ind, 
const std::uint32_t * 
const row_ptr, 
const Index rows)
 
   36          BACKEND_SKELETON_VOID(csr_cuda, csr_generic, csr_generic, diag, col_ind, row_ptr, rows)
 
   39        template <
typename IT_>
 
   40        static void csr_generic(IT_ * diag, 
const IT_ * 
const col_ind, 
const IT_ * 
const row_ptr, 
const Index rows);
 
   42        template <
typename IT_>
 
   43        static void csr_cuda(IT_ * diag, 
const IT_ * 
const col_ind, 
const IT_ * 
const row_ptr, 
const Index rows);
 
   48      extern template void Diagonal::csr_generic(std::uint64_t *, 
const std::uint64_t * 
const, 
const std::uint64_t * 
const, 
const Index);
 
   49      extern template void Diagonal::csr_generic(std::uint32_t *, 
const std::uint32_t * 
const, 
const std::uint32_t * 
const, 
const Index);
 
   57#include <kernel/lafem/arch/diagonal_generic.hpp> 
std::uint64_t Index
Index data type.