#pragma once

// level 1

#define axpy axpy_z_
#define gthr gthr_z_
#define gthrz gthrz_z_
#define sctr sctr_z_
#define dotui_sub dotui_z_sub
#define dotci_sub dotci_z_sub
#define update_values update_values_z_

// coo
#define set_value_coo set_value_z_coo
#define update_values_coo update_values_z_coo

#define add_coo add_z_coo
#define add_coo_trans add_z_coo_trans
#define add_coo_conj add_z_coo_conj

#define gemv_coo gemv_z_coo
#define gemv_coo_trans gemv_z_coo_trans
#define gemv_coo_conj gemv_z_coo_conj
#define symv_coo_n_lo symv_z_coo_n_lo
#define symv_coo_u_lo symv_z_coo_u_lo
#define symv_coo_n_hi symv_z_coo_n_hi
#define symv_coo_u_hi symv_z_coo_u_hi
#define symv_coo_n_lo_conj symv_z_coo_n_lo_conj
#define symv_coo_u_lo_conj symv_z_coo_u_lo_conj
#define symv_coo_n_hi_conj symv_z_coo_n_hi_conj
#define symv_coo_u_hi_conj symv_z_coo_u_hi_conj
#define hermv_coo_n_lo hermv_z_coo_n_lo
#define hermv_coo_u_lo hermv_z_coo_u_lo
#define hermv_coo_n_hi hermv_z_coo_n_hi
#define hermv_coo_u_hi hermv_z_coo_u_hi
#define hermv_coo_n_lo_trans hermv_z_coo_n_lo_trans
#define hermv_coo_u_lo_trans hermv_z_coo_u_lo_trans
#define hermv_coo_n_hi_trans hermv_z_coo_n_hi_trans
#define hermv_coo_u_hi_trans hermv_z_coo_u_hi_trans
#define trmv_coo_n_lo trmv_z_coo_n_lo
#define trmv_coo_u_lo trmv_z_coo_u_lo
#define trmv_coo_n_hi trmv_z_coo_n_hi
#define trmv_coo_u_hi trmv_z_coo_u_hi
#define trmv_coo_n_lo_trans trmv_z_coo_n_lo_trans
#define trmv_coo_u_lo_trans trmv_z_coo_u_lo_trans
#define trmv_coo_n_hi_trans trmv_z_coo_n_hi_trans
#define trmv_coo_u_hi_trans trmv_z_coo_u_hi_trans
#define trmv_coo_n_lo_conj trmv_z_coo_n_lo_conj
#define trmv_coo_u_lo_conj trmv_z_coo_u_lo_conj
#define trmv_coo_n_hi_conj trmv_z_coo_n_hi_conj
#define trmv_coo_u_hi_conj trmv_z_coo_u_hi_conj
#define diagmv_coo_n diagmv_z_coo_n
#define diagmv_coo_u diagmv_z_coo_u

#define gemm_coo_row gemm_z_coo_row
#define gemm_coo_col gemm_z_coo_col
#define gemm_coo_row_trans gemm_z_coo_row_trans
#define gemm_coo_col_trans gemm_z_coo_col_trans
#define gemm_coo_row_conj gemm_z_coo_row_conj
#define gemm_coo_col_conj gemm_z_coo_col_conj
#define symm_coo_n_lo_row symm_z_coo_n_lo_row
#define symm_coo_u_lo_row symm_z_coo_u_lo_row
#define symm_coo_n_hi_row symm_z_coo_n_hi_row
#define symm_coo_u_hi_row symm_z_coo_u_hi_row
#define symm_coo_n_lo_col symm_z_coo_n_lo_col
#define symm_coo_u_lo_col symm_z_coo_u_lo_col
#define symm_coo_n_hi_col symm_z_coo_n_hi_col
#define symm_coo_u_hi_col symm_z_coo_u_hi_col
#define symm_coo_n_lo_row_conj symm_z_coo_n_lo_row_conj
#define symm_coo_u_lo_row_conj symm_z_coo_u_lo_row_conj
#define symm_coo_n_hi_row_conj symm_z_coo_n_hi_row_conj
#define symm_coo_u_hi_row_conj symm_z_coo_u_hi_row_conj
#define symm_coo_n_lo_col_conj symm_z_coo_n_lo_col_conj
#define symm_coo_u_lo_col_conj symm_z_coo_u_lo_col_conj
#define symm_coo_n_hi_col_conj symm_z_coo_n_hi_col_conj
#define symm_coo_u_hi_col_conj symm_z_coo_u_hi_col_conj
#define hermm_coo_n_lo_row hermm_z_coo_n_lo_row
#define hermm_coo_u_lo_row hermm_z_coo_u_lo_row
#define hermm_coo_n_hi_row hermm_z_coo_n_hi_row
#define hermm_coo_u_hi_row hermm_z_coo_u_hi_row
#define hermm_coo_n_lo_col hermm_z_coo_n_lo_col
#define hermm_coo_u_lo_col hermm_z_coo_u_lo_col
#define hermm_coo_n_hi_col hermm_z_coo_n_hi_col
#define hermm_coo_u_hi_col hermm_z_coo_u_hi_col
#define hermm_coo_n_lo_row_trans hermm_z_coo_n_lo_row_trans
#define hermm_coo_u_lo_row_trans hermm_z_coo_u_lo_row_trans
#define hermm_coo_n_hi_row_trans hermm_z_coo_n_hi_row_trans
#define hermm_coo_u_hi_row_trans hermm_z_coo_u_hi_row_trans
#define hermm_coo_n_lo_col_trans hermm_z_coo_n_lo_col_trans
#define hermm_coo_u_lo_col_trans hermm_z_coo_u_lo_col_trans
#define hermm_coo_n_hi_col_trans hermm_z_coo_n_hi_col_trans
#define hermm_coo_u_hi_col_trans hermm_z_coo_u_hi_col_trans
#define trmm_coo_n_lo_row trmm_z_coo_n_lo_row
#define trmm_coo_u_lo_row trmm_z_coo_u_lo_row
#define trmm_coo_n_hi_row trmm_z_coo_n_hi_row
#define trmm_coo_u_hi_row trmm_z_coo_u_hi_row
#define trmm_coo_n_lo_col trmm_z_coo_n_lo_col
#define trmm_coo_u_lo_col trmm_z_coo_u_lo_col
#define trmm_coo_n_hi_col trmm_z_coo_n_hi_col
#define trmm_coo_u_hi_col trmm_z_coo_u_hi_col
#define trmm_coo_n_lo_row_trans trmm_z_coo_n_lo_row_trans
#define trmm_coo_u_lo_row_trans trmm_z_coo_u_lo_row_trans
#define trmm_coo_n_hi_row_trans trmm_z_coo_n_hi_row_trans
#define trmm_coo_u_hi_row_trans trmm_z_coo_u_hi_row_trans
#define trmm_coo_n_lo_col_trans trmm_z_coo_n_lo_col_trans
#define trmm_coo_u_lo_col_trans trmm_z_coo_u_lo_col_trans
#define trmm_coo_n_hi_col_trans trmm_z_coo_n_hi_col_trans
#define trmm_coo_u_hi_col_trans trmm_z_coo_u_hi_col_trans
#define trmm_coo_n_lo_row_conj trmm_z_coo_n_lo_row_conj
#define trmm_coo_u_lo_row_conj trmm_z_coo_u_lo_row_conj
#define trmm_coo_n_hi_row_conj trmm_z_coo_n_hi_row_conj
#define trmm_coo_u_hi_row_conj trmm_z_coo_u_hi_row_conj
#define trmm_coo_n_lo_col_conj trmm_z_coo_n_lo_col_conj
#define trmm_coo_u_lo_col_conj trmm_z_coo_u_lo_col_conj
#define trmm_coo_n_hi_col_conj trmm_z_coo_n_hi_col_conj
#define trmm_coo_u_hi_col_conj trmm_z_coo_u_hi_col_conj
#define diagmm_coo_n_row diagmm_z_coo_n_row
#define diagmm_coo_u_row diagmm_z_coo_u_row
#define diagmm_coo_n_col diagmm_z_coo_n_col
#define diagmm_coo_u_col diagmm_z_coo_u_col

#define spmmd_coo_row spmmd_z_coo_row
#define spmmd_coo_col spmmd_z_coo_col
#define spmmd_coo_row_trans spmmd_z_coo_row_trans
#define spmmd_coo_col_trans spmmd_z_coo_col_trans
#define spmmd_coo_row_conj spmmd_z_coo_row_conj
#define spmmd_coo_col_conj spmmd_z_coo_col_conj

#define spmm_coo spmm_z_coo
#define spmm_coo_trans spmm_z_coo_trans
#define spmm_coo_conj spmm_z_coo_conj

