1 #define MKL_Complex16 PetscScalar 2 #define MKL_Complex8 PetscScalar 3 4 #if !defined(PETSC_USE_COMPLEX) 5 # if defined(PETSC_USE_REAL_SINGLE) 6 # 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 # elif defined(PETSC_USE_REAL_DOUBLE) 8 # 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 # endif 10 #else 11 # if defined(PETSC_USE_REAL_SINGLE) 12 # 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 # elif defined(PETSC_USE_REAL_DOUBLE) 14 # 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 # endif 16 #endif 17 18 #if !defined(PETSC_USE_COMPLEX) 19 # if defined(PETSC_USE_REAL_SINGLE) 20 # define mkl_sparse_x_mv(operation,alpha,A,descr,x,beta,y) mkl_sparse_s_mv(operation,alpha,A,descr,x,beta,y) 21 # elif defined(PETSC_USE_REAL_DOUBLE) 22 # define mkl_sparse_x_mv(operation,alpha,A,descr,x,beta,y) mkl_sparse_d_mv(operation,alpha,A,descr,x,beta,y) 23 # endif 24 #else 25 # if defined(PETSC_USE_REAL_SINGLE) 26 # define mkl_sparse_x_mv(operation,alpha,A,descr,x,beta,y) mkl_sparse_c_mv(operation,alpha,A,descr,x,beta,y) 27 # elif defined(PETSC_USE_REAL_DOUBLE) 28 # define mkl_sparse_x_mv(operation,alpha,A,descr,x,beta,y) mkl_sparse_z_mv(operation,alpha,A,descr,x,beta,y) 29 # endif 30 #endif 31