#pragma once

// level1

#define axpy axpy_c_
#define gthr gthr_c_
#define gthrz gthrz_c_
#define sctr sctr_c_
#define dotui_sub dotui_c_sub
#define dotci_sub dotci_c_sub
#define update_values update_values_c_

// coo
#define set_value_coo set_value_c_coo
#define update_values_coo update_values_c_coo

#define add_coo add_c_coo
#define add_coo_trans add_c_coo_trans
#define add_coo_conj add_c_coo_conj

#define gemv_coo gemv_c_coo
#define gemv_coo_trans gemv_c_coo_trans
#define gemv_coo_conj gemv_c_coo_conj
#define symv_coo_n_lo symv_c_coo_n_lo
#define symv_coo_u_lo symv_c_coo_u_lo
#define symv_coo_n_hi symv_c_coo_n_hi
#define symv_coo_u_hi symv_c_coo_u_hi
#define symv_coo_n_lo_conj symv_c_coo_n_lo_conj
#define symv_coo_u_lo_conj symv_c_coo_u_lo_conj
#define symv_coo_n_hi_conj symv_c_coo_n_hi_conj
#define symv_coo_u_hi_conj symv_c_coo_u_hi_conj
#define hermv_coo_n_lo hermv_c_coo_n_lo
#define hermv_coo_u_lo hermv_c_coo_u_lo
#define hermv_coo_n_hi hermv_c_coo_n_hi
#define hermv_coo_u_hi hermv_c_coo_u_hi
#define hermv_coo_n_lo_trans hermv_c_coo_n_lo_trans
#define hermv_coo_u_lo_trans hermv_c_coo_u_lo_trans
#define hermv_coo_n_hi_trans hermv_c_coo_n_hi_trans
#define hermv_coo_u_hi_trans hermv_c_coo_u_hi_trans
#define trmv_coo_n_lo trmv_c_coo_n_lo
#define trmv_coo_u_lo trmv_c_coo_u_lo
#define trmv_coo_n_hi trmv_c_coo_n_hi
#define trmv_coo_u_hi trmv_c_coo_u_hi
#define trmv_coo_n_lo_trans trmv_c_coo_n_lo_trans
#define trmv_coo_u_lo_trans trmv_c_coo_u_lo_trans
#define trmv_coo_n_hi_trans trmv_c_coo_n_hi_trans
#define trmv_coo_u_hi_trans trmv_c_coo_u_hi_trans
#define trmv_coo_n_lo_conj trmv_c_coo_n_lo_conj
#define trmv_coo_u_lo_conj trmv_c_coo_u_lo_conj
#define trmv_coo_n_hi_conj trmv_c_coo_n_hi_conj
#define trmv_coo_u_hi_conj trmv_c_coo_u_hi_conj
#define diagmv_coo_n diagmv_c_coo_n
#define diagmv_coo_u diagmv_c_coo_u

#define gemm_coo_row gemm_c_coo_row
#define gemm_coo_col gemm_c_coo_col
#define gemm_coo_row_trans gemm_c_coo_row_trans
#define gemm_coo_col_trans gemm_c_coo_col_trans
#define gemm_coo_row_conj gemm_c_coo_row_conj
#define gemm_coo_col_conj gemm_c_coo_col_conj
#define symm_coo_n_lo_row symm_c_coo_n_lo_row
#define symm_coo_u_lo_row symm_c_coo_u_lo_row
#define symm_coo_n_hi_row symm_c_coo_n_hi_row
#define symm_coo_u_hi_row symm_c_coo_u_hi_row
#define symm_coo_n_lo_col symm_c_coo_n_lo_col
#define symm_coo_u_lo_col symm_c_coo_u_lo_col
#define symm_coo_n_hi_col symm_c_coo_n_hi_col
#define symm_coo_u_hi_col symm_c_coo_u_hi_col
#define symm_coo_n_lo_row_conj symm_c_coo_n_lo_row_conj
#define symm_coo_u_lo_row_conj symm_c_coo_u_lo_row_conj
#define symm_coo_n_hi_row_conj symm_c_coo_n_hi_row_conj
#define symm_coo_u_hi_row_conj symm_c_coo_u_hi_row_conj
#define symm_coo_n_lo_col_conj symm_c_coo_n_lo_col_conj
#define symm_coo_u_lo_col_conj symm_c_coo_u_lo_col_conj
#define symm_coo_n_hi_col_conj symm_c_coo_n_hi_col_conj
#define symm_coo_u_hi_col_conj symm_c_coo_u_hi_col_conj
#define hermm_coo_n_lo_row hermm_c_coo_n_lo_row
#define hermm_coo_u_lo_row hermm_c_coo_u_lo_row
#define hermm_coo_n_hi_row hermm_c_coo_n_hi_row
#define hermm_coo_u_hi_row hermm_c_coo_u_hi_row
#define hermm_coo_n_lo_col hermm_c_coo_n_lo_col
#define hermm_coo_u_lo_col hermm_c_coo_u_lo_col
#define hermm_coo_n_hi_col hermm_c_coo_n_hi_col
#define hermm_coo_u_hi_col hermm_c_coo_u_hi_col
#define hermm_coo_n_lo_row_trans hermm_c_coo_n_lo_row_trans
#define hermm_coo_u_lo_row_trans hermm_c_coo_u_lo_row_trans
#define hermm_coo_n_hi_row_trans hermm_c_coo_n_hi_row_trans
#define hermm_coo_u_hi_row_trans hermm_c_coo_u_hi_row_trans
#define hermm_coo_n_lo_col_trans hermm_c_coo_n_lo_col_trans
#define hermm_coo_u_lo_col_trans hermm_c_coo_u_lo_col_trans
#define hermm_coo_n_hi_col_trans hermm_c_coo_n_hi_col_trans
#define hermm_coo_u_hi_col_trans hermm_c_coo_u_hi_col_trans
#define trmm_coo_n_lo_row trmm_c_coo_n_lo_row
#define trmm_coo_u_lo_row trmm_c_coo_u_lo_row
#define trmm_coo_n_hi_row trmm_c_coo_n_hi_row
#define trmm_coo_u_hi_row trmm_c_coo_u_hi_row
#define trmm_coo_n_lo_col trmm_c_coo_n_lo_col
#define trmm_coo_u_lo_col trmm_c_coo_u_lo_col
#define trmm_coo_n_hi_col trmm_c_coo_n_hi_col
#define trmm_coo_u_hi_col trmm_c_coo_u_hi_col
#define trmm_coo_n_lo_row_trans trmm_c_coo_n_lo_row_trans
#define trmm_coo_u_lo_row_trans trmm_c_coo_u_lo_row_trans
#define trmm_coo_n_hi_row_trans trmm_c_coo_n_hi_row_trans
#define trmm_coo_u_hi_row_trans trmm_c_coo_u_hi_row_trans
#define trmm_coo_n_lo_col_trans trmm_c_coo_n_lo_col_trans
#define trmm_coo_u_lo_col_trans trmm_c_coo_u_lo_col_trans
#define trmm_coo_n_hi_col_trans trmm_c_coo_n_hi_col_trans
#define trmm_coo_u_hi_col_trans trmm_c_coo_u_hi_col_trans
#define trmm_coo_n_lo_row_conj trmm_c_coo_n_lo_row_conj
#define trmm_coo_u_lo_row_conj trmm_c_coo_u_lo_row_conj
#define trmm_coo_n_hi_row_conj trmm_c_coo_n_hi_row_conj
#define trmm_coo_u_hi_row_conj trmm_c_coo_u_hi_row_conj
#define trmm_coo_n_lo_col_conj trmm_c_coo_n_lo_col_conj
#define trmm_coo_u_lo_col_conj trmm_c_coo_u_lo_col_conj
#define trmm_coo_n_hi_col_conj trmm_c_coo_n_hi_col_conj
#define trmm_coo_u_hi_col_conj trmm_c_coo_u_hi_col_conj
#define diagmm_coo_n_row diagmm_c_coo_n_row
#define diagmm_coo_u_row diagmm_c_coo_u_row
#define diagmm_coo_n_col diagmm_c_coo_n_col
#define diagmm_coo_u_col diagmm_c_coo_u_col

#define spmmd_coo_row spmmd_c_coo_row
#define spmmd_coo_col spmmd_c_coo_col
#define spmmd_coo_row_trans spmmd_c_coo_row_trans
#define spmmd_coo_col_trans spmmd_c_coo_col_trans
#define spmmd_coo_row_conj spmmd_c_coo_row_conj
#define spmmd_coo_col_conj spmmd_c_coo_col_conj

#define spmm_coo spmm_c_coo
#define spmm_coo_trans spmm_c_coo_trans
#define spmm_coo_conj spmm_c_coo_conj