#define trsv_coo_n_lo trsv_z_coo_n_lo
#define trsv_coo_u_lo trsv_z_coo_u_lo
#define trsv_coo_n_hi trsv_z_coo_n_hi
#define trsv_coo_u_hi trsv_z_coo_u_hi
#define trsv_coo_n_lo_trans trsv_z_coo_n_lo_trans
#define trsv_coo_u_lo_trans trsv_z_coo_u_lo_trans
#define trsv_coo_n_hi_trans trsv_z_coo_n_hi_trans
#define trsv_coo_u_hi_trans trsv_z_coo_u_hi_trans
#define trsv_coo_n_lo_conj trsv_z_coo_n_lo_conj
#define trsv_coo_u_lo_conj trsv_z_coo_u_lo_conj
#define trsv_coo_n_hi_conj trsv_z_coo_n_hi_conj
#define trsv_coo_u_hi_conj trsv_z_coo_u_hi_conj
#define diagsv_coo_n diagsv_z_coo_n
#define diagsv_coo_u diagsv_z_coo_u

#define trsm_coo_n_lo_row trsm_z_coo_n_lo_row
#define trsm_coo_u_lo_row trsm_z_coo_u_lo_row
#define trsm_coo_n_hi_row trsm_z_coo_n_hi_row
#define trsm_coo_u_hi_row trsm_z_coo_u_hi_row
#define trsm_coo_n_lo_col trsm_z_coo_n_lo_col
#define trsm_coo_u_lo_col trsm_z_coo_u_lo_col
#define trsm_coo_n_hi_col trsm_z_coo_n_hi_col
#define trsm_coo_u_hi_col trsm_z_coo_u_hi_col
#define trsm_coo_n_lo_row_trans trsm_z_coo_n_lo_row_trans
#define trsm_coo_u_lo_row_trans trsm_z_coo_u_lo_row_trans
#define trsm_coo_n_hi_row_trans trsm_z_coo_n_hi_row_trans
#define trsm_coo_u_hi_row_trans trsm_z_coo_u_hi_row_trans
#define trsm_coo_n_lo_col_trans trsm_z_coo_n_lo_col_trans
#define trsm_coo_u_lo_col_trans trsm_z_coo_u_lo_col_trans
#define trsm_coo_n_hi_col_trans trsm_z_coo_n_hi_col_trans
#define trsm_coo_u_hi_col_trans trsm_z_coo_u_hi_col_trans
#define trsm_coo_n_lo_row_conj trsm_z_coo_n_lo_row_conj
#define trsm_coo_u_lo_row_conj trsm_z_coo_u_lo_row_conj
#define trsm_coo_n_hi_row_conj trsm_z_coo_n_hi_row_conj
#define trsm_coo_u_hi_row_conj trsm_z_coo_u_hi_row_conj
#define trsm_coo_n_lo_col_conj trsm_z_coo_n_lo_col_conj
#define trsm_coo_u_lo_col_conj trsm_z_coo_u_lo_col_conj
#define trsm_coo_n_hi_col_conj trsm_z_coo_n_hi_col_conj
#define trsm_coo_u_hi_col_conj trsm_z_coo_u_hi_col_conj
#define diagsm_coo_n_row diagsm_z_coo_n_row
#define diagsm_coo_u_row diagsm_z_coo_u_row
#define diagsm_coo_n_col diagsm_z_coo_n_col
#define diagsm_coo_u_col diagsm_z_coo_u_col


// csr
#define set_value_csr set_value_z_csr
#define update_values_csr update_values_z_csr

#define add_csr add_z_csr
#define add_csr_trans add_z_csr_trans
#define add_csr_conj add_z_csr_conj

#define gemv_csr gemv_z_csr
#define gemv_csr_trans gemv_z_csr_trans
#define gemv_csr_conj gemv_z_csr_conj
#define symv_csr_n_lo symv_z_csr_n_lo
#define symv_csr_u_lo symv_z_csr_u_lo
#define symv_csr_n_hi symv_z_csr_n_hi
#define symv_csr_u_hi symv_z_csr_u_hi
#define symv_csr_n_lo_conj symv_z_csr_n_lo_conj
#define symv_csr_u_lo_conj symv_z_csr_u_lo_conj
#define symv_csr_n_hi_conj symv_z_csr_n_hi_conj
#define symv_csr_u_hi_conj symv_z_csr_u_hi_conj
#define hermv_csr_n_lo hermv_z_csr_n_lo
#define hermv_csr_u_lo hermv_z_csr_u_lo
#define hermv_csr_n_hi hermv_z_csr_n_hi
#define hermv_csr_u_hi hermv_z_csr_u_hi
#define hermv_csr_n_lo_trans hermv_z_csr_n_lo_trans
#define hermv_csr_u_lo_trans hermv_z_csr_u_lo_trans
#define hermv_csr_n_hi_trans hermv_z_csr_n_hi_trans
#define hermv_csr_u_hi_trans hermv_z_csr_u_hi_trans
#define trmv_csr_n_lo trmv_z_csr_n_lo
#define trmv_csr_u_lo trmv_z_csr_u_lo
#define trmv_csr_n_hi trmv_z_csr_n_hi
#define trmv_csr_u_hi trmv_z_csr_u_hi
#define trmv_csr_n_lo_trans trmv_z_csr_n_lo_trans
#define trmv_csr_u_lo_trans trmv_z_csr_u_lo_trans
#define trmv_csr_n_hi_trans trmv_z_csr_n_hi_trans
#define trmv_csr_u_hi_trans trmv_z_csr_u_hi_trans
#define trmv_csr_n_lo_conj trmv_z_csr_n_lo_conj
#define trmv_csr_u_lo_conj trmv_z_csr_u_lo_conj
#define trmv_csr_n_hi_conj trmv_z_csr_n_hi_conj
#define trmv_csr_u_hi_conj trmv_z_csr_u_hi_conj
#define diagmv_csr_n diagmv_z_csr_n
#define diagmv_csr_u diagmv_z_csr_u

#define gemm_csr_row gemm_z_csr_row
#define gemm_csr_col gemm_z_csr_col
#define gemm_csr_row_trans gemm_z_csr_row_trans
#define gemm_csr_col_trans gemm_z_csr_col_trans
#define gemm_csr_row_conj gemm_z_csr_row_conj
#define gemm_csr_col_conj gemm_z_csr_col_conj
#define symm_csr_n_lo_row symm_z_csr_n_lo_row
#define symm_csr_u_lo_row symm_z_csr_u_lo_row
#define symm_csr_n_hi_row symm_z_csr_n_hi_row
#define symm_csr_u_hi_row symm_z_csr_u_hi_row
#define symm_csr_n_lo_col symm_z_csr_n_lo_col
#define symm_csr_u_lo_col symm_z_csr_u_lo_col
#define symm_csr_n_hi_col symm_z_csr_n_hi_col
#define symm_csr_u_hi_col symm_z_csr_u_hi_col
#define symm_csr_n_lo_row_conj symm_z_csr_n_lo_row_conj
#define symm_csr_u_lo_row_conj symm_z_csr_u_lo_row_conj
#define symm_csr_n_hi_row_conj symm_z_csr_n_hi_row_conj
#define symm_csr_u_hi_row_conj symm_z_csr_u_hi_row_conj
#define symm_csr_n_lo_col_conj symm_z_csr_n_lo_col_conj
#define symm_csr_u_lo_col_conj symm_z_csr_u_lo_col_conj
#define symm_csr_n_hi_col_conj symm_z_csr_n_hi_col_conj
#define symm_csr_u_hi_col_conj symm_z_csr_u_hi_col_conj
#define hermm_csr_n_lo_row hermm_z_csr_n_lo_row
#define hermm_csr_u_lo_row hermm_z_csr_u_lo_row
#define hermm_csr_n_hi_row hermm_z_csr_n_hi_row
#define hermm_csr_u_hi_row hermm_z_csr_u_hi_row
#define hermm_csr_n_lo_col hermm_z_csr_n_lo_col
#define hermm_csr_u_lo_col hermm_z_csr_u_lo_col
#define hermm_csr_n_hi_col hermm_z_csr_n_hi_col
#define hermm_csr_u_hi_col hermm_z_csr_u_hi_col
#define hermm_csr_n_lo_row_trans hermm_z_csr_n_lo_row_trans
#define hermm_csr_u_lo_row_trans hermm_z_csr_u_lo_row_trans
#define hermm_csr_n_hi_row_trans hermm_z_csr_n_hi_row_trans
#define hermm_csr_u_hi_row_trans hermm_z_csr_u_hi_row_trans
#define hermm_csr_n_lo_col_trans hermm_z_csr_n_lo_col_trans
#define hermm_csr_u_lo_col_trans hermm_z_csr_u_lo_col_trans
#define hermm_csr_n_hi_col_trans hermm_z_csr_n_hi_col_trans
#define hermm_csr_u_hi_col_trans hermm_z_csr_u_hi_col_trans
#define trmm_csr_n_lo_row trmm_z_csr_n_lo_row
#define trmm_csr_u_lo_row trmm_z_csr_u_lo_row
#define trmm_csr_n_hi_row trmm_z_csr_n_hi_row
#define trmm_csr_u_hi_row trmm_z_csr_u_hi_row
#define trmm_csr_n_lo_col trmm_z_csr_n_lo_col
#define trmm_csr_u_lo_col trmm_z_csr_u_lo_col
#define trmm_csr_n_hi_col trmm_z_csr_n_hi_col
#define trmm_csr_u_hi_col trmm_z_csr_u_hi_col
#define trmm_csr_n_lo_row_trans trmm_z_csr_n_lo_row_trans
#define trmm_csr_u_lo_row_trans trmm_z_csr_u_lo_row_trans
#define trmm_csr_n_hi_row_trans trmm_z_csr_n_hi_row_trans
#define trmm_csr_u_hi_row_trans trmm_z_csr_u_hi_row_trans
#define trmm_csr_n_lo_col_trans trmm_z_csr_n_lo_col_trans
#define trmm_csr_u_lo_col_trans trmm_z_csr_u_lo_col_trans
#define trmm_csr_n_hi_col_trans trmm_z_csr_n_hi_col_trans
#define trmm_csr_u_hi_col_trans trmm_z_csr_u_hi_col_trans
#define trmm_csr_n_lo_row_conj trmm_z_csr_n_lo_row_conj
#define trmm_csr_u_lo_row_conj trmm_z_csr_u_lo_row_conj
#define trmm_csr_n_hi_row_conj trmm_z_csr_n_hi_row_conj
#define trmm_csr_u_hi_row_conj trmm_z_csr_u_hi_row_conj
#define trmm_csr_n_lo_col_conj trmm_z_csr_n_lo_col_conj
#define trmm_csr_u_lo_col_conj trmm_z_csr_u_lo_col_conj
#define trmm_csr_n_hi_col_conj trmm_z_csr_n_hi_col_conj
#define trmm_csr_u_hi_col_conj trmm_z_csr_u_hi_col_conj
#define diagmm_csr_n_row diagmm_z_csr_n_row
#define diagmm_csr_u_row diagmm_z_csr_u_row
#define diagmm_csr_n_col diagmm_z_csr_n_col
#define diagmm_csr_u_col diagmm_z_csr_u_col

