Added alternate_name to a couple of the name mangling schemes.
Added zherk_k sources to driver/level3.
This commit is contained in:
parent
e5897ecb9b
commit
8a143516e3
|
@ -241,14 +241,17 @@ endfunction ()
|
||||||
# @param complex_filename_scheme see GenerateNamedObjects
|
# @param complex_filename_scheme see GenerateNamedObjects
|
||||||
function(GenerateCombinationObjects sources_in defines_in absent_codes_in all_defines_in replace_scheme)
|
function(GenerateCombinationObjects sources_in defines_in absent_codes_in all_defines_in replace_scheme)
|
||||||
|
|
||||||
|
set(alternate_name_in "")
|
||||||
if (DEFINED ARGV5)
|
if (DEFINED ARGV5)
|
||||||
set(alternate_name ${ARGV5})
|
set(alternate_name_in ${ARGV5})
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
set(no_float_type false)
|
||||||
if (DEFINED ARGV6)
|
if (DEFINED ARGV6)
|
||||||
set(no_float_type ${ARGV6})
|
set(no_float_type ${ARGV6})
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
set(complex_filename_scheme "")
|
||||||
if (DEFINED ARGV7)
|
if (DEFINED ARGV7)
|
||||||
set(complex_filename_scheme ${ARGV7})
|
set(complex_filename_scheme ${ARGV7})
|
||||||
endif ()
|
endif ()
|
||||||
|
@ -268,6 +271,8 @@ function(GenerateCombinationObjects sources_in defines_in absent_codes_in all_de
|
||||||
|
|
||||||
foreach (source_file ${sources_in})
|
foreach (source_file ${sources_in})
|
||||||
|
|
||||||
|
set(alternate_name ${alternate_name_in})
|
||||||
|
|
||||||
# replace colon separated list with semicolons, this turns it into a CMake list that we can use foreach with
|
# replace colon separated list with semicolons, this turns it into a CMake list that we can use foreach with
|
||||||
string(REPLACE ":" ";" define_combo ${define_combo})
|
string(REPLACE ":" ";" define_combo ${define_combo})
|
||||||
|
|
||||||
|
@ -287,8 +292,12 @@ function(GenerateCombinationObjects sources_in defines_in absent_codes_in all_de
|
||||||
if (replace_scheme EQUAL 2)
|
if (replace_scheme EQUAL 2)
|
||||||
set(append_code "_${define_code}")
|
set(append_code "_${define_code}")
|
||||||
elseif (replace_scheme EQUAL 3)
|
elseif (replace_scheme EQUAL 3)
|
||||||
|
if ("${alternate_name}" STREQUAL "")
|
||||||
|
string(REGEX MATCH "[a-zA-Z]\\." last_letter ${source_file})
|
||||||
|
else ()
|
||||||
|
string(REGEX MATCH "[a-zA-Z]$" last_letter ${alternate_name})
|
||||||
|
endif ()
|
||||||
# first extract the last letter
|
# first extract the last letter
|
||||||
string(REGEX MATCH "[a-zA-Z]\\." last_letter ${source_file})
|
|
||||||
string(SUBSTRING ${last_letter} 0 1 last_letter) # remove period from match
|
string(SUBSTRING ${last_letter} 0 1 last_letter) # remove period from match
|
||||||
# break the code up into the first letter and the remaining (should only be 2 anyway)
|
# break the code up into the first letter and the remaining (should only be 2 anyway)
|
||||||
string(SUBSTRING ${define_code} 0 1 define_code_first)
|
string(SUBSTRING ${define_code} 0 1 define_code_first)
|
||||||
|
@ -296,7 +305,9 @@ function(GenerateCombinationObjects sources_in defines_in absent_codes_in all_de
|
||||||
set(replace_code "${define_code_first}${last_letter}${define_code_second}")
|
set(replace_code "${define_code_first}${last_letter}${define_code_second}")
|
||||||
elseif (replace_scheme EQUAL 4)
|
elseif (replace_scheme EQUAL 4)
|
||||||
# insert code before the last underscore and pass that in as the alternate_name
|
# insert code before the last underscore and pass that in as the alternate_name
|
||||||
get_filename_component(alternate_name ${source_file} NAME_WE)
|
if ("${alternate_name}" STREQUAL "")
|
||||||
|
get_filename_component(alternate_name ${source_file} NAME_WE)
|
||||||
|
endif ()
|
||||||
set(extra_underscore "")
|
set(extra_underscore "")
|
||||||
# check if filename has two underscores, insert another if not (e.g. getrs_parallel needs to become getrs_U_parallel not getrsU_parallel)
|
# check if filename has two underscores, insert another if not (e.g. getrs_parallel needs to become getrs_U_parallel not getrsU_parallel)
|
||||||
string(REGEX MATCH "_[a-zA-Z]+_" underscores ${alternate_name})
|
string(REGEX MATCH "_[a-zA-Z]+_" underscores ${alternate_name})
|
||||||
|
|
|
@ -37,11 +37,14 @@ if (SMP)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
foreach (float_type ${FLOAT_TYPES})
|
foreach (float_type ${FLOAT_TYPES})
|
||||||
set(VERBOSE_GEN true)
|
|
||||||
if (${float_type} STREQUAL "COMPLEX" OR ${float_type} STREQUAL "ZCOMPLEX")
|
if (${float_type} STREQUAL "COMPLEX" OR ${float_type} STREQUAL "ZCOMPLEX")
|
||||||
GenerateCombinationObjects("zherk_kernel" "LOWER;CONJ" "U;N" "HERK" 2 "herk_kernel" false ${float_type})
|
GenerateCombinationObjects("zherk_kernel.c" "LOWER;CONJ" "U;N" "HERK" 2 "herk_kernel" false ${float_type})
|
||||||
|
# TRANS needs to be set/unset when CONJ is set/unset, so can't use it as a combination
|
||||||
|
GenerateCombinationObjects("zherk_k.c" "LOWER" "U" "HERK" 3 "herk_N" false ${float_type})
|
||||||
|
GenerateCombinationObjects("zherk_k.c" "LOWER" "U" "HERK;TRANS;CONJ" 3 "herk_C" false ${float_type})
|
||||||
|
GenerateCombinationObjects("zherk_k.c" "LOWER" "U" "HERK;THREADED_LEVEL3" 3 "herk_thread_N" false ${float_type})
|
||||||
|
GenerateCombinationObjects("zherk_k.c" "LOWER" "U" "HERK;THREADED_LEVEL3;TRANS;CONJ" 3 "herk_thread_C" false ${float_type})
|
||||||
endif ()
|
endif ()
|
||||||
set(VERBOSE_GEN false)
|
|
||||||
endforeach ()
|
endforeach ()
|
||||||
|
|
||||||
#HPLOBJS =
|
#HPLOBJS =
|
||||||
|
|
Loading…
Reference in New Issue