Commit 8ddc49e5 authored by Robert Schmidt's avatar Robert Schmidt

CBLAS_TRANSPOSE is a typedef'd enum

It seems libatlas-base-dev provided an `enum CBLAS_TRANSPOSE`, but we
don't install it anymore. Now, in Ubuntu, there is only a typedef'd
version in cblas.h; for RHEL(-derivatives), the same typedef'd version
is in cblas/cblas.h.
parent 4ac6e1c8
...@@ -11,7 +11,12 @@ data storage. */ ...@@ -11,7 +11,12 @@ data storage. */
#include<math.h> #include<math.h>
#include<complex.h> #include<complex.h>
#include <stdlib.h> #include <stdlib.h>
#include <linux/version.h>
#if defined RHEL_RELEASE_CODE
#include <cblas/cblas.h>
#else
#include <cblas.h> #include <cblas.h>
#endif
#include <string.h> #include <string.h>
#include <linux/version.h> #include <linux/version.h>
#include <lapacke_utils.h> #include <lapacke_utils.h>
...@@ -22,8 +27,8 @@ data storage. */ ...@@ -22,8 +27,8 @@ data storage. */
void transpose (int N, float complex *A, float complex *Result) void transpose (int N, float complex *A, float complex *Result)
{ {
// COnputes C := alpha*op(A)*op(B) + beta*C, // COnputes C := alpha*op(A)*op(B) + beta*C,
enum CBLAS_TRANSPOSE transa = CblasTrans; CBLAS_TRANSPOSE transa = CblasTrans;
enum CBLAS_TRANSPOSE transb = CblasNoTrans; CBLAS_TRANSPOSE transb = CblasNoTrans;
int rows_opA = N; // number of rows in op(A) and in C int rows_opA = N; // number of rows in op(A) and in C
int col_opB = N; //number of columns of op(B) and in C int col_opB = N; //number of columns of op(B) and in C
int col_opA = N; //number of columns in op(A) and rows in op(B) int col_opA = N; //number of columns in op(A) and rows in op(B)
...@@ -62,8 +67,8 @@ void transpose (int N, float complex *A, float complex *Result) ...@@ -62,8 +67,8 @@ void transpose (int N, float complex *A, float complex *Result)
void conjugate_transpose (int N, float complex *A, float complex *Result) void conjugate_transpose (int N, float complex *A, float complex *Result)
{ {
// Computes C := alpha*op(A)*op(B) + beta*C, // Computes C := alpha*op(A)*op(B) + beta*C,
enum CBLAS_TRANSPOSE transa = CblasConjTrans; CBLAS_TRANSPOSE transa = CblasConjTrans;
enum CBLAS_TRANSPOSE transb = CblasNoTrans; CBLAS_TRANSPOSE transb = CblasNoTrans;
int rows_opA = N; // number of rows in op(A) and in C int rows_opA = N; // number of rows in op(A) and in C
int col_opB = N; //number of columns of op(B) and in C int col_opB = N; //number of columns of op(B) and in C
int col_opA = N; //number of columns in op(A) and rows in op(B) int col_opA = N; //number of columns in op(A) and rows in op(B)
...@@ -100,8 +105,8 @@ void conjugate_transpose (int N, float complex *A, float complex *Result) ...@@ -100,8 +105,8 @@ void conjugate_transpose (int N, float complex *A, float complex *Result)
void H_hermH_plus_sigma2I (int N, int M, float complex *A, float sigma2, float complex *Result) void H_hermH_plus_sigma2I (int N, int M, float complex *A, float sigma2, float complex *Result)
{ {
//C := alpha*op(A)*op(B) + beta*C, //C := alpha*op(A)*op(B) + beta*C,
enum CBLAS_TRANSPOSE transa = CblasConjTrans; CBLAS_TRANSPOSE transa = CblasConjTrans;
enum CBLAS_TRANSPOSE transb = CblasNoTrans; CBLAS_TRANSPOSE transb = CblasNoTrans;
int rows_opA = N; // number of rows in op(A) and in C int rows_opA = N; // number of rows in op(A) and in C
int col_opB = N; //number of columns of op(B) and in C int col_opB = N; //number of columns of op(B) and in C
int col_opA = N; //number of columns in op(A) and rows in op(B) int col_opA = N; //number of columns in op(A) and rows in op(B)
...@@ -127,8 +132,8 @@ void H_hermH_plus_sigma2I (int N, int M, float complex *A, float sigma2, float c ...@@ -127,8 +132,8 @@ void H_hermH_plus_sigma2I (int N, int M, float complex *A, float sigma2, float c
void HH_herm_plus_sigma2I (int M, int N, float complex *A, float sigma2, float complex *Result) void HH_herm_plus_sigma2I (int M, int N, float complex *A, float sigma2, float complex *Result)
{ {
//C := alpha*op(A)*op(B) + beta*C, //C := alpha*op(A)*op(B) + beta*C,
enum CBLAS_TRANSPOSE transa = CblasNoTrans; CBLAS_TRANSPOSE transa = CblasNoTrans;
enum CBLAS_TRANSPOSE transb = CblasConjTrans; CBLAS_TRANSPOSE transb = CblasConjTrans;
int k = N; //number of columns in op(A) and rows in op(B),k int k = N; //number of columns in op(A) and rows in op(B),k
float complex alpha = 1.0+I*0; float complex alpha = 1.0+I*0;
int lda = N; int lda = N;
...@@ -195,8 +200,8 @@ void eigen_vectors_values (int N, float complex *A, float complex *Vectors, floa ...@@ -195,8 +200,8 @@ void eigen_vectors_values (int N, float complex *A, float complex *Vectors, floa
} }
void mutl_matrix_matrix_row_based(float complex* M0, float complex* M1, int rows_M0, int col_M0, int rows_M1, int col_M1, float complex* Result ){ void mutl_matrix_matrix_row_based(float complex* M0, float complex* M1, int rows_M0, int col_M0, int rows_M1, int col_M1, float complex* Result ){
enum CBLAS_TRANSPOSE transa = CblasNoTrans; CBLAS_TRANSPOSE transa = CblasNoTrans;
enum CBLAS_TRANSPOSE transb = CblasNoTrans; CBLAS_TRANSPOSE transb = CblasNoTrans;
int rows_opA = rows_M0; // number of rows in op(A) and in C int rows_opA = rows_M0; // number of rows in op(A) and in C
int col_opB = col_M1; //number of columns of op(B) and in C int col_opB = col_M1; //number of columns of op(B) and in C
int col_opA = col_M0; //number of columns in op(A) and rows in op(B) int col_opA = col_M0; //number of columns in op(A) and rows in op(B)
...@@ -226,8 +231,8 @@ void mutl_matrix_matrix_row_based(float complex* M0, float complex* M1, int rows ...@@ -226,8 +231,8 @@ void mutl_matrix_matrix_row_based(float complex* M0, float complex* M1, int rows
} }
void mutl_matrix_matrix_col_based(float complex* M0, float complex* M1, int rows_M0, int col_M0, int rows_M1, int col_M1, float complex* Result ){ void mutl_matrix_matrix_col_based(float complex* M0, float complex* M1, int rows_M0, int col_M0, int rows_M1, int col_M1, float complex* Result ){
enum CBLAS_TRANSPOSE transa = CblasNoTrans; CBLAS_TRANSPOSE transa = CblasNoTrans;
enum CBLAS_TRANSPOSE transb = CblasNoTrans; CBLAS_TRANSPOSE transb = CblasNoTrans;
int rows_opA = rows_M0; // number of rows in op(A) and in C int rows_opA = rows_M0; // number of rows in op(A) and in C
int col_opB = col_M1; //number of columns of op(B) and in C int col_opB = col_M1; //number of columns of op(B) and in C
int col_opA = col_M0; //number of columns in op(A) and rows in op(B) int col_opA = col_M0; //number of columns in op(A) and rows in op(B)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment