15 #ifdef ETL_EGBLAS_MODE 17 #include "etl/impl/cublas/cuda.hpp" 28 #ifdef EGBLAS_HAS_CCONJ 29 static constexpr
bool has_cconj =
true;
31 static constexpr
bool has_cconj =
false;
43 inline void conj([[maybe_unused]]
size_t n,
44 [[maybe_unused]] std::complex<float> alpha,
45 [[maybe_unused]] std::complex<float>* A,
46 [[maybe_unused]]
size_t lda,
47 [[maybe_unused]] std::complex<float>* B,
48 [[maybe_unused]]
size_t ldb) {
49 #ifdef EGBLAS_HAS_CCONJ 51 egblas_cconj(n, complex_cast(alpha), reinterpret_cast<cuComplex*>(A), lda, reinterpret_cast<cuComplex*>(B), ldb);
53 cpp_unreachable(
"Invalid call to egblas::conj");
66 inline void conj([[maybe_unused]]
size_t n,
69 [[maybe_unused]]
size_t lda,
71 [[maybe_unused]]
size_t ldb) {
72 #ifdef EGBLAS_HAS_CCONJ 74 egblas_cconj(n, complex_cast(alpha), reinterpret_cast<cuComplex*>(A), lda, reinterpret_cast<cuComplex*>(B), ldb);
76 cpp_unreachable(
"Invalid call to egblas::conj");
83 #ifdef EGBLAS_HAS_Zconj 84 static constexpr
bool has_zconj =
true;
86 static constexpr
bool has_zconj =
false;
98 inline void conj([[maybe_unused]]
size_t n,
99 [[maybe_unused]] std::complex<double> alpha,
100 [[maybe_unused]] std::complex<double>* A,
101 [[maybe_unused]]
size_t lda,
102 [[maybe_unused]] std::complex<double>* B,
103 [[maybe_unused]]
size_t ldb) {
104 #ifdef EGBLAS_HAS_Zconj 106 egblas_zconj(n, complex_cast(alpha), reinterpret_cast<cuDoubleComplex*>(A), lda, reinterpret_cast<cuDoubleComplex*>(B), ldb);
108 cpp_unreachable(
"Invalid call to egblas::conj");
121 inline void conj([[maybe_unused]]
size_t n,
124 [[maybe_unused]]
size_t lda,
126 [[maybe_unused]]
size_t ldb) {
127 #ifdef EGBLAS_HAS_Zconj 129 egblas_zconj(n, complex_cast(alpha), reinterpret_cast<cuDoubleComplex*>(A), lda, reinterpret_cast<cuDoubleComplex*>(B), ldb);
131 cpp_unreachable(
"Invalid call to egblas::conj");
Complex number implementation.
Definition: complex.hpp:31
auto conj(E &&value)
Apply the conjugate operation on each complex value of the given expression.
Definition: expression_builder.hpp:206
void inc_counter([[maybe_unused]] const char *name)
Increase the given counter.
Definition: counters.hpp:25