#define spmmd_csr_row spmmd_z_csr_row
#define spmmd_csr_col spmmd_z_csr_col
#define spmmd_csr_row_trans spmmd_z_csr_row_trans
#define spmmd_csr_col_trans spmmd_z_csr_col_trans
#define spmmd_csr_row_conj spmmd_z_csr_row_conj
#define spmmd_csr_col_conj spmmd_z_csr_col_conj

#define spmm_csr spmm_z_csr
#define spmm_csr_trans spmm_z_csr_trans
#define spmm_csr_conj spmm_z_csr_conj

#define trsv_csr_n_lo trsv_z_csr_n_lo
#define trsv_csr_u_lo trsv_z_csr_u_lo
#define trsv_csr_n_hi trsv_z_csr_n_hi
#define trsv_csr_u_hi trsv_z_csr_u_hi
#define trsv_csr_n_lo_trans trsv_z_csr_n_lo_trans
#define trsv_csr_u_lo_trans trsv_z_csr_u_lo_trans
#define trsv_csr_n_hi_trans trsv_z_csr_n_hi_trans
#define trsv_csr_u_hi_trans trsv_z_csr_u_hi_trans
#define trsv_csr_n_lo_conj trsv_z_csr_n_lo_conj
#define trsv_csr_u_lo_conj trsv_z_csr_u_lo_conj
#define trsv_csr_n_hi_conj trsv_z_csr_n_hi_conj
#define trsv_csr_u_hi_conj trsv_z_csr_u_hi_conj
#define diagsv_csr_n diagsv_z_csr_n
#define diagsv_csr_u diagsv_z_csr_u

#define trsm_csr_n_lo_row trsm_z_csr_n_lo_row
#define trsm_csr_u_lo_row trsm_z_csr_u_lo_row
#define trsm_csr_n_hi_row trsm_z_csr_n_hi_row
#define trsm_csr_u_hi_row trsm_z_csr_u_hi_row
#define trsm_csr_n_lo_col trsm_z_csr_n_lo_col
#define trsm_csr_u_lo_col trsm_z_csr_u_lo_col
#define trsm_csr_n_hi_col trsm_z_csr_n_hi_col
#define trsm_csr_u_hi_col trsm_z_csr_u_hi_col
#define trsm_csr_n_lo_row_trans trsm_z_csr_n_lo_row_trans
#define trsm_csr_u_lo_row_trans trsm_z_csr_u_lo_row_trans
#define trsm_csr_n_hi_row_trans trsm_z_csr_n_hi_row_trans
#define trsm_csr_u_hi_row_trans trsm_z_csr_u_hi_row_trans
#define trsm_csr_n_lo_col_trans trsm_z_csr_n_lo_col_trans
#define trsm_csr_u_lo_col_trans trsm_z_csr_u_lo_col_trans
#define trsm_csr_n_hi_col_trans trsm_z_csr_n_hi_col_trans
#define trsm_csr_u_hi_col_trans trsm_z_csr_u_hi_col_trans
#define trsm_csr_n_lo_row_conj trsm_z_csr_n_lo_row_conj
#define trsm_csr_u_lo_row_conj trsm_z_csr_u_lo_row_conj
#define trsm_csr_n_hi_row_conj trsm_z_csr_n_hi_row_conj
#define trsm_csr_u_hi_row_conj trsm_z_csr_u_hi_row_conj
#define trsm_csr_n_lo_col_conj trsm_z_csr_n_lo_col_conj
#define trsm_csr_u_lo_col_conj trsm_z_csr_u_lo_col_conj
#define trsm_csr_n_hi_col_conj trsm_z_csr_n_hi_col_conj
#define trsm_csr_u_hi_col_conj trsm_z_csr_u_hi_col_conj
#define diagsm_csr_n_row diagsm_z_csr_n_row
#define diagsm_csr_u_row diagsm_z_csr_u_row
#define diagsm_csr_n_col diagsm_z_csr_n_col
#define diagsm_csr_u_col diagsm_z_csr_u_col


// csc
#define set_value_csc set_value_z_csc
#define update_values_csc update_values_z_csc

#define add_csc add_z_csc
#define add_csc_trans add_z_csc_trans
#define add_csc_conj add_z_csc_conj

#define gemv_csc gemv_z_csc
#define gemv_csc_trans gemv_z_csc_trans
#define gemv_csc_conj gemv_z_csc_conj
#define symv_csc_n_lo symv_z_csc_n_lo
#define symv_csc_u_lo symv_z_csc_u_lo
#define symv_csc_n_hi symv_z_csc_n_hi
#define symv_csc_u_hi symv_z_csc_u_hi
#define symv_csc_n_lo_conj symv_z_csc_n_lo_conj
#define symv_csc_u_lo_conj symv_z_csc_u_lo_conj
#define symv_csc_n_hi_conj symv_z_csc_n_hi_conj
#define symv_csc_u_hi_conj symv_z_csc_u_hi_conj
#define hermv_csc_n_lo hermv_z_csc_n_lo
#define hermv_csc_u_lo hermv_z_csc_u_lo
#define hermv_csc_n_hi hermv_z_csc_n_hi
#define hermv_csc_u_hi hermv_z_csc_u_hi
#define hermv_csc_n_lo_trans hermv_z_csc_n_lo_trans
#define hermv_csc_u_lo_trans hermv_z_csc_u_lo_trans
#define hermv_csc_n_hi_trans hermv_z_csc_n_hi_trans
#define hermv_csc_u_hi_trans hermv_z_csc_u_hi_trans
#define trmv_csc_n_lo trmv_z_csc_n_lo
#define trmv_csc_u_lo trmv_z_csc_u_lo
#define trmv_csc_n_hi trmv_z_csc_n_hi
#define trmv_csc_u_hi trmv_z_csc_u_hi
#define trmv_csc_n_lo_trans trmv_z_csc_n_lo_trans
#define trmv_csc_u_lo_trans trmv_z_csc_u_lo_trans
#define trmv_csc_n_hi_trans trmv_z_csc_n_hi_trans
#define trmv_csc_u_hi_trans trmv_z_csc_u_hi_trans
#define trmv_csc_n_lo_conj trmv_z_csc_n_lo_conj
#define trmv_csc_u_lo_conj trmv_z_csc_u_lo_conj
#define trmv_csc_n_hi_conj trmv_z_csc_n_hi_conj
#define trmv_csc_u_hi_conj trmv_z_csc_u_hi_conj
#define diagmv_csc_n diagmv_z_csc_n
#define diagmv_csc_u diagmv_z_csc_u