#define trsv_coo_n_lo trsv_c_coo_n_lo
#define trsv_coo_u_lo trsv_c_coo_u_lo
#define trsv_coo_n_hi trsv_c_coo_n_hi
#define trsv_coo_u_hi trsv_c_coo_u_hi
#define trsv_coo_n_lo_trans trsv_c_coo_n_lo_trans
#define trsv_coo_u_lo_trans trsv_c_coo_u_lo_trans
#define trsv_coo_n_hi_trans trsv_c_coo_n_hi_trans
#define trsv_coo_u_hi_trans trsv_c_coo_u_hi_trans
#define trsv_coo_n_lo_conj trsv_c_coo_n_lo_conj
#define trsv_coo_u_lo_conj trsv_c_coo_u_lo_conj
#define trsv_coo_n_hi_conj trsv_c_coo_n_hi_conj
#define trsv_coo_u_hi_conj trsv_c_coo_u_hi_conj
#define diagsv_coo_n diagsv_c_coo_n
#define diagsv_coo_u diagsv_c_coo_u

#define trsm_coo_n_lo_row trsm_c_coo_n_lo_row
#define trsm_coo_u_lo_row trsm_c_coo_u_lo_row
#define trsm_coo_n_hi_row trsm_c_coo_n_hi_row
#define trsm_coo_u_hi_row trsm_c_coo_u_hi_row
#define trsm_coo_n_lo_col trsm_c_coo_n_lo_col
#define trsm_coo_u_lo_col trsm_c_coo_u_lo_col
#define trsm_coo_n_hi_col trsm_c_coo_n_hi_col
#define trsm_coo_u_hi_col trsm_c_coo_u_hi_col
#define trsm_coo_n_lo_row_trans trsm_c_coo_n_lo_row_trans
#define trsm_coo_u_lo_row_trans trsm_c_coo_u_lo_row_trans
#define trsm_coo_n_hi_row_trans trsm_c_coo_n_hi_row_trans
#define trsm_coo_u_hi_row_trans trsm_c_coo_u_hi_row_trans
#define trsm_coo_n_lo_col_trans trsm_c_coo_n_lo_col_trans
#define trsm_coo_u_lo_col_trans trsm_c_coo_u_lo_col_trans
#define trsm_coo_n_hi_col_trans trsm_c_coo_n_hi_col_trans
#define trsm_coo_u_hi_col_trans trsm_c_coo_u_hi_col_trans
#define trsm_coo_n_lo_row_conj trsm_c_coo_n_lo_row_conj
#define trsm_coo_u_lo_row_conj trsm_c_coo_u_lo_row_conj
#define trsm_coo_n_hi_row_conj trsm_c_coo_n_hi_row_conj
#define trsm_coo_u_hi_row_conj trsm_c_coo_u_hi_row_conj
#define trsm_coo_n_lo_col_conj trsm_c_coo_n_lo_col_conj
#define trsm_coo_u_lo_col_conj trsm_c_coo_u_lo_col_conj
#define trsm_coo_n_hi_col_conj trsm_c_coo_n_hi_col_conj
#define trsm_coo_u_hi_col_conj trsm_c_coo_u_hi_col_conj
#define diagsm_coo_n_row diagsm_c_coo_n_row
#define diagsm_coo_u_row diagsm_c_coo_u_row
#define diagsm_coo_n_col diagsm_c_coo_n_col
#define diagsm_coo_u_col diagsm_c_coo_u_col


// csr
#define set_value_csr set_value_c_csr
#define update_values_csr update_values_c_csr

#define add_csr add_c_csr
#define add_csr_trans add_c_csr_trans
#define add_csr_conj add_c_csr_conj

#define gemv_csr gemv_c_csr
#define gemv_csr_trans gemv_c_csr_trans
#define gemv_csr_conj gemv_c_csr_conj
#define symv_csr_n_lo symv_c_csr_n_lo
#define symv_csr_u_lo symv_c_csr_u_lo
#define symv_csr_n_hi symv_c_csr_n_hi
#define symv_csr_u_hi symv_c_csr_u_hi
#define symv_csr_n_lo_conj symv_c_csr_n_lo_conj
#define symv_csr_u_lo_conj symv_c_csr_u_lo_conj
#define symv_csr_n_hi_conj symv_c_csr_n_hi_conj
#define symv_csr_u_hi_conj symv_c_csr_u_hi_conj
#define hermv_csr_n_lo hermv_c_csr_n_lo
#define hermv_csr_u_lo hermv_c_csr_u_lo
#define hermv_csr_n_hi hermv_c_csr_n_hi
#define hermv_csr_u_hi hermv_c_csr_u_hi
#define hermv_csr_n_lo_trans hermv_c_csr_n_lo_trans
#define hermv_csr_u_lo_trans hermv_c_csr_u_lo_trans
#define hermv_csr_n_hi_trans hermv_c_csr_n_hi_trans
#define hermv_csr_u_hi_trans hermv_c_csr_u_hi_trans
#define trmv_csr_n_lo trmv_c_csr_n_lo
#define trmv_csr_u_lo trmv_c_csr_u_lo
#define trmv_csr_n_hi trmv_c_csr_n_hi
#define trmv_csr_u_hi trmv_c_csr_u_hi
#define trmv_csr_n_lo_trans trmv_c_csr_n_lo_trans
#define trmv_csr_u_lo_trans trmv_c_csr_u_lo_trans
#define trmv_csr_n_hi_trans trmv_c_csr_n_hi_trans
#define trmv_csr_u_hi_trans trmv_c_csr_u_hi_trans
#define trmv_csr_n_lo_conj trmv_c_csr_n_lo_conj
#define trmv_csr_u_lo_conj trmv_c_csr_u_lo_conj
#define trmv_csr_n_hi_conj trmv_c_csr_n_hi_conj
#define trmv_csr_u_hi_conj trmv_c_csr_u_hi_conj
#define diagmv_csr_n diagmv_c_csr_n
#define diagmv_csr_u diagmv_c_csr_u

#define gemm_csr_row gemm_c_csr_row
#define gemm_csr_col gemm_c_csr_col
#define gemm_csr_row_trans gemm_c_csr_row_trans
#define gemm_csr_col_trans gemm_c_csr_col_trans
#define gemm_csr_row_conj gemm_c_csr_row_conj
#define gemm_csr_col_conj gemm_c_csr_col_conj
#define symm_csr_n_lo_row symm_c_csr_n_lo_row
#define symm_csr_u_lo_row symm_c_csr_u_lo_row
#define symm_csr_n_hi_row symm_c_csr_n_hi_row
#define symm_csr_u_hi_row symm_c_csr_u_hi_row
#define symm_csr_n_lo_col symm_c_csr_n_lo_col
#define symm_csr_u_lo_col symm_c_csr_u_lo_col
#define symm_csr_n_hi_col symm_c_csr_n_hi_col
#define symm_csr_u_hi_col symm_c_csr_u_hi_col
#define symm_csr_n_lo_row_conj symm_c_csr_n_lo_row_conj
#define symm_csr_u_lo_row_conj symm_c_csr_u_lo_row_conj
#define symm_csr_n_hi_row_conj symm_c_csr_n_hi_row_conj
#define symm_csr_u_hi_row_conj symm_c_csr_u_hi_row_conj
#define symm_csr_n_lo_col_conj symm_c_csr_n_lo_col_conj
#define symm_csr_u_lo_col_conj symm_c_csr_u_lo_col_conj
#define symm_csr_n_hi_col_conj symm_c_csr_n_hi_col_conj
#define symm_csr_u_hi_col_conj symm_c_csr_u_hi_col_conj
#define hermm_csr_n_lo_row hermm_c_csr_n_lo_row
#define hermm_csr_u_lo_row hermm_c_csr_u_lo_row
#define hermm_csr_n_hi_row hermm_c_csr_n_hi_row
#define hermm_csr_u_hi_row hermm_c_csr_u_hi_row
#define hermm_csr_n_lo_col hermm_c_csr_n_lo_col
#define hermm_csr_u_lo_col hermm_c_csr_u_lo_col
#define hermm_csr_n_hi_col hermm_c_csr_n_hi_col
#define hermm_csr_u_hi_col hermm_c_csr_u_hi_col
#define hermm_csr_n_lo_row_trans hermm_c_csr_n_lo_row_trans
#define hermm_csr_u_lo_row_trans hermm_c_csr_u_lo_row_trans
#define hermm_csr_n_hi_row_trans hermm_c_csr_n_hi_row_trans
#define hermm_csr_u_hi_row_trans hermm_c_csr_u_hi_row_trans
#define hermm_csr_n_lo_col_trans hermm_c_csr_n_lo_col_trans
#define hermm_csr_u_lo_col_trans hermm_c_csr_u_lo_col_trans
#define hermm_csr_n_hi_col_trans hermm_c_csr_n_hi_col_trans
#define hermm_csr_u_hi_col_trans hermm_c_csr_u_hi_col_trans
#define trmm_csr_n_lo_row trmm_c_csr_n_lo_row
#define trmm_csr_u_lo_row trmm_c_csr_u_lo_row
#define trmm_csr_n_hi_row trmm_c_csr_n_hi_row
#define trmm_csr_u_hi_row trmm_c_csr_u_hi_row
#define trmm_csr_n_lo_col trmm_c_csr_n_lo_col
#define trmm_csr_u_lo_col trmm_c_csr_u_lo_col
#define trmm_csr_n_hi_col trmm_c_csr_n_hi_col
#define trmm_csr_u_hi_col trmm_c_csr_u_hi_col
#define trmm_csr_n_lo_row_trans trmm_c_csr_n_lo_row_trans
#define trmm_csr_u_lo_row_trans trmm_c_csr_u_lo_row_trans
#define trmm_csr_n_hi_row_trans trmm_c_csr_n_hi_row_trans
#define trmm_csr_u_hi_row_trans trmm_c_csr_u_hi_row_trans
#define trmm_csr_n_lo_col_trans trmm_c_csr_n_lo_col_trans
#define trmm_csr_u_lo_col_trans trmm_c_csr_u_lo_col_trans
#define trmm_csr_n_hi_col_trans trmm_c_csr_n_hi_col_trans
#define trmm_csr_u_hi_col_trans trmm_c_csr_u_hi_col_trans
#define trmm_csr_n_lo_row_conj trmm_c_csr_n_lo_row_conj
#define trmm_csr_u_lo_row_conj trmm_c_csr_u_lo_row_conj
#define trmm_csr_n_hi_row_conj trmm_c_csr_n_hi_row_conj
#define trmm_csr_u_hi_row_conj trmm_c_csr_u_hi_row_conj
#define trmm_csr_n_lo_col_conj trmm_c_csr_n_lo_col_conj
#define trmm_csr_u_lo_col_conj trmm_c_csr_u_lo_col_conj
#define trmm_csr_n_hi_col_conj trmm_c_csr_n_hi_col_conj
#define trmm_csr_u_hi_col_conj trmm_c_csr_u_hi_col_conj
#define diagmm_csr_n_row diagmm_c_csr_n_row
#define diagmm_csr_u_row diagmm_c_csr_u_row
#define diagmm_csr_n_col diagmm_c_csr_n_col
#define diagmm_csr_u_col diagmm_c_csr_u_col

