8#include <kernel/lafem/arch/dot_product.hpp>
17using namespace FEAT::LAFEM::Arch;
19float DotProduct::value_mkl(
const float *
const x,
const float *
const y,
const Index size)
21 return cblas_sdot((MKL_INT)size, x, 1, y, 1);
24double DotProduct::value_mkl(
const double *
const x,
const double *
const y,
const Index size)
26 return cblas_ddot((MKL_INT)size, x, 1, y, 1);
29float TripleDotProduct::value_mkl(
const float *
const x,
const float *
const y,
const float *
const z,
const Index size)
31 float * temp(
new float[size]);
32 vsMul((MKL_INT)size, y, z, temp);
33 float result = cblas_sdot((MKL_INT)size, x, 1, temp, 1);
38double TripleDotProduct::value_mkl(
const double *
const x,
const double *
const y,
const double *
const z,
const Index size)
40 double * temp(
new double[size]);
41 vdMul((MKL_INT)size, y, z, temp);
42 double result = cblas_ddot((MKL_INT)size, x, 1, temp, 1);
std::uint64_t Index
Index data type.