diff options
Diffstat (limited to 'test/wrapper_cblas.hpp')
-rw-r--r-- | test/wrapper_cblas.hpp | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/test/wrapper_cblas.hpp b/test/wrapper_cblas.hpp index a47ff725..fe5c7a43 100644 --- a/test/wrapper_cblas.hpp +++ b/test/wrapper_cblas.hpp @@ -455,38 +455,37 @@ void cblasXasum(const size_t n, // Forwards the Netlib BLAS calls for iSAMAX/iDAMAX/iCAMAX/iZAMAX/iHAMAX void cblasXamax(const size_t n, - std::vector<float>& imax_buffer, const size_t imax_offset, + std::vector<unsigned int>& imax_buffer, const size_t imax_offset, const std::vector<float>& x_buffer, const size_t x_offset, const size_t x_inc) { - reinterpret_cast<int*>(&imax_buffer[0])[imax_offset] = static_cast<int>(cblas_isamax(static_cast<int>(n), - &x_buffer[x_offset], static_cast<int>(x_inc))); + imax_buffer[imax_offset] = cblas_isamax(static_cast<int>(n), + &x_buffer[x_offset], static_cast<int>(x_inc)); } void cblasXamax(const size_t n, - std::vector<double>& imax_buffer, const size_t imax_offset, + std::vector<unsigned int>& imax_buffer, const size_t imax_offset, const std::vector<double>& x_buffer, const size_t x_offset, const size_t x_inc) { - reinterpret_cast<int*>(&imax_buffer[0])[imax_offset] = static_cast<int>(cblas_idamax(static_cast<int>(n), - &x_buffer[x_offset], static_cast<int>(x_inc))); + imax_buffer[imax_offset] = cblas_idamax(static_cast<int>(n), + &x_buffer[x_offset], static_cast<int>(x_inc)); } void cblasXamax(const size_t n, - std::vector<float2>& imax_buffer, const size_t imax_offset, + std::vector<unsigned int>& imax_buffer, const size_t imax_offset, const std::vector<float2>& x_buffer, const size_t x_offset, const size_t x_inc) { - reinterpret_cast<int*>(&imax_buffer[0])[imax_offset] = static_cast<int>(cblas_icamax(static_cast<int>(n), - reinterpret_cast<const float*>(&x_buffer[x_offset]), static_cast<int>(x_inc))); + imax_buffer[imax_offset] = cblas_icamax(static_cast<int>(n), + reinterpret_cast<const float*>(&x_buffer[x_offset]), static_cast<int>(x_inc)); } void cblasXamax(const size_t n, - std::vector<double2>& imax_buffer, const size_t imax_offset, + std::vector<unsigned int>& imax_buffer, const size_t imax_offset, const std::vector<double2>& x_buffer, const size_t x_offset, const size_t x_inc) { - reinterpret_cast<int*>(&imax_buffer[0])[imax_offset] = static_cast<int>(cblas_izamax(static_cast<int>(n), - reinterpret_cast<const double*>(&x_buffer[x_offset]), static_cast<int>(x_inc))); + imax_buffer[imax_offset] = cblas_izamax(static_cast<int>(n), + reinterpret_cast<const double*>(&x_buffer[x_offset]), static_cast<int>(x_inc)); } void cblasXamax(const size_t n, - std::vector<half>& imax_buffer, const size_t imax_offset, + std::vector<unsigned int>& imax_buffer, const size_t imax_offset, const std::vector<half>& x_buffer, const size_t x_offset, const size_t x_inc) { auto x_buffer_bis = HalfToFloatBuffer(x_buffer); - auto imax_buffer_bis = HalfToFloatBuffer(imax_buffer); + auto imax_buffer_bis = imax_buffer; cblasXamax(n, imax_buffer_bis, imax_offset, x_buffer_bis, x_offset, x_inc); - FloatToHalfBuffer(imax_buffer, imax_buffer_bis); } // ================================================================================================= |