1 /* 2 Genome-wide Efficient Mixed Model Association (GEMMA) 3 Copyright © 2011-2017, Xiang Zhou 4 Copyright © 2017, Peter Carbonetto 5 Copyright © 2017, Pjotr Prins 6 7 This program is free software: you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation, either version 3 of the License, or 10 (at your option) any later version. 11 12 This program is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this program. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 21 #ifndef __FASTBLAS_H__ 22 #define __FASTBLAS_H__ 23 24 #include <assert.h> 25 #include <iostream> 26 #include "gsl/gsl_cblas.h" 27 #include "gsl/gsl_matrix.h" 28 29 gsl_matrix *fast_copy(gsl_matrix *m, const double *mem); 30 31 extern const char *FastblasTrans; 32 extern const char *FastblasNoTrans; 33 34 void fast_dgemm(const char *TransA, const char *TransB, const double alpha, 35 const gsl_matrix *A, const gsl_matrix *B, const double beta, 36 gsl_matrix *C); 37 void fast_eigen_dgemm(const char *TransA, const char *TransB, const double alpha, 38 const gsl_matrix *A, const gsl_matrix *B, const double beta, 39 gsl_matrix *C); 40 41 void fast_inverse(gsl_matrix *m); 42 43 #endif 44