#define gemm_csc_row gemm_z_csc_row
#define gemm_csc_col gemm_z_csc_col
#define gemm_csc_row_trans gemm_z_csc_row_trans
#define gemm_csc_col_trans gemm_z_csc_col_trans
#define gemm_csc_row_conj gemm_z_csc_row_conj
#define gemm_csc_col_conj gemm_z_csc_col_conj
#define symm_csc_n_lo_row symm_z_csc_n_lo_row
#define symm_csc_u_lo_row symm_z_csc_u_lo_row
#define symm_csc_n_hi_row symm_z_csc_n_hi_row
#define symm_csc_u_hi_row symm_z_csc_u_hi_row
#define symm_csc_n_lo_col symm_z_csc_n_lo_col
#define symm_csc_u_lo_col symm_z_csc_u_lo_col
#define symm_csc_n_hi_col symm_z_csc_n_hi_col
#define symm_csc_u_hi_col symm_z_csc_u_hi_col
#define symm_csc_n_lo_row_conj symm_z_csc_n_lo_row_conj
#define symm_csc_u_lo_row_conj symm_z_csc_u_lo_row_conj
#define symm_csc_n_hi_row_conj symm_z_csc_n_hi_row_conj
#define symm_csc_u_hi_row_conj symm_z_csc_u_hi_row_conj
#define symm_csc_n_lo_col_conj symm_z_csc_n_lo_col_conj
#define symm_csc_u_lo_col_conj symm_z_csc_u_lo_col_conj
#define symm_csc_n_hi_col_conj symm_z_csc_n_hi_col_conj
#define symm_csc_u_hi_col_conj symm_z_csc_u_hi_col_conj
#define hermm_csc_n_lo_row hermm_z_csc_n_lo_row
#define hermm_csc_u_lo_row hermm_z_csc_u_lo_row
#define hermm_csc_n_hi_row hermm_z_csc_n_hi_row
#define hermm_csc_u_hi_row hermm_z_csc_u_hi_row
#define hermm_csc_n_lo_col hermm_z_csc_n_lo_col
#define hermm_csc_u_lo_col hermm_z_csc_u_lo_col
#define hermm_csc_n_hi_col hermm_z_csc_n_hi_col
#define hermm_csc_u_hi_col hermm_z_csc_u_hi_col
#define hermm_csc_n_lo_row_trans hermm_z_csc_n_lo_row_trans
#define hermm_csc_u_lo_row_trans hermm_z_csc_u_lo_row_trans
#define hermm_csc_n_hi_row_trans hermm_z_csc_n_hi_row_trans
#define hermm_csc_u_hi_row_trans hermm_z_csc_u_hi_row_trans
#define hermm_csc_n_lo_col_trans hermm_z_csc_n_lo_col_trans
#define hermm_csc_u_lo_col_trans hermm_z_csc_u_lo_col_trans
#define hermm_csc_n_hi_col_trans hermm_z_csc_n_hi_col_trans
#define hermm_csc_u_hi_col_trans hermm_z_csc_u_hi_col_trans
#define trmm_csc_n_lo_row trmm_z_csc_n_lo_row
#define trmm_csc_u_lo_row trmm_z_csc_u_lo_row
#define trmm_csc_n_hi_row trmm_z_csc_n_hi_row
#define trmm_csc_u_hi_row trmm_z_csc_u_hi_row
#define trmm_csc_n_lo_col trmm_z_csc_n_lo_col
#define trmm_csc_u_lo_col trmm_z_csc_u_lo_col
#define trmm_csc_n_hi_col trmm_z_csc_n_hi_col
#define trmm_csc_u_hi_col trmm_z_csc_u_hi_col
#define trmm_csc_n_lo_row_trans trmm_z_csc_n_lo_row_trans
#define trmm_csc_u_lo_row_trans trmm_z_csc_u_lo_row_trans
#define trmm_csc_n_hi_row_trans trmm_z_csc_n_hi_row_trans
#define trmm_csc_u_hi_row_trans trmm_z_csc_u_hi_row_trans
#define trmm_csc_n_lo_col_trans trmm_z_csc_n_lo_col_trans
#define trmm_csc_u_lo_col_trans trmm_z_csc_u_lo_col_trans
#define trmm_csc_n_hi_col_trans trmm_z_csc_n_hi_col_trans
#define trmm_csc_u_hi_col_trans trmm_z_csc_u_hi_col_trans
#define trmm_csc_n_lo_row_conj trmm_z_csc_n_lo_row_conj
#define trmm_csc_u_lo_row_conj trmm_z_csc_u_lo_row_conj
#define trmm_csc_n_hi_row_conj trmm_z_csc_n_hi_row_conj
#define trmm_csc_u_hi_row_conj trmm_z_csc_u_hi_row_conj
#define trmm_csc_n_lo_col_conj trmm_z_csc_n_lo_col_conj
#define trmm_csc_u_lo_col_conj trmm_z_csc_u_lo_col_conj
#define trmm_csc_n_hi_col_conj trmm_z_csc_n_hi_col_conj
#define trmm_csc_u_hi_col_conj trmm_z_csc_u_hi_col_conj
#define diagmm_csc_n_row diagmm_z_csc_n_row
#define diagmm_csc_u_row diagmm_z_csc_u_row
#define diagmm_csc_n_col diagmm_z_csc_n_col
#define diagmm_csc_u_col diagmm_z_csc_u_col

#define spmmd_csc_row spmmd_z_csc_row
#define spmmd_csc_col spmmd_z_csc_col
#define spmmd_csc_row_trans spmmd_z_csc_row_trans
#define spmmd_csc_col_trans spmmd_z_csc_col_trans
#define spmmd_csc_row_conj spmmd_z_csc_row_conj
#define spmmd_csc_col_conj spmmd_z_csc_col_conj

#define spmm_csc spmm_z_csc
#define spmm_csc_trans spmm_z_csc_trans
#define spmm_csc_conj spmm_z_csc_conj

#define trsv_csc_n_lo trsv_z_csc_n_lo
#define trsv_csc_u_lo trsv_z_csc_u_lo
#define trsv_csc_n_hi trsv_z_csc_n_hi
#define trsv_csc_u_hi trsv_z_csc_u_hi
#define trsv_csc_n_lo_trans trsv_z_csc_n_lo_trans
#define trsv_csc_u_lo_trans trsv_z_csc_u_lo_trans
#define trsv_csc_n_hi_trans trsv_z_csc_n_hi_trans
#define trsv_csc_u_hi_trans trsv_z_csc_u_hi_trans
#define trsv_csc_n_lo_conj trsv_z_csc_n_lo_conj
#define trsv_csc_u_lo_conj trsv_z_csc_u_lo_conj
#define trsv_csc_n_hi_conj trsv_z_csc_n_hi_conj
#define trsv_csc_u_hi_conj trsv_z_csc_u_hi_conj
#define diagsv_csc_n diagsv_z_csc_n
#define diagsv_csc_u diagsv_z_csc_u

#define trsm_csc_n_lo_row trsm_z_csc_n_lo_row
#define trsm_csc_u_lo_row trsm_z_csc_u_lo_row
#define trsm_csc_n_hi_row trsm_z_csc_n_hi_row
#define trsm_csc_u_hi_row trsm_z_csc_u_hi_row
#define trsm_csc_n_lo_col trsm_z_csc_n_lo_col
#define trsm_csc_u_lo_col trsm_z_csc_u_lo_col
#define trsm_csc_n_hi_col trsm_z_csc_n_hi_col
#define trsm_csc_u_hi_col trsm_z_csc_u_hi_col
#define trsm_csc_n_lo_row_trans trsm_z_csc_n_lo_row_trans
#define trsm_csc_u_lo_row_trans trsm_z_csc_u_lo_row_trans
#define trsm_csc_n_hi_row_trans trsm_z_csc_n_hi_row_trans
#define trsm_csc_u_hi_row_trans trsm_z_csc_u_hi_row_trans
#define trsm_csc_n_lo_col_trans trsm_z_csc_n_lo_col_trans
#define trsm_csc_u_lo_col_trans trsm_z_csc_u_lo_col_trans
#define trsm_csc_n_hi_col_trans trsm_z_csc_n_hi_col_trans
#define trsm_csc_u_hi_col_trans trsm_z_csc_u_hi_col_trans
#define trsm_csc_n_lo_row_conj trsm_z_csc_n_lo_row_conj
#define trsm_csc_u_lo_row_conj trsm_z_csc_u_lo_row_conj
#define trsm_csc_n_hi_row_conj trsm_z_csc_n_hi_row_conj
#define trsm_csc_u_hi_row_conj trsm_z_csc_u_hi_row_conj
#define trsm_csc_n_lo_col_conj trsm_z_csc_n_lo_col_conj
#define trsm_csc_u_lo_col_conj trsm_z_csc_u_lo_col_conj
#define trsm_csc_n_hi_col_conj trsm_z_csc_n_hi_col_conj
#define trsm_csc_u_hi_col_conj trsm_z_csc_u_hi_col_conj
#define diagsm_csc_n_row diagsm_z_csc_n_row
#define diagsm_csc_u_row diagsm_z_csc_u_row
#define diagsm_csc_n_col diagsm_z_csc_n_col
#define diagsm_csc_u_col diagsm_z_csc_u_col

// bsr
#define set_value_bsr set_value_z_bsr
#define update_values_bsr update_values_z_bsr

