Program Listing for File VDVH_kernel.hpp¶
↰ Return to documentation for file (src_util/VDVH_kernel.hpp)
#ifndef VDVH_kernel_h
#define VDVH_kernel_h
#include "types.hpp"
#include <vector>
//Naive version
void VDVH_naive(std::vector<Complex> &G, const std::vector<Complex> &V, const std::vector<Complex> &D, const int L, const int M);
void VDVH_naive(std::vector<Complex> &G, const std::vector<double> &V, const std::vector<Complex> &D, const int L, const int M);
#ifdef HAVE_AVX2
// AVX2 VERSION
void VDVH_kernel_avx2(std::vector<Complex> &G, const std::vector<double> &V, const std::vector<Complex> &D, const int L, const int M);
void kernel_avx2(Complex* G, const double* V, const Complex* D, const int x, const int y, const int l, const int r, const int M, const int L);
void VDVH_kernel_avx2(std::vector<Complex> &G, const std::vector<Complex> &V, const std::vector<Complex> &D, const int L, const int M);
void kernel_avx2(void* G, Complex* V, Complex* D, int x, int y, int l, int r, int M, int L);
#endif
#endif