#define spmmd_csr_row spmmd_c_csr_row
#define spmmd_csr_col spmmd_c_csr_col
#define spmmd_csr_row_trans spmmd_c_csr_row_trans
#define spmmd_csr_col_trans spmmd_c_csr_col_trans
#define spmmd_csr_row_conj spmmd_c_csr_row_conj
#define spmmd_csr_col_conj spmmd_c_csr_col_conj

#define spmm_csr spmm_c_csr
#define spmm_csr_trans spmm_c_csr_trans
#define spmm_csr_conj spmm_c_csr_conj

#define trsv_csr_n_lo trsv_c_csr_n_lo
#define trsv_csr_u_lo trsv_c_csr_u_lo
#define trsv_csr_n_hi trsv_c_csr_n_hi
#define trsv_csr_u_hi trsv_c_csr_u_hi
#define trsv_csr_n_lo_trans trsv_c_csr_n_lo_trans
#define trsv_csr_u_lo_trans trsv_c_csr_u_lo_trans
#define trsv_csr_n_hi_trans trsv_c_csr_n_hi_trans
#define trsv_csr_u_hi_trans trsv_c_csr_u_hi_trans
#define trsv_csr_n_lo_conj trsv_c_csr_n_lo_conj
#define trsv_csr_u_lo_conj trsv_c_csr_u_lo_conj
#define trsv_csr_n_hi_conj trsv_c_csr_n_hi_conj
#define trsv_csr_u_hi_conj trsv_c_csr_u_hi_conj
#define diagsv_csr_n diagsv_c_csr_n
#define diagsv_csr_u diagsv_c_csr_u

#define trsm_csr_n_lo_row trsm_c_csr_n_lo_row
#define trsm_csr_u_lo_row trsm_c_csr_u_lo_row
#define trsm_csr_n_hi_row trsm_c_csr_n_hi_row
#define trsm_csr_u_hi_row trsm_c_csr_u_hi_row
#define trsm_csr_n_lo_col trsm_c_csr_n_lo_col
#define trsm_csr_u_lo_col trsm_c_csr_u_lo_col
#define trsm_csr_n_hi_col trsm_c_csr_n_hi_col
#define trsm_csr_u_hi_col trsm_c_csr_u_hi_col
#define trsm_csr_n_lo_row_trans trsm_c_csr_n_lo_row_trans
#define trsm_csr_u_lo_row_trans trsm_c_csr_u_lo_row_trans
#define trsm_csr_n_hi_row_trans trsm_c_csr_n_hi_row_trans
#define trsm_csr_u_hi_row_trans trsm_c_csr_u_hi_row_trans
#define trsm_csr_n_lo_col_trans trsm_c_csr_n_lo_col_trans
#define trsm_csr_u_lo_col_trans trsm_c_csr_u_lo_col_trans
#define trsm_csr_n_hi_col_trans trsm_c_csr_n_hi_col_trans
#define trsm_csr_u_hi_col_trans trsm_c_csr_u_hi_col_trans
#define trsm_csr_n_lo_row_conj trsm_c_csr_n_lo_row_conj
#define trsm_csr_u_lo_row_conj trsm_c_csr_u_lo_row_conj
#define trsm_csr_n_hi_row_conj trsm_c_csr_n_hi_row_conj
#define trsm_csr_u_hi_row_conj trsm_c_csr_u_hi_row_conj
#define trsm_csr_n_lo_col_conj trsm_c_csr_n_lo_col_conj
#define trsm_csr_u_lo_col_conj trsm_c_csr_u_lo_col_conj
#define trsm_csr_n_hi_col_conj trsm_c_csr_n_hi_col_conj
#define trsm_csr_u_hi_col_conj trsm_c_csr_u_hi_col_conj
#define diagsm_csr_n_row diagsm_c_csr_n_row
#define diagsm_csr_u_row diagsm_c_csr_u_row
#define diagsm_csr_n_col diagsm_c_csr_n_col
#define diagsm_csr_u_col diagsm_c_csr_u_col


// csc
#define set_value_csc set_value_c_csc
#define update_values_csc update_values_c_csc

#define add_csc add_c_csc
#define add_csc_trans add_c_csc_trans
#define add_csc_conj add_c_csc_conj

#define gemv_csc gemv_c_csc
#define gemv_csc_trans gemv_c_csc_trans
#define gemv_csc_conj gemv_c_csc_conj
#define symv_csc_n_lo symv_c_csc_n_lo
#define symv_csc_u_lo symv_c_csc_u_lo
#define symv_csc_n_hi symv_c_csc_n_hi
#define symv_csc_u_hi symv_c_csc_u_hi
#define symv_csc_n_lo_conj symv_c_csc_n_lo_conj
#define symv_csc_u_lo_conj symv_c_csc_u_lo_conj
#define symv_csc_n_hi_conj symv_c_csc_n_hi_conj
#define symv_csc_u_hi_conj symv_c_csc_u_hi_conj
#define hermv_csc_n_lo hermv_c_csc_n_lo
#define hermv_csc_u_lo hermv_c_csc_u_lo
#define hermv_csc_n_hi hermv_c_csc_n_hi
#define hermv_csc_u_hi hermv_c_csc_u_hi
#define hermv_csc_n_lo_trans hermv_c_csc_n_lo_trans
#define hermv_csc_u_lo_trans hermv_c_csc_u_lo_trans
#define hermv_csc_n_hi_trans hermv_c_csc_n_hi_trans
#define hermv_csc_u_hi_trans hermv_c_csc_u_hi_trans
#define trmv_csc_n_lo trmv_c_csc_n_lo
#define trmv_csc_u_lo trmv_c_csc_u_lo
#define trmv_csc_n_hi trmv_c_csc_n_hi
#define trmv_csc_u_hi trmv_c_csc_u_hi
#define trmv_csc_n_lo_trans trmv_c_csc_n_lo_trans
#define trmv_csc_u_lo_trans trmv_c_csc_u_lo_trans
#define trmv_csc_n_hi_trans trmv_c_csc_n_hi_trans
#define trmv_csc_u_hi_trans trmv_c_csc_u_hi_trans
#define trmv_csc_n_lo_conj trmv_c_csc_n_lo_conj
#define trmv_csc_u_lo_conj trmv_c_csc_u_lo_conj
#define trmv_csc_n_hi_conj trmv_c_csc_n_hi_conj
#define trmv_csc_u_hi_conj trmv_c_csc_u_hi_conj
#define diagmv_csc_n diagmv_c_csc_n
#define diagmv_csc_u diagmv_c_csc_u