#define add_bsr add_z_bsr
#define add_bsr_trans add_z_bsr_trans
#define add_bsr_conj add_z_bsr_conj
#define gemv_bsr gemv_z_bsr
#define gemv_bsr_trans gemv_z_bsr_trans
#define gemv_bsr_conj gemv_z_bsr_conj
#define symv_bsr_n_lo symv_z_bsr_n_lo
#define symv_bsr_u_lo symv_z_bsr_u_lo
#define symv_bsr_n_hi symv_z_bsr_n_hi
#define symv_bsr_u_hi symv_z_bsr_u_hi
#define symv_bsr_n_lo_conj symv_z_bsr_n_lo_conj
#define symv_bsr_u_lo_conj symv_z_bsr_u_lo_conj
#define symv_bsr_n_hi_conj symv_z_bsr_n_hi_conj
#define symv_bsr_u_hi_conj symv_z_bsr_u_hi_conj
#define hermv_bsr_n_lo hermv_z_bsr_n_lo
#define hermv_bsr_u_lo hermv_z_bsr_u_lo
#define hermv_bsr_n_hi hermv_z_bsr_n_hi
#define hermv_bsr_u_hi hermv_z_bsr_u_hi
#define hermv_bsr_n_lo_trans hermv_z_bsr_n_lo_trans
#define hermv_bsr_u_lo_trans hermv_z_bsr_u_lo_trans
#define hermv_bsr_n_hi_trans hermv_z_bsr_n_hi_trans
#define hermv_bsr_u_hi_trans hermv_z_bsr_u_hi_trans
#define trmv_bsr_n_lo trmv_z_bsr_n_lo
#define trmv_bsr_u_lo trmv_z_bsr_u_lo
#define trmv_bsr_n_hi trmv_z_bsr_n_hi
#define trmv_bsr_u_hi trmv_z_bsr_u_hi
#define trmv_bsr_n_lo_trans trmv_z_bsr_n_lo_trans
#define trmv_bsr_u_lo_trans trmv_z_bsr_u_lo_trans
#define trmv_bsr_n_hi_trans trmv_z_bsr_n_hi_trans
#define trmv_bsr_u_hi_trans trmv_z_bsr_u_hi_trans
#define trmv_bsr_n_lo_conj trmv_z_bsr_n_lo_conj
#define trmv_bsr_u_lo_conj trmv_z_bsr_u_lo_conj
#define trmv_bsr_n_hi_conj trmv_z_bsr_n_hi_conj
#define trmv_bsr_u_hi_conj trmv_z_bsr_u_hi_conj
#define diagmv_bsr_n diagmv_z_bsr_n
#define diagmv_bsr_u diagmv_z_bsr_u
#define gemm_bsr_row gemm_z_bsr_row
#define gemm_bsr_col gemm_z_bsr_col
#define gemm_bsr_row_trans gemm_z_bsr_row_trans
#define gemm_bsr_col_trans gemm_z_bsr_col_trans
#define gemm_bsr_row_conj gemm_z_bsr_row_conj
#define gemm_bsr_col_conj gemm_z_bsr_col_conj
#define symm_bsr_n_lo_row symm_z_bsr_n_lo_row
#define symm_bsr_u_lo_row symm_z_bsr_u_lo_row
#define symm_bsr_n_hi_row symm_z_bsr_n_hi_row
#define symm_bsr_u_hi_row symm_z_bsr_u_hi_row
#define symm_bsr_n_lo_col symm_z_bsr_n_lo_col
#define symm_bsr_u_lo_col symm_z_bsr_u_lo_col
#define symm_bsr_n_hi_col symm_z_bsr_n_hi_col
#define symm_bsr_u_hi_col symm_z_bsr_u_hi_col
#define symm_bsr_n_lo_row_conj symm_z_bsr_n_lo_row_conj
#define symm_bsr_u_lo_row_conj symm_z_bsr_u_lo_row_conj
#define symm_bsr_n_hi_row_conj symm_z_bsr_n_hi_row_conj
#define symm_bsr_u_hi_row_conj symm_z_bsr_u_hi_row_conj
#define symm_bsr_n_lo_col_conj symm_z_bsr_n_lo_col_conj
#define symm_bsr_u_lo_col_conj symm_z_bsr_u_lo_col_conj
#define symm_bsr_n_hi_col_conj symm_z_bsr_n_hi_col_conj
#define symm_bsr_u_hi_col_conj symm_z_bsr_u_hi_col_conj
#define hermm_bsr_n_lo_row hermm_z_bsr_n_lo_row
#define hermm_bsr_u_lo_row hermm_z_bsr_u_lo_row
#define hermm_bsr_n_hi_row hermm_z_bsr_n_hi_row
#define hermm_bsr_u_hi_row hermm_z_bsr_u_hi_row
#define hermm_bsr_n_lo_col hermm_z_bsr_n_lo_col
#define hermm_bsr_u_lo_col hermm_z_bsr_u_lo_col
#define hermm_bsr_n_hi_col hermm_z_bsr_n_hi_col
#define hermm_bsr_u_hi_col hermm_z_bsr_u_hi_col
#define hermm_bsr_n_lo_row_trans hermm_z_bsr_n_lo_row_trans
#define hermm_bsr_u_lo_row_trans hermm_z_bsr_u_lo_row_trans
#define hermm_bsr_n_hi_row_trans hermm_z_bsr_n_hi_row_trans
#define hermm_bsr_u_hi_row_trans hermm_z_bsr_u_hi_row_trans
#define hermm_bsr_n_lo_col_trans hermm_z_bsr_n_lo_col_trans
#define hermm_bsr_u_lo_col_trans hermm_z_bsr_u_lo_col_trans
#define hermm_bsr_n_hi_col_trans hermm_z_bsr_n_hi_col_trans
#define hermm_bsr_u_hi_col_trans hermm_z_bsr_u_hi_col_trans
#define trmm_bsr_n_lo_row trmm_z_bsr_n_lo_row
#define trmm_bsr_u_lo_row trmm_z_bsr_u_lo_row
#define trmm_bsr_n_hi_row trmm_z_bsr_n_hi_row
#define trmm_bsr_u_hi_row trmm_z_bsr_u_hi_row
#define trmm_bsr_n_lo_col trmm_z_bsr_n_lo_col
#define trmm_bsr_u_lo_col trmm_z_bsr_u_lo_col
#define trmm_bsr_n_hi_col trmm_z_bsr_n_hi_col
#define trmm_bsr_u_hi_col trmm_z_bsr_u_hi_col
#define trmm_bsr_n_lo_row_trans trmm_z_bsr_n_lo_row_trans
#define trmm_bsr_u_lo_row_trans trmm_z_bsr_u_lo_row_trans
#define trmm_bsr_n_hi_row_trans trmm_z_bsr_n_hi_row_trans
#define trmm_bsr_u_hi_row_trans trmm_z_bsr_u_hi_row_trans
#define trmm_bsr_n_lo_col_trans trmm_z_bsr_n_lo_col_trans
#define trmm_bsr_u_lo_col_trans trmm_z_bsr_u_lo_col_trans
#define trmm_bsr_n_hi_col_trans trmm_z_bsr_n_hi_col_trans
#define trmm_bsr_u_hi_col_trans trmm_z_bsr_u_hi_col_trans
#define trmm_bsr_n_lo_row_conj trmm_z_bsr_n_lo_row_conj
#define trmm_bsr_u_lo_row_conj trmm_z_bsr_u_lo_row_conj
#define trmm_bsr_n_hi_row_conj trmm_z_bsr_n_hi_row_conj
#define trmm_bsr_u_hi_row_conj trmm_z_bsr_u_hi_row_conj
#define trmm_bsr_n_lo_col_conj trmm_z_bsr_n_lo_col_conj
#define trmm_bsr_u_lo_col_conj trmm_z_bsr_u_lo_col_conj
#define trmm_bsr_n_hi_col_conj trmm_z_bsr_n_hi_col_conj
#define trmm_bsr_u_hi_col_conj trmm_z_bsr_u_hi_col_conj
#define diagmm_bsr_n_row diagmm_z_bsr_n_row
#define diagmm_bsr_u_row diagmm_z_bsr_u_row
#define diagmm_bsr_n_col diagmm_z_bsr_n_col
#define diagmm_bsr_u_col diagmm_z_bsr_u_col
#define spmmd_bsr_row spmmd_z_bsr_row
#define spmmd_bsr_col spmmd_z_bsr_col
#define spmmd_bsr_row_trans spmmd_z_bsr_row_trans
#define spmmd_bsr_col_trans spmmd_z_bsr_col_trans
#define spmmd_bsr_row_conj spmmd_z_bsr_row_conj
#define spmmd_bsr_col_conj spmmd_z_bsr_col_conj
#define spmm_bsr spmm_z_bsr
#define spmm_bsr_trans spmm_z_bsr_trans
#define spmm_bsr_conj spmm_z_bsr_conj
#define trsv_bsr_n_lo trsv_z_bsr_n_lo
#define trsv_bsr_u_lo trsv_z_bsr_u_lo
#define trsv_bsr_n_hi trsv_z_bsr_n_hi
#define trsv_bsr_u_hi trsv_z_bsr_u_hi
#define trsv_bsr_n_lo_trans trsv_z_bsr_n_lo_trans
#define trsv_bsr_u_lo_trans trsv_z_bsr_u_lo_trans
#define trsv_bsr_n_hi_trans trsv_z_bsr_n_hi_trans
#define trsv_bsr_u_hi_trans trsv_z_bsr_u_hi_trans
#define trsv_bsr_n_lo_conj trsv_z_bsr_n_lo_conj
#define trsv_bsr_u_lo_conj trsv_z_bsr_u_lo_conj
#define trsv_bsr_n_hi_conj trsv_z_bsr_n_hi_conj
#define trsv_bsr_u_hi_conj trsv_z_bsr_u_hi_conj
#define diagsv_bsr_n diagsv_z_bsr_n
#define diagsv_bsr_u diagsv_z_bsr_u
#define trsm_bsr_n_lo_row trsm_z_bsr_n_lo_row
#define trsm_bsr_u_lo_row trsm_z_bsr_u_lo_row
#define trsm_bsr_n_hi_row trsm_z_bsr_n_hi_row
#define trsm_bsr_u_hi_row trsm_z_bsr_u_hi_row
#define trsm_bsr_n_lo_col trsm_z_bsr_n_lo_col
#define trsm_bsr_u_lo_col trsm_z_bsr_u_lo_col
#define trsm_bsr_n_hi_col trsm_z_bsr_n_hi_col
#define trsm_bsr_u_hi_col trsm_z_bsr_u_hi_col
#define trsm_bsr_n_lo_row_trans trsm_z_bsr_n_lo_row_trans
#define trsm_bsr_u_lo_row_trans trsm_z_bsr_u_lo_row_trans
#define trsm_bsr_n_hi_row_trans trsm_z_bsr_n_hi_row_trans
#define trsm_bsr_u_hi_row_trans trsm_z_bsr_u_hi_row_trans
#define trsm_bsr_n_lo_col_trans trsm_z_bsr_n_lo_col_trans
#define trsm_bsr_u_lo_col_trans trsm_z_bsr_u_lo_col_trans
#define trsm_bsr_n_hi_col_trans trsm_z_bsr_n_hi_col_trans
#define trsm_bsr_u_hi_col_trans trsm_z_bsr_u_hi_col_trans
#define trsm_bsr_n_lo_row_conj trsm_z_bsr_n_lo_row_conj
#define trsm_bsr_u_lo_row_conj trsm_z_bsr_u_lo_row_conj
#define trsm_bsr_n_hi_row_conj trsm_z_bsr_n_hi_row_conj
#define trsm_bsr_u_hi_row_conj trsm_z_bsr_u_hi_row_conj
#define trsm_bsr_n_lo_col_conj trsm_z_bsr_n_lo_col_conj
#define trsm_bsr_u_lo_col_conj trsm_z_bsr_u_lo_col_conj
#define trsm_bsr_n_hi_col_conj trsm_z_bsr_n_hi_col_conj
#define trsm_bsr_u_hi_col_conj trsm_z_bsr_u_hi_col_conj
#define diagsm_bsr_n_row diagsm_z_bsr_n_row
#define diagsm_bsr_u_row diagsm_z_bsr_u_row
#define diagsm_bsr_n_col diagsm_z_bsr_n_col
#define diagsm_bsr_u_col diagsm_z_bsr_u_col
// sky
#define set_value_sky set_value_z_sky
#define update_values_sky update_values_z_sky

