Added _64 suffixed CBLAS tests

Co-authored-by: Copilot <copilot@github.com>
This commit is contained in:
Simon Maertens
2026-05-04 15:05:05 +02:00
co-authored by Copilot
parent 531e611e92
commit a32aa4b33d
+54 -45
View File
@@ -3,7 +3,7 @@
#
#######################################################################
macro(add_cblas_test output input target)
function(add_cblas_ctest output input target)
if(NOT "${input}" STREQUAL "")
set(TEST_INPUT "${CMAKE_CURRENT_SOURCE_DIR}/${input}")
endif()
@@ -24,10 +24,10 @@ macro(add_cblas_test output input target)
-DINTDIR=${CMAKE_CFG_INTDIR}
-P "${LAPACK_SOURCE_DIR}/TESTING/runtest.cmake")
endif()
endmacro()
endfunction()
macro(configure_cblas_test_target target test_sources)
add_executable(${target} ${test_sources})
function(add_cblas_test_target target)
add_executable(${target} ${ARGN})
if(HAS_ATTRIBUTE_WEAK_SUPPORT)
target_compile_definitions(${target} PRIVATE HAS_ATTRIBUTE_WEAK_SUPPORT)
@@ -38,64 +38,73 @@ macro(configure_cblas_test_target target test_sources)
endif()
target_link_libraries(${target} PRIVATE ${CBLASLIB})
endmacro()
endfunction()
function(add_cblas_test target output input f_source)
set(c_sources ${ARGN})
if(BUILD_DEFAULT_API)
add_cblas_test_target(${target} ${f_source} ${c_sources})
add_cblas_ctest(${output} "${input}" ${target})
endif()
if(BUILD_INDEX64_EXT_API)
include(ExtendedAPIHelpers)
generate_64bit_suffixed_sources(${target} f_source f_source_64)
add_cblas_test_target(${target}_64 ${f_source_64} ${c_sources})
target_compile_definitions(${target}_64 PRIVATE
"$<$<COMPILE_LANGUAGE:C>:WeirdNEC>" "$<$<COMPILE_LANGUAGE:C>:CBLAS_API64>")
target_compile_options(${target}_64 PRIVATE
"$<$<COMPILE_LANGUAGE:Fortran>:${FOPT_ILP64}>")
get_filename_component(output_name "${output}" NAME_WLE)
get_filename_component(output_ext "${output}" EXT)
set(output_64 "${output_name}_64${output_ext}")
add_cblas_ctest(${output_64} "${input}" ${target}_64)
endif()
endfunction()
# Object files for single precision real
set(STESTL1O c_sblat1.f c_sblas1.c)
set(STESTL2O c_sblat2.f c_sblas2.c c_s2chke.c auxiliary.c c_xerbla.c)
set(STESTL3O c_sblat3.f c_sblas3.c c_s3chke.c auxiliary.c c_xerbla.c)
set(STESTL1O c_sblas1.c)
set(STESTL2O c_sblas2.c c_s2chke.c auxiliary.c c_xerbla.c)
set(STESTL3O c_sblas3.c c_s3chke.c auxiliary.c c_xerbla.c)
# Object files for double precision real
set(DTESTL1O c_dblat1.f c_dblas1.c)
set(DTESTL2O c_dblat2.f c_dblas2.c c_d2chke.c auxiliary.c c_xerbla.c)
set(DTESTL3O c_dblat3.f c_dblas3.c c_d3chke.c auxiliary.c c_xerbla.c)
set(DTESTL1O c_dblas1.c)
set(DTESTL2O c_dblas2.c c_d2chke.c auxiliary.c c_xerbla.c)
set(DTESTL3O c_dblas3.c c_d3chke.c auxiliary.c c_xerbla.c)
# Object files for single precision complex
set(CTESTL1O c_cblat1.f c_cblas1.c)
set(CTESTL2O c_cblat2.f c_cblas2.c c_c2chke.c auxiliary.c c_xerbla.c)
set(CTESTL3O c_cblat3.f c_cblas3.c c_c3chke.c auxiliary.c c_xerbla.c)
set(CTESTL1O c_cblas1.c)
set(CTESTL2O c_cblas2.c c_c2chke.c auxiliary.c c_xerbla.c)
set(CTESTL3O c_cblas3.c c_c3chke.c auxiliary.c c_xerbla.c)
# Object files for double precision complex
set(ZTESTL1O c_zblat1.f c_zblas1.c)
set(ZTESTL2O c_zblat2.f c_zblas2.c c_z2chke.c auxiliary.c c_xerbla.c)
set(ZTESTL3O c_zblat3.f c_zblas3.c c_z3chke.c auxiliary.c c_xerbla.c)
set(ZTESTL1O c_zblas1.c)
set(ZTESTL2O c_zblas2.c c_z2chke.c auxiliary.c c_xerbla.c)
set(ZTESTL3O c_zblas3.c c_z3chke.c auxiliary.c c_xerbla.c)
if(BUILD_SINGLE)
configure_cblas_test_target(xscblat1 "${STESTL1O}")
configure_cblas_test_target(xscblat2 "${STESTL2O}")
configure_cblas_test_target(xscblat3 "${STESTL3O}")
add_cblas_test(stest1.out "" xscblat1)
add_cblas_test(stest2.out sin2 xscblat2)
add_cblas_test(stest3.out sin3 xscblat3)
add_cblas_test(xscblat1 stest1.out "" c_sblat1.f ${STESTL1O})
add_cblas_test(xscblat2 stest2.out sin2 c_sblat2.f ${STESTL2O})
add_cblas_test(xscblat3 stest3.out sin3 c_sblat3.f ${STESTL3O})
endif()
if(BUILD_DOUBLE)
configure_cblas_test_target(xdcblat1 "${DTESTL1O}")
configure_cblas_test_target(xdcblat2 "${DTESTL2O}")
configure_cblas_test_target(xdcblat3 "${DTESTL3O}")
add_cblas_test(dtest1.out "" xdcblat1)
add_cblas_test(dtest2.out din2 xdcblat2)
add_cblas_test(dtest3.out din3 xdcblat3)
add_cblas_test(xdcblat1 dtest1.out "" c_dblat1.f ${DTESTL1O})
add_cblas_test(xdcblat2 dtest2.out din2 c_dblat2.f ${DTESTL2O})
add_cblas_test(xdcblat3 dtest3.out din3 c_dblat3.f ${DTESTL3O})
endif()
if(BUILD_COMPLEX)
configure_cblas_test_target(xccblat1 "${CTESTL1O}")
configure_cblas_test_target(xccblat2 "${CTESTL2O}")
configure_cblas_test_target(xccblat3 "${CTESTL3O}")
add_cblas_test(ctest1.out "" xccblat1)
add_cblas_test(ctest2.out cin2 xccblat2)
add_cblas_test(ctest3.out cin3 xccblat3)
add_cblas_test(xccblat1 ctest1.out "" c_cblat1.f ${CTESTL1O})
add_cblas_test(xccblat2 ctest2.out cin2 c_cblat2.f ${CTESTL2O})
add_cblas_test(xccblat3 ctest3.out cin3 c_cblat3.f ${CTESTL3O})
endif()
if(BUILD_COMPLEX16)
configure_cblas_test_target(xzcblat1 "${ZTESTL1O}")
configure_cblas_test_target(xzcblat2 "${ZTESTL2O}")
configure_cblas_test_target(xzcblat3 "${ZTESTL3O}")
add_cblas_test(ztest1.out "" xzcblat1)
add_cblas_test(ztest2.out zin2 xzcblat2)
add_cblas_test(ztest3.out zin3 xzcblat3)
add_cblas_test(xzcblat1 ztest1.out "" c_zblat1.f ${ZTESTL1O})
add_cblas_test(xzcblat2 ztest2.out zin2 c_zblat2.f ${ZTESTL2O})
add_cblas_test(xzcblat3 ztest3.out zin3 c_zblat3.f ${ZTESTL3O})
endif()