#define gemm_csc_row gemm_c_csc_row
#define gemm_csc_col gemm_c_csc_col
#define gemm_csc_row_trans gemm_c_csc_row_trans
#define gemm_csc_col_trans gemm_c_csc_col_trans
#define gemm_csc_row_conj gemm_c_csc_row_conj
#define gemm_csc_col_conj gemm_c_csc_col_conj
#define symm_csc_n_lo_row symm_c_csc_n_lo_row
#define symm_csc_u_lo_row symm_c_csc_u_lo_row
#define symm_csc_n_hi_row symm_c_csc_n_hi_row
#define symm_csc_u_hi_row symm_c_csc_u_hi_row
#define symm_csc_n_lo_col symm_c_csc_n_lo_col
#define symm_csc_u_lo_col symm_c_csc_u_lo_col
#define symm_csc_n_hi_col symm_c_csc_n_hi_col
#define symm_csc_u_hi_col symm_c_csc_u_hi_col
#define symm_csc_n_lo_row_conj symm_c_csc_n_lo_row_conj
#define symm_csc_u_lo_row_conj symm_c_csc_u_lo_row_conj
#define symm_csc_n_hi_row_conj symm_c_csc_n_hi_row_conj
#define symm_csc_u_hi_row_conj symm_c_csc_u_hi_row_conj
#define symm_csc_n_lo_col_conj symm_c_csc_n_lo_col_conj
#define symm_csc_u_lo_col_conj symm_c_csc_u_lo_col_conj
#define symm_csc_n_hi_col_conj symm_c_csc_n_hi_col_conj
#define symm_csc_u_hi_col_conj symm_c_csc_u_hi_col_conj
#define hermm_csc_n_lo_row hermm_c_csc_n_lo_row
#define hermm_csc_u_lo_row hermm_c_csc_u_lo_row
#define hermm_csc_n_hi_row hermm_c_csc_n_hi_row
#define hermm_csc_u_hi_row hermm_c_csc_u_hi_row
#define hermm_csc_n_lo_col hermm_c_csc_n_lo_col
#define hermm_csc_u_lo_col hermm_c_csc_u_lo_col
#define hermm_csc_n_hi_col hermm_c_csc_n_hi_col
#define hermm_csc_u_hi_col hermm_c_csc_u_hi_col
#define hermm_csc_n_lo_row_trans hermm_c_csc_n_lo_row_trans
#define hermm_csc_u_lo_row_trans hermm_c_csc_u_lo_row_trans
#define hermm_csc_n_hi_row_trans hermm_c_csc_n_hi_row_trans
#define hermm_csc_u_hi_row_trans hermm_c_csc_u_hi_row_trans
#define hermm_csc_n_lo_col_trans hermm_c_csc_n_lo_col_trans
#define hermm_csc_u_lo_col_trans hermm_c_csc_u_lo_col_trans
#define hermm_csc_n_hi_col_trans hermm_c_csc_n_hi_col_trans
#define hermm_csc_u_hi_col_trans hermm_c_csc_u_hi_col_trans
#define trmm_csc_n_lo_row trmm_c_csc_n_lo_row
#define trmm_csc_u_lo_row trmm_c_csc_u_lo_row
#define trmm_csc_n_hi_row trmm_c_csc_n_hi_row
#define trmm_csc_u_hi_row trmm_c_csc_u_hi_row
#define trmm_csc_n_lo_col trmm_c_csc_n_lo_col
#define trmm_csc_u_lo_col trmm_c_csc_u_lo_col
#define trmm_csc_n_hi_col trmm_c_csc_n_hi_col
#define trmm_csc_u_hi_col trmm_c_csc_u_hi_col
#define trmm_csc_n_lo_row_trans trmm_c_csc_n_lo_row_trans
#define trmm_csc_u_lo_row_trans trmm_c_csc_u_lo_row_trans
#define trmm_csc_n_hi_row_trans trmm_c_csc_n_hi_row_trans
#define trmm_csc_u_hi_row_trans trmm_c_csc_u_hi_row_trans
#define trmm_csc_n_lo_col_trans trmm_c_csc_n_lo_col_trans
#define trmm_csc_u_lo_col_trans trmm_c_csc_u_lo_col_trans
#define trmm_csc_n_hi_col_trans trmm_c_csc_n_hi_col_trans
#define trmm_csc_u_hi_col_trans trmm_c_csc_u_hi_col_trans
#define trmm_csc_n_lo_row_conj trmm_c_csc_n_lo_row_conj
#define trmm_csc_u_lo_row_conj trmm_c_csc_u_lo_row_conj
#define trmm_csc_n_hi_row_conj trmm_c_csc_n_hi_row_conj
#define trmm_csc_u_hi_row_conj trmm_c_csc_u_hi_row_conj
#define trmm_csc_n_lo_col_conj trmm_c_csc_n_lo_col_conj
#define trmm_csc_u_lo_col_conj trmm_c_csc_u_lo_col_conj
#define trmm_csc_n_hi_col_conj trmm_c_csc_n_hi_col_conj
#define trmm_csc_u_hi_col_conj trmm_c_csc_u_hi_col_conj
#define diagmm_csc_n_row diagmm_c_csc_n_row
#define diagmm_csc_u_row diagmm_c_csc_u_row
#define diagmm_csc_n_col diagmm_c_csc_n_col
#define diagmm_csc_u_col diagmm_c_csc_u_col

#define spmmd_csc_row spmmd_c_csc_row
#define spmmd_csc_col spmmd_c_csc_col
#define spmmd_csc_row_trans spmmd_c_csc_row_trans
#define spmmd_csc_col_trans spmmd_c_csc_col_trans
#define spmmd_csc_row_conj spmmd_c_csc_row_conj
#define spmmd_csc_col_conj spmmd_c_csc_col_conj

#define spmm_csc spmm_c_csc
#define spmm_csc_trans spmm_c_csc_trans
#define spmm_csc_conj spmm_c_csc_conj

#define trsv_csc_n_lo trsv_c_csc_n_lo
#define trsv_csc_u_lo trsv_c_csc_u_lo
#define trsv_csc_n_hi trsv_c_csc_n_hi
#define trsv_csc_u_hi trsv_c_csc_u_hi
#define trsv_csc_n_lo_trans trsv_c_csc_n_lo_trans
#define trsv_csc_u_lo_trans trsv_c_csc_u_lo_trans
#define trsv_csc_n_hi_trans trsv_c_csc_n_hi_trans
#define trsv_csc_u_hi_trans trsv_c_csc_u_hi_trans
#define trsv_csc_n_lo_conj trsv_c_csc_n_lo_conj
#define trsv_csc_u_lo_conj trsv_c_csc_u_lo_conj
#define trsv_csc_n_hi_conj trsv_c_csc_n_hi_conj
#define trsv_csc_u_hi_conj trsv_c_csc_u_hi_conj
#define diagsv_csc_n diagsv_c_csc_n
#define diagsv_csc_u diagsv_c_csc_u

#define trsm_csc_n_lo_row trsm_c_csc_n_lo_row
#define trsm_csc_u_lo_row trsm_c_csc_u_lo_row
#define trsm_csc_n_hi_row trsm_c_csc_n_hi_row
#define trsm_csc_u_hi_row trsm_c_csc_u_hi_row
#define trsm_csc_n_lo_col trsm_c_csc_n_lo_col
#define trsm_csc_u_lo_col trsm_c_csc_u_lo_col
#define trsm_csc_n_hi_col trsm_c_csc_n_hi_col
#define trsm_csc_u_hi_col trsm_c_csc_u_hi_col
#define trsm_csc_n_lo_row_trans trsm_c_csc_n_lo_row_trans
#define trsm_csc_u_lo_row_trans trsm_c_csc_u_lo_row_trans
#define trsm_csc_n_hi_row_trans trsm_c_csc_n_hi_row_trans
#define trsm_csc_u_hi_row_trans trsm_c_csc_u_hi_row_trans
#define trsm_csc_n_lo_col_trans trsm_c_csc_n_lo_col_trans
#define trsm_csc_u_lo_col_trans trsm_c_csc_u_lo_col_trans
#define trsm_csc_n_hi_col_trans trsm_c_csc_n_hi_col_trans
#define trsm_csc_u_hi_col_trans trsm_c_csc_u_hi_col_trans
#define trsm_csc_n_lo_row_conj trsm_c_csc_n_lo_row_conj
#define trsm_csc_u_lo_row_conj trsm_c_csc_u_lo_row_conj
#define trsm_csc_n_hi_row_conj trsm_c_csc_n_hi_row_conj
#define trsm_csc_u_hi_row_conj trsm_c_csc_u_hi_row_conj
#define trsm_csc_n_lo_col_conj trsm_c_csc_n_lo_col_conj
#define trsm_csc_u_lo_col_conj trsm_c_csc_u_lo_col_conj
#define trsm_csc_n_hi_col_conj trsm_c_csc_n_hi_col_conj
#define trsm_csc_u_hi_col_conj trsm_c_csc_u_hi_col_conj
#define diagsm_csc_n_row diagsm_c_csc_n_row
#define diagsm_csc_u_row diagsm_c_csc_u_row
#define diagsm_csc_n_col diagsm_c_csc_n_col
#define diagsm_csc_u_col diagsm_c_csc_u_col

// bsr
#define set_value_bsr set_value_c_bsr
#define update_values_bsr update_values_c_bsr

