fml  0.1-0
Fused Matrix Library
_blas_prototypes.h
1 // This file is part of fml which is released under the Boost Software
2 // License, Version 1.0. See accompanying file LICENSE or copy at
3 // https://www.boost.org/LICENSE_1_0.txt
4 
5 #ifndef FML_CPU_LINALG__BLAS_PROTOTYPES_H
6 #define FML_CPU_LINALG__BLAS_PROTOTYPES_H
7 #pragma once
8 
9 
10 #ifndef restrict
11 #define restrict __restrict__
12 #endif
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 
19 extern void sgemm_(const char *transa, const char *transb, const int *m,
20  const int *n, const int *k, const float *restrict alpha,
21  const float *restrict a, const int *lda, const float *restrict b,
22  const int *ldb, const float *beta, float *restrict c, const int *ldc);
23 
24 extern void dgemm_(const char *transa, const char *transb, const int *m,
25  const int *n, const int *k, const double *restrict alpha,
26  const double *restrict a, const int *lda, const double *restrict b,
27  const int *ldb, const double *beta, double *restrict c, const int *ldc);
28 
29 
30 
31 extern void ssyrk_(const char *uplo, const char *trans, const int *n,
32  const int *k, const float *restrict alpha, const float *restrict a,
33  const int *lda, const float *restrict beta, float *restrict c,
34  const int *ldc);
35 
36 extern void dsyrk_(const char *uplo, const char *trans, const int *n,
37  const int *k, const double *restrict alpha, const double *restrict a,
38  const int *lda, const double *restrict beta, double *restrict c,
39  const int *ldc);
40 
41 
42 #ifdef __cplusplus
43 }
44 #endif
45 
46 
47 #endif