#define add_sky add_z_sky
#define add_sky_trans add_z_sky_trans
#define add_sky_conj add_z_sky_conj
#define gemv_sky gemv_z_sky
#define gemv_sky_trans gemv_z_sky_trans
#define gemv_sky_conj gemv_z_sky_conj
#define symv_sky_n_lo symv_z_sky_n_lo
#define symv_sky_u_lo symv_z_sky_u_lo
#define symv_sky_n_hi symv_z_sky_n_hi
#define symv_sky_u_hi symv_z_sky_u_hi
#define symv_sky_n_lo_conj symv_z_sky_n_lo_conj
#define symv_sky_u_lo_conj symv_z_sky_u_lo_conj
#define symv_sky_n_hi_conj symv_z_sky_n_hi_conj
#define symv_sky_u_hi_conj symv_z_sky_u_hi_conj
#define hermv_sky_n_lo hermv_z_sky_n_lo
#define hermv_sky_u_lo hermv_z_sky_u_lo
#define hermv_sky_n_hi hermv_z_sky_n_hi
#define hermv_sky_u_hi hermv_z_sky_u_hi
#define hermv_sky_n_lo_trans hermv_z_sky_n_lo_trans
#define hermv_sky_u_lo_trans hermv_z_sky_u_lo_trans
#define hermv_sky_n_hi_trans hermv_z_sky_n_hi_trans
#define hermv_sky_u_hi_trans hermv_z_sky_u_hi_trans
#define trmv_sky_n_lo trmv_z_sky_n_lo
#define trmv_sky_u_lo trmv_z_sky_u_lo
#define trmv_sky_n_hi trmv_z_sky_n_hi
#define trmv_sky_u_hi trmv_z_sky_u_hi
#define trmv_sky_n_lo_trans trmv_z_sky_n_lo_trans
#define trmv_sky_u_lo_trans trmv_z_sky_u_lo_trans
#define trmv_sky_n_hi_trans trmv_z_sky_n_hi_trans
#define trmv_sky_u_hi_trans trmv_z_sky_u_hi_trans
#define trmv_sky_n_lo_conj trmv_z_sky_n_lo_conj
#define trmv_sky_u_lo_conj trmv_z_sky_u_lo_conj
#define trmv_sky_n_hi_conj trmv_z_sky_n_hi_conj
#define trmv_sky_u_hi_conj trmv_z_sky_u_hi_conj
#define diagmv_sky_n diagmv_z_sky_n
#define diagmv_sky_u diagmv_z_sky_u
#define gemm_sky_row gemm_z_sky_row
#define gemm_sky_col gemm_z_sky_col
#define gemm_sky_row_trans gemm_z_sky_row_trans
#define gemm_sky_col_trans gemm_z_sky_col_trans
#define gemm_sky_row_conj gemm_z_sky_row_conj
#define gemm_sky_col_conj gemm_z_sky_col_conj
#define symm_sky_n_lo_row symm_z_sky_n_lo_row
#define symm_sky_u_lo_row symm_z_sky_u_lo_row
#define symm_sky_n_hi_row symm_z_sky_n_hi_row
#define symm_sky_u_hi_row symm_z_sky_u_hi_row
#define symm_sky_n_lo_col symm_z_sky_n_lo_col
#define symm_sky_u_lo_col symm_z_sky_u_lo_col
#define symm_sky_n_hi_col symm_z_sky_n_hi_col
#define symm_sky_u_hi_col symm_z_sky_u_hi_col
#define symm_sky_n_lo_row_conj symm_z_sky_n_lo_row_conj
#define symm_sky_u_lo_row_conj symm_z_sky_u_lo_row_conj
#define symm_sky_n_hi_row_conj symm_z_sky_n_hi_row_conj
#define symm_sky_u_hi_row_conj symm_z_sky_u_hi_row_conj
#define symm_sky_n_lo_col_conj symm_z_sky_n_lo_col_conj
#define symm_sky_u_lo_col_conj symm_z_sky_u_lo_col_conj
#define symm_sky_n_hi_col_conj symm_z_sky_n_hi_col_conj
#define symm_sky_u_hi_col_conj symm_z_sky_u_hi_col_conj
#define hermm_sky_n_lo_row hermm_z_sky_n_lo_row
#define hermm_sky_u_lo_row hermm_z_sky_u_lo_row
#define hermm_sky_n_hi_row hermm_z_sky_n_hi_row
#define hermm_sky_u_hi_row hermm_z_sky_u_hi_row
#define hermm_sky_n_lo_col hermm_z_sky_n_lo_col
#define hermm_sky_u_lo_col hermm_z_sky_u_lo_col
#define hermm_sky_n_hi_col hermm_z_sky_n_hi_col
#define hermm_sky_u_hi_col hermm_z_sky_u_hi_col
#define hermm_sky_n_lo_row_trans hermm_z_sky_n_lo_row_trans
#define hermm_sky_u_lo_row_trans hermm_z_sky_u_lo_row_trans
#define hermm_sky_n_hi_row_trans hermm_z_sky_n_hi_row_trans
#define hermm_sky_u_hi_row_trans hermm_z_sky_u_hi_row_trans
#define hermm_sky_n_lo_col_trans hermm_z_sky_n_lo_col_trans
#define hermm_sky_u_lo_col_trans hermm_z_sky_u_lo_col_trans
#define hermm_sky_n_hi_col_trans hermm_z_sky_n_hi_col_trans
#define hermm_sky_u_hi_col_trans hermm_z_sky_u_hi_col_trans
#define trmm_sky_n_lo_row trmm_z_sky_n_lo_row
#define trmm_sky_u_lo_row trmm_z_sky_u_lo_row
#define trmm_sky_n_hi_row trmm_z_sky_n_hi_row
#define trmm_sky_u_hi_row trmm_z_sky_u_hi_row
#define trmm_sky_n_lo_col trmm_z_sky_n_lo_col
#define trmm_sky_u_lo_col trmm_z_sky_u_lo_col
#define trmm_sky_n_hi_col trmm_z_sky_n_hi_col
#define trmm_sky_u_hi_col trmm_z_sky_u_hi_col
#define trmm_sky_n_lo_row_trans trmm_z_sky_n_lo_row_trans
#define trmm_sky_u_lo_row_trans trmm_z_sky_u_lo_row_trans
#define trmm_sky_n_hi_row_trans trmm_z_sky_n_hi_row_trans
#define trmm_sky_u_hi_row_trans trmm_z_sky_u_hi_row_trans
#define trmm_sky_n_lo_col_trans trmm_z_sky_n_lo_col_trans
#define trmm_sky_u_lo_col_trans trmm_z_sky_u_lo_col_trans
#define trmm_sky_n_hi_col_trans trmm_z_sky_n_hi_col_trans
#define trmm_sky_u_hi_col_trans trmm_z_sky_u_hi_col_trans
#define trmm_sky_n_lo_row_conj trmm_z_sky_n_lo_row_conj
#define trmm_sky_u_lo_row_conj trmm_z_sky_u_lo_row_conj
#define trmm_sky_n_hi_row_conj trmm_z_sky_n_hi_row_conj
#define trmm_sky_u_hi_row_conj trmm_z_sky_u_hi_row_conj
#define trmm_sky_n_lo_col_conj trmm_z_sky_n_lo_col_conj
#define trmm_sky_u_lo_col_conj trmm_z_sky_u_lo_col_conj
#define trmm_sky_n_hi_col_conj trmm_z_sky_n_hi_col_conj
#define trmm_sky_u_hi_col_conj trmm_z_sky_u_hi_col_conj
#define diagmm_sky_n_row diagmm_z_sky_n_row
#define diagmm_sky_u_row diagmm_z_sky_u_row
#define diagmm_sky_n_col diagmm_z_sky_n_col
#define diagmm_sky_u_col diagmm_z_sky_u_col
#define spmmd_sky_row spmmd_z_sky_row
#define spmmd_sky_col spmmd_z_sky_col
#define spmmd_sky_row_trans spmmd_z_sky_row_trans
#define spmmd_sky_col_trans spmmd_z_sky_col_trans
#define spmmd_sky_row_conj spmmd_z_sky_row_conj
#define spmmd_sky_col_conj spmmd_z_sky_col_conj
#define spmm_sky spmm_z_sky
#define spmm_sky_trans spmm_z_sky_trans
#define spmm_sky_conj spmm_z_sky_conj
#define trsv_sky_n_lo trsv_z_sky_n_lo
#define trsv_sky_u_lo trsv_z_sky_u_lo
#define trsv_sky_n_hi trsv_z_sky_n_hi
#define trsv_sky_u_hi trsv_z_sky_u_hi
#define trsv_sky_n_lo_trans trsv_z_sky_n_lo_trans
#define trsv_sky_u_lo_trans trsv_z_sky_u_lo_trans
#define trsv_sky_n_hi_trans trsv_z_sky_n_hi_trans
#define trsv_sky_u_hi_trans trsv_z_sky_u_hi_trans
#define trsv_sky_n_lo_conj trsv_z_sky_n_lo_conj
#define trsv_sky_u_lo_conj trsv_z_sky_u_lo_conj
#define trsv_sky_n_hi_conj trsv_z_sky_n_hi_conj
#define trsv_sky_u_hi_conj trsv_z_sky_u_hi_conj
#define diagsv_sky_n diagsv_z_sky_n
#define diagsv_sky_u diagsv_z_sky_u
#define trsm_sky_n_lo_row trsm_z_sky_n_lo_row
#define trsm_sky_u_lo_row trsm_z_sky_u_lo_row
#define trsm_sky_n_hi_row trsm_z_sky_n_hi_row
#define trsm_sky_u_hi_row trsm_z_sky_u_hi_row
#define trsm_sky_n_lo_col trsm_z_sky_n_lo_col
#define trsm_sky_u_lo_col trsm_z_sky_u_lo_col
#define trsm_sky_n_hi_col trsm_z_sky_n_hi_col
#define trsm_sky_u_hi_col trsm_z_sky_u_hi_col
#define trsm_sky_n_lo_row_trans trsm_z_sky_n_lo_row_trans
#define trsm_sky_u_lo_row_trans trsm_z_sky_u_lo_row_trans
#define trsm_sky_n_hi_row_trans trsm_z_sky_n_hi_row_trans
#define trsm_sky_u_hi_row_trans trsm_z_sky_u_hi_row_trans
#define trsm_sky_n_lo_col_trans trsm_z_sky_n_lo_col_trans
#define trsm_sky_u_lo_col_trans trsm_z_sky_u_lo_col_trans
#define trsm_sky_n_hi_col_trans trsm_z_sky_n_hi_col_trans
#define trsm_sky_u_hi_col_trans trsm_z_sky_u_hi_col_trans
#define trsm_sky_n_lo_row_conj trsm_z_sky_n_lo_row_conj
#define trsm_sky_u_lo_row_conj trsm_z_sky_u_lo_row_conj
#define trsm_sky_n_hi_row_conj trsm_z_sky_n_hi_row_conj
#define trsm_sky_u_hi_row_conj trsm_z_sky_u_hi_row_conj
#define trsm_sky_n_lo_col_conj trsm_z_sky_n_lo_col_conj
#define trsm_sky_u_lo_col_conj trsm_z_sky_u_lo_col_conj
#define trsm_sky_n_hi_col_conj trsm_z_sky_n_hi_col_conj
#define trsm_sky_u_hi_col_conj trsm_z_sky_u_hi_col_conj
#define diagsm_sky_n_row diagsm_z_sky_n_row
#define diagsm_sky_u_row diagsm_z_sky_u_row
#define diagsm_sky_n_col diagsm_z_sky_n_col
#define diagsm_sky_u_col diagsm_z_sky_u_col