#define add_bsr add_c_bsr
#define add_bsr_trans add_c_bsr_trans
#define add_bsr_conj add_c_bsr_conj
#define gemv_bsr gemv_c_bsr
#define gemv_bsr_trans gemv_c_bsr_trans
#define gemv_bsr_conj gemv_c_bsr_conj
#define symv_bsr_n_lo symv_c_bsr_n_lo
#define symv_bsr_u_lo symv_c_bsr_u_lo
#define symv_bsr_n_hi symv_c_bsr_n_hi
#define symv_bsr_u_hi symv_c_bsr_u_hi
#define symv_bsr_n_lo_conj symv_c_bsr_n_lo_conj
#define symv_bsr_u_lo_conj symv_c_bsr_u_lo_conj
#define symv_bsr_n_hi_conj symv_c_bsr_n_hi_conj
#define symv_bsr_u_hi_conj symv_c_bsr_u_hi_conj
#define hermv_bsr_n_lo hermv_c_bsr_n_lo
#define hermv_bsr_u_lo hermv_c_bsr_u_lo
#define hermv_bsr_n_hi hermv_c_bsr_n_hi
#define hermv_bsr_u_hi hermv_c_bsr_u_hi
#define hermv_bsr_n_lo_trans hermv_c_bsr_n_lo_trans
#define hermv_bsr_u_lo_trans hermv_c_bsr_u_lo_trans
#define hermv_bsr_n_hi_trans hermv_c_bsr_n_hi_trans
#define hermv_bsr_u_hi_trans hermv_c_bsr_u_hi_trans
#define trmv_bsr_n_lo trmv_c_bsr_n_lo
#define trmv_bsr_u_lo trmv_c_bsr_u_lo
#define trmv_bsr_n_hi trmv_c_bsr_n_hi
#define trmv_bsr_u_hi trmv_c_bsr_u_hi
#define trmv_bsr_n_lo_trans trmv_c_bsr_n_lo_trans
#define trmv_bsr_u_lo_trans trmv_c_bsr_u_lo_trans
#define trmv_bsr_n_hi_trans trmv_c_bsr_n_hi_trans
#define trmv_bsr_u_hi_trans trmv_c_bsr_u_hi_trans
#define trmv_bsr_n_lo_conj trmv_c_bsr_n_lo_conj
#define trmv_bsr_u_lo_conj trmv_c_bsr_u_lo_conj
#define trmv_bsr_n_hi_conj trmv_c_bsr_n_hi_conj
#define trmv_bsr_u_hi_conj trmv_c_bsr_u_hi_conj
#define diagmv_bsr_n diagmv_c_bsr_n
#define diagmv_bsr_u diagmv_c_bsr_u
#define gemm_bsr_row gemm_c_bsr_row
#define gemm_bsr_col gemm_c_bsr_col
#define gemm_bsr_row_trans gemm_c_bsr_row_trans
#define gemm_bsr_col_trans gemm_c_bsr_col_trans
#define gemm_bsr_row_conj gemm_c_bsr_row_conj
#define gemm_bsr_col_conj gemm_c_bsr_col_conj
#define symm_bsr_n_lo_row symm_c_bsr_n_lo_row
#define symm_bsr_u_lo_row symm_c_bsr_u_lo_row
#define symm_bsr_n_hi_row symm_c_bsr_n_hi_row
#define symm_bsr_u_hi_row symm_c_bsr_u_hi_row
#define symm_bsr_n_lo_col symm_c_bsr_n_lo_col
#define symm_bsr_u_lo_col symm_c_bsr_u_lo_col
#define symm_bsr_n_hi_col symm_c_bsr_n_hi_col
#define symm_bsr_u_hi_col symm_c_bsr_u_hi_col
#define symm_bsr_n_lo_row_conj symm_c_bsr_n_lo_row_conj
#define symm_bsr_u_lo_row_conj symm_c_bsr_u_lo_row_conj
#define symm_bsr_n_hi_row_conj symm_c_bsr_n_hi_row_conj
#define symm_bsr_u_hi_row_conj symm_c_bsr_u_hi_row_conj
#define symm_bsr_n_lo_col_conj symm_c_bsr_n_lo_col_conj
#define symm_bsr_u_lo_col_conj symm_c_bsr_u_lo_col_conj
#define symm_bsr_n_hi_col_conj symm_c_bsr_n_hi_col_conj
#define symm_bsr_u_hi_col_conj symm_c_bsr_u_hi_col_conj
#define hermm_bsr_n_lo_row hermm_c_bsr_n_lo_row
#define hermm_bsr_u_lo_row hermm_c_bsr_u_lo_row
#define hermm_bsr_n_hi_row hermm_c_bsr_n_hi_row
#define hermm_bsr_u_hi_row hermm_c_bsr_u_hi_row
#define hermm_bsr_n_lo_col hermm_c_bsr_n_lo_col
#define hermm_bsr_u_lo_col hermm_c_bsr_u_lo_col
#define hermm_bsr_n_hi_col hermm_c_bsr_n_hi_col
#define hermm_bsr_u_hi_col hermm_c_bsr_u_hi_col
#define hermm_bsr_n_lo_row_trans hermm_c_bsr_n_lo_row_trans
#define hermm_bsr_u_lo_row_trans hermm_c_bsr_u_lo_row_trans
#define hermm_bsr_n_hi_row_trans hermm_c_bsr_n_hi_row_trans
#define hermm_bsr_u_hi_row_trans hermm_c_bsr_u_hi_row_trans
#define hermm_bsr_n_lo_col_trans hermm_c_bsr_n_lo_col_trans
#define hermm_bsr_u_lo_col_trans hermm_c_bsr_u_lo_col_trans
#define hermm_bsr_n_hi_col_trans hermm_c_bsr_n_hi_col_trans
#define hermm_bsr_u_hi_col_trans hermm_c_bsr_u_hi_col_trans
#define trmm_bsr_n_lo_row trmm_c_bsr_n_lo_row
#define trmm_bsr_u_lo_row trmm_c_bsr_u_lo_row
#define trmm_bsr_n_hi_row trmm_c_bsr_n_hi_row
#define trmm_bsr_u_hi_row trmm_c_bsr_u_hi_row
#define trmm_bsr_n_lo_col trmm_c_bsr_n_lo_col
#define trmm_bsr_u_lo_col trmm_c_bsr_u_lo_col
#define trmm_bsr_n_hi_col trmm_c_bsr_n_hi_col
#define trmm_bsr_u_hi_col trmm_c_bsr_u_hi_col
#define trmm_bsr_n_lo_row_trans trmm_c_bsr_n_lo_row_trans
#define trmm_bsr_u_lo_row_trans trmm_c_bsr_u_lo_row_trans
#define trmm_bsr_n_hi_row_trans trmm_c_bsr_n_hi_row_trans
#define trmm_bsr_u_hi_row_trans trmm_c_bsr_u_hi_row_trans
#define trmm_bsr_n_lo_col_trans trmm_c_bsr_n_lo_col_trans
#define trmm_bsr_u_lo_col_trans trmm_c_bsr_u_lo_col_trans
#define trmm_bsr_n_hi_col_trans trmm_c_bsr_n_hi_col_trans
#define trmm_bsr_u_hi_col_trans trmm_c_bsr_u_hi_col_trans
#define trmm_bsr_n_lo_row_conj trmm_c_bsr_n_lo_row_conj
#define trmm_bsr_u_lo_row_conj trmm_c_bsr_u_lo_row_conj
#define trmm_bsr_n_hi_row_conj trmm_c_bsr_n_hi_row_conj
#define trmm_bsr_u_hi_row_conj trmm_c_bsr_u_hi_row_conj
#define trmm_bsr_n_lo_col_conj trmm_c_bsr_n_lo_col_conj
#define trmm_bsr_u_lo_col_conj trmm_c_bsr_u_lo_col_conj
#define trmm_bsr_n_hi_col_conj trmm_c_bsr_n_hi_col_conj
#define trmm_bsr_u_hi_col_conj trmm_c_bsr_u_hi_col_conj
#define diagmm_bsr_n_row diagmm_c_bsr_n_row
#define diagmm_bsr_u_row diagmm_c_bsr_u_row
#define diagmm_bsr_n_col diagmm_c_bsr_n_col
#define diagmm_bsr_u_col diagmm_c_bsr_u_col
#define spmmd_bsr_row spmmd_c_bsr_row
#define spmmd_bsr_col spmmd_c_bsr_col
#define spmmd_bsr_row_trans spmmd_c_bsr_row_trans
#define spmmd_bsr_col_trans spmmd_c_bsr_col_trans
#define spmmd_bsr_row_conj spmmd_c_bsr_row_conj
#define spmmd_bsr_col_conj spmmd_c_bsr_col_conj
#define spmm_bsr spmm_c_bsr
#define spmm_bsr_trans spmm_c_bsr_trans
#define spmm_bsr_conj spmm_c_bsr_conj
#define trsv_bsr_n_lo trsv_c_bsr_n_lo
#define trsv_bsr_u_lo trsv_c_bsr_u_lo
#define trsv_bsr_n_hi trsv_c_bsr_n_hi
#define trsv_bsr_u_hi trsv_c_bsr_u_hi
#define trsv_bsr_n_lo_trans trsv_c_bsr_n_lo_trans
#define trsv_bsr_u_lo_trans trsv_c_bsr_u_lo_trans
#define trsv_bsr_n_hi_trans trsv_c_bsr_n_hi_trans
#define trsv_bsr_u_hi_trans trsv_c_bsr_u_hi_trans
#define trsv_bsr_n_lo_conj trsv_c_bsr_n_lo_conj
#define trsv_bsr_u_lo_conj trsv_c_bsr_u_lo_conj
#define trsv_bsr_n_hi_conj trsv_c_bsr_n_hi_conj
#define trsv_bsr_u_hi_conj trsv_c_bsr_u_hi_conj
#define diagsv_bsr_n diagsv_c_bsr_n
#define diagsv_bsr_u diagsv_c_bsr_u
#define trsm_bsr_n_lo_row trsm_c_bsr_n_lo_row
#define trsm_bsr_u_lo_row trsm_c_bsr_u_lo_row
#define trsm_bsr_n_hi_row trsm_c_bsr_n_hi_row
#define trsm_bsr_u_hi_row trsm_c_bsr_u_hi_row
#define trsm_bsr_n_lo_col trsm_c_bsr_n_lo_col
#define trsm_bsr_u_lo_col trsm_c_bsr_u_lo_col
#define trsm_bsr_n_hi_col trsm_c_bsr_n_hi_col
#define trsm_bsr_u_hi_col trsm_c_bsr_u_hi_col
#define trsm_bsr_n_lo_row_trans trsm_c_bsr_n_lo_row_trans
#define trsm_bsr_u_lo_row_trans trsm_c_bsr_u_lo_row_trans
#define trsm_bsr_n_hi_row_trans trsm_c_bsr_n_hi_row_trans
#define trsm_bsr_u_hi_row_trans trsm_c_bsr_u_hi_row_trans
#define trsm_bsr_n_lo_col_trans trsm_c_bsr_n_lo_col_trans
#define trsm_bsr_u_lo_col_trans trsm_c_bsr_u_lo_col_trans
#define trsm_bsr_n_hi_col_trans trsm_c_bsr_n_hi_col_trans
#define trsm_bsr_u_hi_col_trans trsm_c_bsr_u_hi_col_trans
#define trsm_bsr_n_lo_row_conj trsm_c_bsr_n_lo_row_conj
#define trsm_bsr_u_lo_row_conj trsm_c_bsr_u_lo_row_conj
#define trsm_bsr_n_hi_row_conj trsm_c_bsr_n_hi_row_conj
#define trsm_bsr_u_hi_row_conj trsm_c_bsr_u_hi_row_conj
#define trsm_bsr_n_lo_col_conj trsm_c_bsr_n_lo_col_conj
#define trsm_bsr_u_lo_col_conj trsm_c_bsr_u_lo_col_conj
#define trsm_bsr_n_hi_col_conj trsm_c_bsr_n_hi_col_conj
#define trsm_bsr_u_hi_col_conj trsm_c_bsr_u_hi_col_conj
#define diagsm_bsr_n_row diagsm_c_bsr_n_row
#define diagsm_bsr_u_row diagsm_c_bsr_u_row
#define diagsm_bsr_n_col diagsm_c_bsr_n_col
#define diagsm_bsr_u_col diagsm_c_bsr_u_col

