35 #ifndef _BLAZE_MATH_BLAS_AXPY_H_ 36 #define _BLAZE_MATH_BLAS_AXPY_H_ 69 BLAZE_ALWAYS_INLINE void axpy(
int n,
float alpha,
const float* x,
int incX,
float* y,
int incY );
71 BLAZE_ALWAYS_INLINE void axpy(
int n,
double alpha,
const double* x,
int incX,
double* y,
int incY );
74 int incX, complex<float>* y,
int incY );
77 int incX, complex<double>* y,
int incY );
79 template<
typename VT1,
bool TF1,
typename VT2,
bool TF2,
typename ST >
80 BLAZE_ALWAYS_INLINE void axpy(
const DenseVector<VT1,TF1>& x,
const DenseVector<VT2,TF2>& y, ST alpha );
105 int incX,
float* y,
int incY )
107 cblas_saxpy( n, alpha, x, incX, y, incY );
131 int incX,
double* y,
int incY )
133 cblas_daxpy( n, alpha, x, incX, y, incY );
157 int incX, complex<float>* y,
int incY )
161 cblas_caxpy( n, reinterpret_cast<const float*>( &alpha ),
162 reinterpret_cast<const float*>( x ), incX, reinterpret_cast<float*>( y ), incY );
186 int incX, complex<double>* y,
int incY )
190 cblas_zaxpy( n, reinterpret_cast<const double*>( &alpha ),
191 reinterpret_cast<const double*>( x ), incX, reinterpret_cast<double*>( y ), incY );
212 template<
typename VT1,
bool TF1,
typename VT2,
bool TF2,
typename ST >
213 void axpy( DenseVector<VT1,TF1>& y,
const DenseVector<VT2,TF2>& x, ST alpha )
224 const int n( numeric_cast<int>( (~x).
size() ) );
226 axpy( n, alpha, (~x).
data(), 1, (~y).
data(), 1 );
Constraint on the data type.
Header file for auxiliary alias declarations.
#define BLAZE_CONSTRAINT_MUST_HAVE_MUTABLE_DATA_ACCESS(T)
Constraint on the data type.In case the given data type T does not provide low-level data access to m...
Definition: MutableDataAccess.h:61
#define BLAZE_CONSTRAINT_MUST_HAVE_CONST_DATA_ACCESS(T)
Constraint on the data type.In case the given data type T does not provide low-level data access to c...
Definition: ConstDataAccess.h:61
MT::ElementType * data(DenseMatrix< MT, SO > &dm) noexcept
Low-level data access to the dense matrix elements.
Definition: DenseMatrix.h:169
#define BLAZE_CONSTRAINT_MUST_NOT_BE_COMPUTATION_TYPE(T)
Constraint on the data type.In case the given data type T is a computational expression (i...
Definition: Computation.h:81
Header file for the DenseVector base class.
Cast operators for numeric types.
Constraint on the data type.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
#define BLAZE_ALWAYS_INLINE
Platform dependent setup of an enforced inline keyword.
Definition: Inline.h:85
Constraint on the data type.
System settings for the BLAS mode.
Constraint on the data type.
constexpr size_t size(const Matrix< MT, SO > &matrix) noexcept
Returns the total number of elements of the matrix.
Definition: Matrix.h:530
#define BLAZE_CONSTRAINT_MUST_BE_BLAS_COMPATIBLE_TYPE(T)
Constraint on the data type.In case the given data type T is not a BLAS compatible data type (i...
Definition: BLASCompatible.h:61
Header file for the complex data type.
#define BLAZE_STATIC_ASSERT(expr)
Compile time assertion macro.In case of an invalid compile time expression, a compilation error is cr...
Definition: StaticAssert.h:112
System settings for the inline keywords.