// dia
#define set_value_dia set_value_z_dia
#define update_values_dia update_values_z_dia

#define add_dia add_z_dia
#define add_dia_trans add_z_dia_trans
#define add_dia_conj add_z_dia_conj
#define gemv_dia gemv_z_dia
#define gemv_dia_trans gemv_z_dia_trans
#define gemv_dia_conj gemv_z_dia_conj
#define symv_dia_n_lo symv_z_dia_n_lo
#define symv_dia_u_lo symv_z_dia_u_lo
#define symv_dia_n_hi symv_z_dia_n_hi
#define symv_dia_u_hi symv_z_dia_u_hi
#define symv_dia_n_lo_conj symv_z_dia_n_lo_conj
#define symv_dia_u_lo_conj symv_z_dia_u_lo_conj
#define symv_dia_n_hi_conj symv_z_dia_n_hi_conj
#define symv_dia_u_hi_conj symv_z_dia_u_hi_conj
#define hermv_dia_n_lo hermv_z_dia_n_lo
#define hermv_dia_u_lo hermv_z_dia_u_lo
#define hermv_dia_n_hi hermv_z_dia_n_hi
#define hermv_dia_u_hi hermv_z_dia_u_hi
#define hermv_dia_n_lo_trans hermv_z_dia_n_lo_trans
#define hermv_dia_u_lo_trans hermv_z_dia_u_lo_trans
#define hermv_dia_n_hi_trans hermv_z_dia_n_hi_trans
#define hermv_dia_u_hi_trans hermv_z_dia_u_hi_trans
#define trmv_dia_n_lo trmv_z_dia_n_lo
#define trmv_dia_u_lo trmv_z_dia_u_lo
#define trmv_dia_n_hi trmv_z_dia_n_hi
#define trmv_dia_u_hi trmv_z_dia_u_hi
#define trmv_dia_n_lo_trans trmv_z_dia_n_lo_trans
#define trmv_dia_u_lo_trans trmv_z_dia_u_lo_trans
#define trmv_dia_n_hi_trans trmv_z_dia_n_hi_trans
#define trmv_dia_u_hi_trans trmv_z_dia_u_hi_trans
#define trmv_dia_n_lo_conj trmv_z_dia_n_lo_conj
#define trmv_dia_u_lo_conj trmv_z_dia_u_lo_conj
#define trmv_dia_n_hi_conj trmv_z_dia_n_hi_conj
#define trmv_dia_u_hi_conj trmv_z_dia_u_hi_conj
#define diagmv_dia_n diagmv_z_dia_n
#define diagmv_dia_u diagmv_z_dia_u
#define gemm_dia_row gemm_z_dia_row
#define gemm_dia_col gemm_z_dia_col
#define gemm_dia_row_trans gemm_z_dia_row_trans
#define gemm_dia_col_trans gemm_z_dia_col_trans
#define gemm_dia_row_conj gemm_z_dia_row_conj
#define gemm_dia_col_conj gemm_z_dia_col_conj
#define symm_dia_n_lo_row symm_z_dia_n_lo_row
#define symm_dia_u_lo_row symm_z_dia_u_lo_row
#define symm_dia_n_hi_row symm_z_dia_n_hi_row
#define symm_dia_u_hi_row symm_z_dia_u_hi_row
#define symm_dia_n_lo_col symm_z_dia_n_lo_col
#define symm_dia_u_lo_col symm_z_dia_u_lo_col
#define symm_dia_n_hi_col symm_z_dia_n_hi_col
#define symm_dia_u_hi_col symm_z_dia_u_hi_col
#define symm_dia_n_lo_row_conj symm_z_dia_n_lo_row_conj
#define symm_dia_u_lo_row_conj symm_z_dia_u_lo_row_conj
#define symm_dia_n_hi_row_conj symm_z_dia_n_hi_row_conj
#define symm_dia_u_hi_row_conj symm_z_dia_u_hi_row_conj
#define symm_dia_n_lo_col_conj symm_z_dia_n_lo_col_conj
#define symm_dia_u_lo_col_conj symm_z_dia_u_lo_col_conj
#define symm_dia_n_hi_col_conj symm_z_dia_n_hi_col_conj
#define symm_dia_u_hi_col_conj symm_z_dia_u_hi_col_conj
#define hermm_dia_n_lo_row hermm_z_dia_n_lo_row
#define hermm_dia_u_lo_row hermm_z_dia_u_lo_row
#define hermm_dia_n_hi_row hermm_z_dia_n_hi_row
#define hermm_dia_u_hi_row hermm_z_dia_u_hi_row
#define hermm_dia_n_lo_col hermm_z_dia_n_lo_col
#define hermm_dia_u_lo_col hermm_z_dia_u_lo_col
#define hermm_dia_n_hi_col hermm_z_dia_n_hi_col
#define hermm_dia_u_hi_col hermm_z_dia_u_hi_col
#define hermm_dia_n_lo_row_trans hermm_z_dia_n_lo_row_trans
#define hermm_dia_u_lo_row_trans hermm_z_dia_u_lo_row_trans
#define hermm_dia_n_hi_row_trans hermm_z_dia_n_hi_row_trans
#define hermm_dia_u_hi_row_trans hermm_z_dia_u_hi_row_trans
#define hermm_dia_n_lo_col_trans hermm_z_dia_n_lo_col_trans
#define hermm_dia_u_lo_col_trans hermm_z_dia_u_lo_col_trans
#define hermm_dia_n_hi_col_trans hermm_z_dia_n_hi_col_trans
#define hermm_dia_u_hi_col_trans hermm_z_dia_u_hi_col_trans
#define trmm_dia_n_lo_row trmm_z_dia_n_lo_row
#define trmm_dia_u_lo_row trmm_z_dia_u_lo_row
#define trmm_dia_n_hi_row trmm_z_dia_n_hi_row
#define trmm_dia_u_hi_row trmm_z_dia_u_hi_row
#define trmm_dia_n_lo_col trmm_z_dia_n_lo_col
#define trmm_dia_u_lo_col trmm_z_dia_u_lo_col
#define trmm_dia_n_hi_col trmm_z_dia_n_hi_col
#define trmm_dia_u_hi_col trmm_z_dia_u_hi_col
#define trmm_dia_n_lo_row_trans trmm_z_dia_n_lo_row_trans
#define trmm_dia_u_lo_row_trans trmm_z_dia_u_lo_row_trans
#define trmm_dia_n_hi_row_trans trmm_z_dia_n_hi_row_trans
#define trmm_dia_u_hi_row_trans trmm_z_dia_u_hi_row_trans
#define trmm_dia_n_lo_col_trans trmm_z_dia_n_lo_col_trans
#define trmm_dia_u_lo_col_trans trmm_z_dia_u_lo_col_trans
#define trmm_dia_n_hi_col_trans trmm_z_dia_n_hi_col_trans
#define trmm_dia_u_hi_col_trans trmm_z_dia_u_hi_col_trans
#define trmm_dia_n_lo_row_conj trmm_z_dia_n_lo_row_conj
#define trmm_dia_u_lo_row_conj trmm_z_dia_u_lo_row_conj
#define trmm_dia_n_hi_row_conj trmm_z_dia_n_hi_row_conj
#define trmm_dia_u_hi_row_conj trmm_z_dia_u_hi_row_conj
#define trmm_dia_n_lo_col_conj trmm_z_dia_n_lo_col_conj
#define trmm_dia_u_lo_col_conj trmm_z_dia_u_lo_col_conj
#define trmm_dia_n_hi_col_conj trmm_z_dia_n_hi_col_conj
#define trmm_dia_u_hi_col_conj trmm_z_dia_u_hi_col_conj
#define diagmm_dia_n_row diagmm_z_dia_n_row
#define diagmm_dia_u_row diagmm_z_dia_u_row
#define diagmm_dia_n_col diagmm_z_dia_n_col
#define diagmm_dia_u_col diagmm_z_dia_u_col
#define spmmd_dia_row spmmd_z_dia_row
#define spmmd_dia_col spmmd_z_dia_col
#define spmmd_dia_row_trans spmmd_z_dia_row_trans
#define spmmd_dia_col_trans spmmd_z_dia_col_trans
#define spmmd_dia_row_conj spmmd_z_dia_row_conj
#define spmmd_dia_col_conj spmmd_z_dia_col_conj
#define spmm_dia spmm_z_dia
#define spmm_dia_trans spmm_z_dia_trans
#define spmm_dia_conj spmm_z_dia_conj
#define trsv_dia_n_lo trsv_z_dia_n_lo
#define trsv_dia_u_lo trsv_z_dia_u_lo
#define trsv_dia_n_hi trsv_z_dia_n_hi
#define trsv_dia_u_hi trsv_z_dia_u_hi
#define trsv_dia_n_lo_trans trsv_z_dia_n_lo_trans
#define trsv_dia_u_lo_trans trsv_z_dia_u_lo_trans
#define trsv_dia_n_hi_trans trsv_z_dia_n_hi_trans
#define trsv_dia_u_hi_trans trsv_z_dia_u_hi_trans
#define trsv_dia_n_lo_conj trsv_z_dia_n_lo_conj
#define trsv_dia_u_lo_conj trsv_z_dia_u_lo_conj
#define trsv_dia_n_hi_conj trsv_z_dia_n_hi_conj
#define trsv_dia_u_hi_conj trsv_z_dia_u_hi_conj
#define diagsv_dia_n diagsv_z_dia_n
#define diagsv_dia_u diagsv_z_dia_u
#define trsm_dia_n_lo_row trsm_z_dia_n_lo_row
#define trsm_dia_u_lo_row trsm_z_dia_u_lo_row
#define trsm_dia_n_hi_row trsm_z_dia_n_hi_row
#define trsm_dia_u_hi_row trsm_z_dia_u_hi_row
#define trsm_dia_n_lo_col trsm_z_dia_n_lo_col
#define trsm_dia_u_lo_col trsm_z_dia_u_lo_col
#define trsm_dia_n_hi_col trsm_z_dia_n_hi_col
#define trsm_dia_u_hi_col trsm_z_dia_u_hi_col
#define trsm_dia_n_lo_row_trans trsm_z_dia_n_lo_row_trans
#define trsm_dia_u_lo_row_trans trsm_z_dia_u_lo_row_trans
#define trsm_dia_n_hi_row_trans trsm_z_dia_n_hi_row_trans
#define trsm_dia_u_hi_row_trans trsm_z_dia_u_hi_row_trans
#define trsm_dia_n_lo_col_trans trsm_z_dia_n_lo_col_trans
#define trsm_dia_u_lo_col_trans trsm_z_dia_u_lo_col_trans
#define trsm_dia_n_hi_col_trans trsm_z_dia_n_hi_col_trans
#define trsm_dia_u_hi_col_trans trsm_z_dia_u_hi_col_trans
#define trsm_dia_n_lo_row_conj trsm_z_dia_n_lo_row_conj
#define trsm_dia_u_lo_row_conj trsm_z_dia_u_lo_row_conj
#define trsm_dia_n_hi_row_conj trsm_z_dia_n_hi_row_conj
#define trsm_dia_u_hi_row_conj trsm_z_dia_u_hi_row_conj
#define trsm_dia_n_lo_col_conj trsm_z_dia_n_lo_col_conj
#define trsm_dia_u_lo_col_conj trsm_z_dia_u_lo_col_conj
#define trsm_dia_n_hi_col_conj trsm_z_dia_n_hi_col_conj
#define trsm_dia_u_hi_col_conj trsm_z_dia_u_hi_col_conj
#define diagsm_dia_n_row diagsm_z_dia_n_row
#define diagsm_dia_u_row diagsm_z_dia_u_row
#define diagsm_dia_n_col diagsm_z_dia_n_col
#define diagsm_dia_u_col diagsm_z_dia_u_col