// sky
#define set_value_sky set_value_c_sky
#define update_values_sky update_values_c_sky

#define add_sky add_c_sky
#define add_sky_trans add_c_sky_trans
#define add_sky_conj add_c_sky_conj
#define gemv_sky gemv_c_sky
#define gemv_sky_trans gemv_c_sky_trans
#define gemv_sky_conj gemv_c_sky_conj
#define symv_sky_n_lo symv_c_sky_n_lo
#define symv_sky_u_lo symv_c_sky_u_lo
#define symv_sky_n_hi symv_c_sky_n_hi
#define symv_sky_u_hi symv_c_sky_u_hi
#define symv_sky_n_lo_conj symv_c_sky_n_lo_conj
#define symv_sky_u_lo_conj symv_c_sky_u_lo_conj
#define symv_sky_n_hi_conj symv_c_sky_n_hi_conj
#define symv_sky_u_hi_conj symv_c_sky_u_hi_conj
#define hermv_sky_n_lo hermv_c_sky_n_lo
#define hermv_sky_u_lo hermv_c_sky_u_lo
#define hermv_sky_n_hi hermv_c_sky_n_hi
#define hermv_sky_u_hi hermv_c_sky_u_hi
#define hermv_sky_n_lo_trans hermv_c_sky_n_lo_trans
#define hermv_sky_u_lo_trans hermv_c_sky_u_lo_trans
#define hermv_sky_n_hi_trans hermv_c_sky_n_hi_trans
#define hermv_sky_u_hi_trans hermv_c_sky_u_hi_trans
#define trmv_sky_n_lo trmv_c_sky_n_lo
#define trmv_sky_u_lo trmv_c_sky_u_lo
#define trmv_sky_n_hi trmv_c_sky_n_hi
#define trmv_sky_u_hi trmv_c_sky_u_hi
#define trmv_sky_n_lo_trans trmv_c_sky_n_lo_trans
#define trmv_sky_u_lo_trans trmv_c_sky_u_lo_trans
#define trmv_sky_n_hi_trans trmv_c_sky_n_hi_trans
#define trmv_sky_u_hi_trans trmv_c_sky_u_hi_trans
#define trmv_sky_n_lo_conj trmv_c_sky_n_lo_conj
#define trmv_sky_u_lo_conj trmv_c_sky_u_lo_conj
#define trmv_sky_n_hi_conj trmv_c_sky_n_hi_conj
#define trmv_sky_u_hi_conj trmv_c_sky_u_hi_conj
#define diagmv_sky_n diagmv_c_sky_n
#define diagmv_sky_u diagmv_c_sky_u
#define gemm_sky_row gemm_c_sky_row
#define gemm_sky_col gemm_c_sky_col
#define gemm_sky_row_trans gemm_c_sky_row_trans
#define gemm_sky_col_trans gemm_c_sky_col_trans
#define gemm_sky_row_conj gemm_c_sky_row_conj
#define gemm_sky_col_conj gemm_c_sky_col_conj
#define symm_sky_n_lo_row symm_c_sky_n_lo_row
#define symm_sky_u_lo_row symm_c_sky_u_lo_row
#define symm_sky_n_hi_row symm_c_sky_n_hi_row
#define symm_sky_u_hi_row symm_c_sky_u_hi_row
#define symm_sky_n_lo_col symm_c_sky_n_lo_col
#define symm_sky_u_lo_col symm_c_sky_u_lo_col
#define symm_sky_n_hi_col symm_c_sky_n_hi_col
#define symm_sky_u_hi_col symm_c_sky_u_hi_col
#define symm_sky_n_lo_row_conj symm_c_sky_n_lo_row_conj
#define symm_sky_u_lo_row_conj symm_c_sky_u_lo_row_conj
#define symm_sky_n_hi_row_conj symm_c_sky_n_hi_row_conj
#define symm_sky_u_hi_row_conj symm_c_sky_u_hi_row_conj
#define symm_sky_n_lo_col_conj symm_c_sky_n_lo_col_conj
#define symm_sky_u_lo_col_conj symm_c_sky_u_lo_col_conj
#define symm_sky_n_hi_col_conj symm_c_sky_n_hi_col_conj
#define symm_sky_u_hi_col_conj symm_c_sky_u_hi_col_conj
#define hermm_sky_n_lo_row hermm_c_sky_n_lo_row
#define hermm_sky_u_lo_row hermm_c_sky_u_lo_row
#define hermm_sky_n_hi_row hermm_c_sky_n_hi_row
#define hermm_sky_u_hi_row hermm_c_sky_u_hi_row
#define hermm_sky_n_lo_col hermm_c_sky_n_lo_col
#define hermm_sky_u_lo_col hermm_c_sky_u_lo_col
#define hermm_sky_n_hi_col hermm_c_sky_n_hi_col
#define hermm_sky_u_hi_col hermm_c_sky_u_hi_col
#define hermm_sky_n_lo_row_trans hermm_c_sky_n_lo_row_trans
#define hermm_sky_u_lo_row_trans hermm_c_sky_u_lo_row_trans
#define hermm_sky_n_hi_row_trans hermm_c_sky_n_hi_row_trans
#define hermm_sky_u_hi_row_trans hermm_c_sky_u_hi_row_trans
#define hermm_sky_n_lo_col_trans hermm_c_sky_n_lo_col_trans
#define hermm_sky_u_lo_col_trans hermm_c_sky_u_lo_col_trans
#define hermm_sky_n_hi_col_trans hermm_c_sky_n_hi_col_trans
#define hermm_sky_u_hi_col_trans hermm_c_sky_u_hi_col_trans
#define trmm_sky_n_lo_row trmm_c_sky_n_lo_row
#define trmm_sky_u_lo_row trmm_c_sky_u_lo_row
#define trmm_sky_n_hi_row trmm_c_sky_n_hi_row
#define trmm_sky_u_hi_row trmm_c_sky_u_hi_row
#define trmm_sky_n_lo_col trmm_c_sky_n_lo_col
#define trmm_sky_u_lo_col trmm_c_sky_u_lo_col
#define trmm_sky_n_hi_col trmm_c_sky_n_hi_col
#define trmm_sky_u_hi_col trmm_c_sky_u_hi_col
#define trmm_sky_n_lo_row_trans trmm_c_sky_n_lo_row_trans
#define trmm_sky_u_lo_row_trans trmm_c_sky_u_lo_row_trans
#define trmm_sky_n_hi_row_trans trmm_c_sky_n_hi_row_trans
#define trmm_sky_u_hi_row_trans trmm_c_sky_u_hi_row_trans
#define trmm_sky_n_lo_col_trans trmm_c_sky_n_lo_col_trans
#define trmm_sky_u_lo_col_trans trmm_c_sky_u_lo_col_trans
#define trmm_sky_n_hi_col_trans trmm_c_sky_n_hi_col_trans
#define trmm_sky_u_hi_col_trans trmm_c_sky_u_hi_col_trans
#define trmm_sky_n_lo_row_conj trmm_c_sky_n_lo_row_conj
#define trmm_sky_u_lo_row_conj trmm_c_sky_u_lo_row_conj
#define trmm_sky_n_hi_row_conj trmm_c_sky_n_hi_row_conj
#define trmm_sky_u_hi_row_conj trmm_c_sky_u_hi_row_conj
#define trmm_sky_n_lo_col_conj trmm_c_sky_n_lo_col_conj
#define trmm_sky_u_lo_col_conj trmm_c_sky_u_lo_col_conj
#define trmm_sky_n_hi_col_conj trmm_c_sky_n_hi_col_conj
#define trmm_sky_u_hi_col_conj trmm_c_sky_u_hi_col_conj
#define diagmm_sky_n_row diagmm_c_sky_n_row
#define diagmm_sky_u_row diagmm_c_sky_u_row
#define diagmm_sky_n_col diagmm_c_sky_n_col
#define diagmm_sky_u_col diagmm_c_sky_u_col
#define spmmd_sky_row spmmd_c_sky_row
#define spmmd_sky_col spmmd_c_sky_col
#define spmmd_sky_row_trans spmmd_c_sky_row_trans
#define spmmd_sky_col_trans spmmd_c_sky_col_trans
#define spmmd_sky_row_conj spmmd_c_sky_row_conj
#define spmmd_sky_col_conj spmmd_c_sky_col_conj
#define spmm_sky spmm_c_sky
#define spmm_sky_trans spmm_c_sky_trans
#define spmm_sky_conj spmm_c_sky_conj
#define trsv_sky_n_lo trsv_c_sky_n_lo
#define trsv_sky_u_lo trsv_c_sky_u_lo
#define trsv_sky_n_hi trsv_c_sky_n_hi
#define trsv_sky_u_hi trsv_c_sky_u_hi
#define trsv_sky_n_lo_trans trsv_c_sky_n_lo_trans
#define trsv_sky_u_lo_trans trsv_c_sky_u_lo_trans
#define trsv_sky_n_hi_trans trsv_c_sky_n_hi_trans
#define trsv_sky_u_hi_trans trsv_c_sky_u_hi_trans
#define trsv_sky_n_lo_conj trsv_c_sky_n_lo_conj
#define trsv_sky_u_lo_conj trsv_c_sky_u_lo_conj
#define trsv_sky_n_hi_conj trsv_c_sky_n_hi_conj
#define trsv_sky_u_hi_conj trsv_c_sky_u_hi_conj
#define diagsv_sky_n diagsv_c_sky_n
#define diagsv_sky_u diagsv_c_sky_u
#define trsm_sky_n_lo_row trsm_c_sky_n_lo_row
#define trsm_sky_u_lo_row trsm_c_sky_u_lo_row
#define trsm_sky_n_hi_row trsm_c_sky_n_hi_row
#define trsm_sky_u_hi_row trsm_c_sky_u_hi_row
#define trsm_sky_n_lo_col trsm_c_sky_n_lo_col
#define trsm_sky_u_lo_col trsm_c_sky_u_lo_col
#define trsm_sky_n_hi_col trsm_c_sky_n_hi_col
#define trsm_sky_u_hi_col trsm_c_sky_u_hi_col
#define trsm_sky_n_lo_row_trans trsm_c_sky_n_lo_row_trans
#define trsm_sky_u_lo_row_trans trsm_c_sky_u_lo_row_trans
#define trsm_sky_n_hi_row_trans trsm_c_sky_n_hi_row_trans
#define trsm_sky_u_hi_row_trans trsm_c_sky_u_hi_row_trans
#define trsm_sky_n_lo_col_trans trsm_c_sky_n_lo_col_trans
#define trsm_sky_u_lo_col_trans trsm_c_sky_u_lo_col_trans
#define trsm_sky_n_hi_col_trans trsm_c_sky_n_hi_col_trans
#define trsm_sky_u_hi_col_trans trsm_c_sky_u_hi_col_trans
#define trsm_sky_n_lo_row_conj trsm_c_sky_n_lo_row_conj
#define trsm_sky_u_lo_row_conj trsm_c_sky_u_lo_row_conj
#define trsm_sky_n_hi_row_conj trsm_c_sky_n_hi_row_conj
#define trsm_sky_u_hi_row_conj trsm_c_sky_u_hi_row_conj
#define trsm_sky_n_lo_col_conj trsm_c_sky_n_lo_col_conj
#define trsm_sky_u_lo_col_conj trsm_c_sky_u_lo_col_conj
#define trsm_sky_n_hi_col_conj trsm_c_sky_n_hi_col_conj
#define trsm_sky_u_hi_col_conj trsm_c_sky_u_hi_col_conj
#define diagsm_sky_n_row diagsm_c_sky_n_row
#define diagsm_sky_u_row diagsm_c_sky_u_row
#define diagsm_sky_n_col diagsm_c_sky_n_col
#define diagsm_sky_u_col diagsm_c_sky_u_col

