xref: /petsc/src/mat/impls/baij/seq/baijmkl/baijmkl.h (revision 7072be85568e48e0f9849a83abce647ecf3f07b4)
1*7072be85SIrina Sokolova #define MKL_Complex16 PetscScalar
2*7072be85SIrina Sokolova #define MKL_Complex8 PetscScalar
3*7072be85SIrina Sokolova 
4*7072be85SIrina Sokolova #if !defined(PETSC_USE_COMPLEX)
5*7072be85SIrina Sokolova # if defined(PETSC_USE_REAL_SINGLE)
6*7072be85SIrina Sokolova #   define mkl_sparse_x_create_bsr(A,indexing,block_layout,rows,cols,block_size,rows_start,rows_end,col_indx,values) mkl_sparse_s_create_bsr(A,indexing,block_layout,rows,cols,block_size,rows_start,rows_end,col_indx,values)
7*7072be85SIrina Sokolova # elif defined(PETSC_USE_REAL_DOUBLE)
8*7072be85SIrina Sokolova #   define mkl_sparse_x_create_bsr(A,indexing,block_layout,rows,cols,block_size,rows_start,rows_end,col_indx,values) mkl_sparse_d_create_bsr(A,indexing,block_layout,rows,cols,block_size,rows_start,rows_end,col_indx,values)
9*7072be85SIrina Sokolova # endif
10*7072be85SIrina Sokolova #else
11*7072be85SIrina Sokolova # if defined(PETSC_USE_REAL_SINGLE)
12*7072be85SIrina Sokolova #   define mkl_sparse_x_create_bsr(A,indexing,block_layout,rows,cols,block_size,rows_start,rows_end,col_indx,values) mkl_sparse_c_create_bsr(A,indexing,block_layout,rows,cols,block_size,rows_start,rows_end,col_indx,values)
13*7072be85SIrina Sokolova # elif defined(PETSC_USE_REAL_DOUBLE)
14*7072be85SIrina Sokolova #   define mkl_sparse_x_create_bsr(A,indexing,block_layout,rows,cols,block_size,rows_start,rows_end,col_indx,values) mkl_sparse_z_create_bsr(A,indexing,block_layout,rows,cols,block_size,rows_start,rows_end,col_indx,values)
15*7072be85SIrina Sokolova # endif
16*7072be85SIrina Sokolova #endif
17*7072be85SIrina Sokolova 
18*7072be85SIrina Sokolova #if !defined(PETSC_USE_COMPLEX)
19*7072be85SIrina Sokolova # if defined(PETSC_USE_REAL_SINGLE)
20*7072be85SIrina Sokolova #   define mkl_sparse_x_mv(operation,alpha,A,descr,x,beta,y) mkl_sparse_s_mv(operation,alpha,A,descr,x,beta,y)
21*7072be85SIrina Sokolova # elif defined(PETSC_USE_REAL_DOUBLE)
22*7072be85SIrina Sokolova #   define mkl_sparse_x_mv(operation,alpha,A,descr,x,beta,y) mkl_sparse_d_mv(operation,alpha,A,descr,x,beta,y)
23*7072be85SIrina Sokolova # endif
24*7072be85SIrina Sokolova #else
25*7072be85SIrina Sokolova # if defined(PETSC_USE_REAL_SINGLE)
26*7072be85SIrina Sokolova #   define mkl_sparse_x_mv(operation,alpha,A,descr,x,beta,y) mkl_sparse_c_mv(operation,alpha,A,descr,x,beta,y)
27*7072be85SIrina Sokolova # elif defined(PETSC_USE_REAL_DOUBLE)
28*7072be85SIrina Sokolova #   define mkl_sparse_x_mv(operation,alpha,A,descr,x,beta,y) mkl_sparse_z_mv(operation,alpha,A,descr,x,beta,y)
29*7072be85SIrina Sokolova # endif
30*7072be85SIrina Sokolova #endif
31