Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion cmake/FindARMPL.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
#===============================================================================

include_guard()
set(ARMPL_SEQ armpl_intp64)
set(ARMPL_SEQ armpl_int64)
set(ARMPL_OMP armpl_int64_mp)

include(FindPackageHandleStandardArgs)
Expand Down
6 changes: 5 additions & 1 deletion src/lapack/backends/armpl/armpl_common.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,11 @@ inline constexpr bool is_complex<armpl_doublecomplex_t> = true;
template <typename T>
constexpr auto cast_to_int_if_complex(const T& alpha) {
if constexpr (is_complex<T>) {
return static_cast<std::int64_t>((*((T*)&alpha)));
//armpl 25.04 uses directly std::complex so most of the ArmEquivalentType gymnastics is redundant
if constexpr (std::is_same_v<T, std::complex<float>> || std::is_same_v<T, std::complex<double>>)
return static_cast<std::int64_t>(alpha.real());
else
return static_cast<std::int64_t>((*((T*)&alpha)));
}
else {
return (std::int64_t)alpha;
Expand Down
Loading