// dia
#define set_value_dia set_value_c_dia
#define update_values_dia update_values_c_dia

#define add_dia add_c_dia
#define add_dia_trans add_c_dia_trans
#define add_dia_conj add_c_dia_conj
#define gemv_dia gemv_c_dia
#define gemv_dia_trans gemv_c_dia_trans
#define gemv_dia_conj gemv_c_dia_conj
#define symv_dia_n_lo symv_c_dia_n_lo
#define symv_dia_u_lo symv_c_dia_u_lo
#define symv_dia_n_hi symv_c_dia_n_hi
#define symv_dia_u_hi symv_c_dia_u_hi
#define symv_dia_n_lo_conj symv_c_dia_n_lo_conj
#define symv_dia_u_lo_conj symv_c_dia_u_lo_conj
#define symv_dia_n_hi_conj symv_c_dia_n_hi_conj
#define symv_dia_u_hi_conj symv_c_dia_u_hi_conj
#define hermv_dia_n_lo hermv_c_dia_n_lo
#define hermv_dia_u_lo hermv_c_dia_u_lo
#define hermv_dia_n_hi hermv_c_dia_n_hi
#define hermv_dia_u_hi hermv_c_dia_u_hi
#define hermv_dia_n_lo_trans hermv_c_dia_n_lo_trans
#define hermv_dia_u_lo_trans hermv_c_dia_u_lo_trans
#define hermv_dia_n_hi_trans hermv_c_dia_n_hi_trans
#define hermv_dia_u_hi_trans hermv_c_dia_u_hi_trans
#define trmv_dia_n_lo trmv_c_dia_n_lo
#define trmv_dia_u_lo trmv_c_dia_u_lo
#define trmv_dia_n_hi trmv_c_dia_n_hi
#define trmv_dia_u_hi trmv_c_dia_u_hi
#define trmv_dia_n_lo_trans trmv_c_dia_n_lo_trans
#define trmv_dia_u_lo_trans trmv_c_dia_u_lo_trans
#define trmv_dia_n_hi_trans trmv_c_dia_n_hi_trans
#define trmv_dia_u_hi_trans trmv_c_dia_u_hi_trans
#define trmv_dia_n_lo_conj trmv_c_dia_n_lo_conj
#define trmv_dia_u_lo_conj trmv_c_dia_u_lo_conj
#define trmv_dia_n_hi_conj trmv_c_dia_n_hi_conj
#define trmv_dia_u_hi_conj trmv_c_dia_u_hi_conj
#define diagmv_dia_n diagmv_c_dia_n
#define diagmv_dia_u diagmv_c_dia_u
#define gemm_dia_row gemm_c_dia_row
#define gemm_dia_col gemm_c_dia_col
#define gemm_dia_row_trans gemm_c_dia_row_trans
#define gemm_dia_col_trans gemm_c_dia_col_trans
#define gemm_dia_row_conj gemm_c_dia_row_conj
#define gemm_dia_col_conj gemm_c_dia_col_conj
#define symm_dia_n_lo_row symm_c_dia_n_lo_row
#define symm_dia_u_lo_row symm_c_dia_u_lo_row
#define symm_dia_n_hi_row symm_c_dia_n_hi_row
#define symm_dia_u_hi_row symm_c_dia_u_hi_row
#define symm_dia_n_lo_col symm_c_dia_n_lo_col
#define symm_dia_u_lo_col symm_c_dia_u_lo_col
#define symm_dia_n_hi_col symm_c_dia_n_hi_col
#define symm_dia_u_hi_col symm_c_dia_u_hi_col
#define symm_dia_n_lo_row_conj symm_c_dia_n_lo_row_conj
#define symm_dia_u_lo_row_conj symm_c_dia_u_lo_row_conj
#define symm_dia_n_hi_row_conj symm_c_dia_n_hi_row_conj
#define symm_dia_u_hi_row_conj symm_c_dia_u_hi_row_conj
#define symm_dia_n_lo_col_conj symm_c_dia_n_lo_col_conj
#define symm_dia_u_lo_col_conj symm_c_dia_u_lo_col_conj
#define symm_dia_n_hi_col_conj symm_c_dia_n_hi_col_conj
#define symm_dia_u_hi_col_conj symm_c_dia_u_hi_col_conj
#define hermm_dia_n_lo_row hermm_c_dia_n_lo_row
#define hermm_dia_u_lo_row hermm_c_dia_u_lo_row
#define hermm_dia_n_hi_row hermm_c_dia_n_hi_row
#define hermm_dia_u_hi_row hermm_c_dia_u_hi_row
#define hermm_dia_n_lo_col hermm_c_dia_n_lo_col
#define hermm_dia_u_lo_col hermm_c_dia_u_lo_col
#define hermm_dia_n_hi_col hermm_c_dia_n_hi_col
#define hermm_dia_u_hi_col hermm_c_dia_u_hi_col
#define hermm_dia_n_lo_row_trans hermm_c_dia_n_lo_row_trans
#define hermm_dia_u_lo_row_trans hermm_c_dia_u_lo_row_trans
#define hermm_dia_n_hi_row_trans hermm_c_dia_n_hi_row_trans
#define hermm_dia_u_hi_row_trans hermm_c_dia_u_hi_row_trans
#define hermm_dia_n_lo_col_trans hermm_c_dia_n_lo_col_trans
#define hermm_dia_u_lo_col_trans hermm_c_dia_u_lo_col_trans
#define hermm_dia_n_hi_col_trans hermm_c_dia_n_hi_col_trans
#define hermm_dia_u_hi_col_trans hermm_c_dia_u_hi_col_trans
#define trmm_dia_n_lo_row trmm_c_dia_n_lo_row
#define trmm_dia_u_lo_row trmm_c_dia_u_lo_row
#define trmm_dia_n_hi_row trmm_c_dia_n_hi_row
#define trmm_dia_u_hi_row trmm_c_dia_u_hi_row
#define trmm_dia_n_lo_col trmm_c_dia_n_lo_col
#define trmm_dia_u_lo_col trmm_c_dia_u_lo_col
#define trmm_dia_n_hi_col trmm_c_dia_n_hi_col
#define trmm_dia_u_hi_col trmm_c_dia_u_hi_col
#define trmm_dia_n_lo_row_trans trmm_c_dia_n_lo_row_trans
#define trmm_dia_u_lo_row_trans trmm_c_dia_u_lo_row_trans
#define trmm_dia_n_hi_row_trans trmm_c_dia_n_hi_row_trans
#define trmm_dia_u_hi_row_trans trmm_c_dia_u_hi_row_trans
#define trmm_dia_n_lo_col_trans trmm_c_dia_n_lo_col_trans
#define trmm_dia_u_lo_col_trans trmm_c_dia_u_lo_col_trans
#define trmm_dia_n_hi_col_trans trmm_c_dia_n_hi_col_trans
#define trmm_dia_u_hi_col_trans trmm_c_dia_u_hi_col_trans
#define trmm_dia_n_lo_row_conj trmm_c_dia_n_lo_row_conj
#define trmm_dia_u_lo_row_conj trmm_c_dia_u_lo_row_conj
#define trmm_dia_n_hi_row_conj trmm_c_dia_n_hi_row_conj
#define trmm_dia_u_hi_row_conj trmm_c_dia_u_hi_row_conj
#define trmm_dia_n_lo_col_conj trmm_c_dia_n_lo_col_conj
#define trmm_dia_u_lo_col_conj trmm_c_dia_u_lo_col_conj
#define trmm_dia_n_hi_col_conj trmm_c_dia_n_hi_col_conj
#define trmm_dia_u_hi_col_conj trmm_c_dia_u_hi_col_conj
#define diagmm_dia_n_row diagmm_c_dia_n_row
#define diagmm_dia_u_row diagmm_c_dia_u_row
#define diagmm_dia_n_col diagmm_c_dia_n_col
#define diagmm_dia_u_col diagmm_c_dia_u_col
#define spmmd_dia_row spmmd_c_dia_row
#define spmmd_dia_col spmmd_c_dia_col
#define spmmd_dia_row_trans spmmd_c_dia_row_trans
#define spmmd_dia_col_trans spmmd_c_dia_col_trans
#define spmmd_dia_row_conj spmmd_c_dia_row_conj
#define spmmd_dia_col_conj spmmd_c_dia_col_conj
#define spmm_dia spmm_c_dia
#define spmm_dia_trans spmm_c_dia_trans
#define spmm_dia_conj spmm_c_dia_conj
#define trsv_dia_n_lo trsv_c_dia_n_lo
#define trsv_dia_u_lo trsv_c_dia_u_lo
#define trsv_dia_n_hi trsv_c_dia_n_hi
#define trsv_dia_u_hi trsv_c_dia_u_hi
#define trsv_dia_n_lo_trans trsv_c_dia_n_lo_trans
#define trsv_dia_u_lo_trans trsv_c_dia_u_lo_trans
#define trsv_dia_n_hi_trans trsv_c_dia_n_hi_trans
#define trsv_dia_u_hi_trans trsv_c_dia_u_hi_trans
#define trsv_dia_n_lo_conj trsv_c_dia_n_lo_conj
#define trsv_dia_u_lo_conj trsv_c_dia_u_lo_conj
#define trsv_dia_n_hi_conj trsv_c_dia_n_hi_conj
#define trsv_dia_u_hi_conj trsv_c_dia_u_hi_conj
#define diagsv_dia_n diagsv_c_dia_n
#define diagsv_dia_u diagsv_c_dia_u
#define trsm_dia_n_lo_row trsm_c_dia_n_lo_row
#define trsm_dia_u_lo_row trsm_c_dia_u_lo_row
#define trsm_dia_n_hi_row trsm_c_dia_n_hi_row
#define trsm_dia_u_hi_row trsm_c_dia_u_hi_row
#define trsm_dia_n_lo_col trsm_c_dia_n_lo_col
#define trsm_dia_u_lo_col trsm_c_dia_u_lo_col
#define trsm_dia_n_hi_col trsm_c_dia_n_hi_col
#define trsm_dia_u_hi_col trsm_c_dia_u_hi_col
#define trsm_dia_n_lo_row_trans trsm_c_dia_n_lo_row_trans
#define trsm_dia_u_lo_row_trans trsm_c_dia_u_lo_row_trans
#define trsm_dia_n_hi_row_trans trsm_c_dia_n_hi_row_trans
#define trsm_dia_u_hi_row_trans trsm_c_dia_u_hi_row_trans
#define trsm_dia_n_lo_col_trans trsm_c_dia_n_lo_col_trans
#define trsm_dia_u_lo_col_trans trsm_c_dia_u_lo_col_trans
#define trsm_dia_n_hi_col_trans trsm_c_dia_n_hi_col_trans
#define trsm_dia_u_hi_col_trans trsm_c_dia_u_hi_col_trans
#define trsm_dia_n_lo_row_conj trsm_c_dia_n_lo_row_conj
#define trsm_dia_u_lo_row_conj trsm_c_dia_u_lo_row_conj
#define trsm_dia_n_hi_row_conj trsm_c_dia_n_hi_row_conj
#define trsm_dia_u_hi_row_conj trsm_c_dia_u_hi_row_conj
#define trsm_dia_n_lo_col_conj trsm_c_dia_n_lo_col_conj
#define trsm_dia_u_lo_col_conj trsm_c_dia_u_lo_col_conj
#define trsm_dia_n_hi_col_conj trsm_c_dia_n_hi_col_conj
#define trsm_dia_u_hi_col_conj trsm_c_dia_u_hi_col_conj
#define diagsm_dia_n_row diagsm_c_dia_n_row
#define diagsm_dia_u_row diagsm_c_dia_u_row
#define diagsm_dia_n_col diagsm_c_dia_n_col
#define diagsm_dia_u_col diagsm_c_dia_u_col
