#include "FunctionTable.hpp" /******************************************************** * Random number generation * ********************************************************/ /*template<> char genRand() { static std::random_device rd; static std::mt19937 gen( rd() ); static std::uniform_int_distribution dis; return dis( gen ); } template<> int8_t genRand() { static std::random_device rd; static std::mt19937 gen( rd() ); static std::uniform_int_distribution dis; return dis( gen ); } template<> uint8_t genRand() { static std::random_device rd; static std::mt19937 gen( rd() ); static std::uniform_int_distribution dis; return dis( gen ); } template<> int16_t genRand() { static std::random_device rd; static std::mt19937 gen( rd() ); static std::uniform_int_distribution dis; return dis( gen ); } template<> uint16_t genRand() { static std::random_device rd; static std::mt19937 gen( rd() ); static std::uniform_int_distribution dis; return dis( gen ); } template<> int32_t genRand() { static std::random_device rd; static std::mt19937 gen( rd() ); static std::uniform_int_distribution dis; return dis( gen ); } template<> uint32_t genRand() { static std::random_device rd; static std::mt19937 gen( rd() ); static std::uniform_int_distribution dis; return dis( gen ); } template<> int64_t genRand() { static std::random_device rd; static std::mt19937 gen( rd() ); static std::uniform_int_distribution dis; return dis( gen ); } template<> uint64_t genRand() { static std::random_device rd; static std::mt19937 gen( rd() ); static std::uniform_int_distribution dis; return dis( gen ); } template<> float genRand() { static std::random_device rd; static std::mt19937 gen( rd() ); static std::uniform_real_distribution dis; return dis( gen ); } template<> double genRand() { static std::random_device rd; static std::mt19937 gen( rd() ); static std::uniform_real_distribution dis; return dis( gen ); } template<> long double genRand() { static std::random_device rd; static std::mt19937 gen( rd() ); static std::uniform_real_distribution dis; return dis( gen ); } */ /******************************************************** * axpy * ********************************************************/ template <> void call_axpy(size_t N, const float alpha, const float *x, float *y) { ERROR("Not finished"); } template <> void call_axpy(size_t N, const double alpha, const double *x, double *y) { ERROR("Not finished"); } /******************************************************** * Multiply two arrays * ********************************************************/ template <> void call_gemv(size_t M, size_t N, double alpha, double beta, const double *A, const double *x, double *y) { ERROR("Not finished"); } template <> void call_gemv(size_t M, size_t N, float alpha, float beta, const float *A, const float *x, float *y) { ERROR("Not finished"); } template <> void call_gemm(size_t M, size_t N, size_t K, double alpha, double beta, const double *A, const double *B, double *C) { ERROR("Not finished"); } template <> void call_gemm(size_t M, size_t N, size_t K, float alpha, float beta, const float *A, const float *B, float *C) { ERROR("Not finished"); }