diff --git a/driver/level2/CMakeLists.txt b/driver/level2/CMakeLists.txt index d6179c0fb..d35069cf9 100644 --- a/driver/level2/CMakeLists.txt +++ b/driver/level2/CMakeLists.txt @@ -53,7 +53,7 @@ GenerateCombinationObjects("${UL_SOURCES}" "LOWER" "U" "" 1 "" "" 3) GenerateNamedObjects("gbmv_k.c" "" "gbmv_n" false "" "" "" 3) GenerateNamedObjects("gbmv_k.c" "TRANS" "gbmv_t" false "" "" "" 3) -# special defines for complex trmv +# special defines for complex foreach (float_type ${FLOAT_TYPES}) if (SMP) diff --git a/lapack/CMakeLists.txt b/lapack/CMakeLists.txt index c8c82219d..de42e1ab6 100644 --- a/lapack/CMakeLists.txt +++ b/lapack/CMakeLists.txt @@ -38,25 +38,6 @@ set(UNIT_SOURCES2 trti2/trti2_L.c ) -# TODO: getrs needs to be compiled with up to TRANS=4 in the complex case -set(ZLAPACK_SOURCES - getf2/zgetf2_k.c - getrf/getrf_single.c - getrs/zgetrs_single.c - potrf/potrf_U_single.c - potrf/potrf_L_single.c - potf2/potf2_U.c - potf2/potf2_L.c - lauu2/zlauu2_U.c - lauu2/zlauu2_L.c - lauum/lauum_U_single.c - lauum/lauum_L_single.c - trti2/ztrti2_U.c - trti2/ztrti2_L.c - trtri/trtri_U_single.c - trtri/trtri_L_single.c -) - GenerateNamedObjects("${LAPACK_SOURCES}") GenerateNamedObjects("${LAPACK_MANGLED_SOURCES}" "" "" false "" "" false 3) @@ -95,7 +76,21 @@ if (SMP) GenerateNamedObjects("${PARALLEL_SOURCES}") endif () -GenerateCombinationObjects("${TRANS_SOURCES}" "TRANS" "N" "" 4 "" "" 3) +foreach (float_type ${FLOAT_TYPES}) + if (${float_type} STREQUAL "COMPLEX" OR ${float_type} STREQUAL "ZCOMPLEX") + foreach (trans_src ${TRANS_SOURCES}) + string(REGEX MATCH "[a-z]/([a-z]+_)([a-z]+)" op_name ${trans_src}) + string(REPLACE "/" "/z" ztrans_src ${trans_src}) + GenerateNamedObjects("${ztrans_src}" "TRANS=1" "${CMAKE_MATCH_1}N_${CMAKE_MATCH_2}" false "" "" false ${float_type}) + GenerateNamedObjects("${ztrans_src}" "TRANS=2" "${CMAKE_MATCH_1}T_${CMAKE_MATCH_2}" false "" "" false ${float_type}) + GenerateNamedObjects("${ztrans_src}" "TRANS=3" "${CMAKE_MATCH_1}R_${CMAKE_MATCH_2}" false "" "" false ${float_type}) + GenerateNamedObjects("${ztrans_src}" "TRANS=4" "${CMAKE_MATCH_1}C_${CMAKE_MATCH_2}" false "" "" false ${float_type}) + endforeach () + else () + GenerateCombinationObjects("${TRANS_SOURCES}" "TRANS" "N" "" 4 "" false ${float_type}) + endif () +endforeach () + GenerateCombinationObjects("${UNIT_SOURCES}" "UNIT" "N" "" 4) GenerateCombinationObjects("${UNIT_SOURCES2}" "UNIT" "N" "" 0 "" "" 3)