93 int rc =
core_sgeadd( trans, M, N, alpha, A, LDA, beta, B, LDB );
119 if ( ((trans ==
PastixNoTrans) && (LDA < pastix_imax(1,M)) && (M > 0)) ||
120 ((trans !=
PastixNoTrans) && (LDA < pastix_imax(1,N)) && (N > 0)) )
124 if ( (LDB < pastix_imax(1,M)) && (M > 0) ) {
134 #if defined(PRECISION_z) || defined(PRECISION_c)
136 for (j=0; j<N; j++, A++) {
137 for(i=j; i<M; i++, B++) {
138 *B = beta * (*B) + alpha * (A[LDA*i]);
146 for (j=0; j<N; j++, A++) {
147 for(i=j; i<M; i++, B++) {
148 *B = beta * (*B) + alpha * A[LDA*i];
156 for (j=0; j<N; j++) {
157 for(i=j; i<M; i++, B++, A++) {
158 *B = beta * (*B) + alpha * (*A);
170 #if defined(PRECISION_z) || defined(PRECISION_c)
172 for (j=0; j<N; j++, A++) {
173 int mm = pastix_imin( j+1, M );
174 for(i=0; i<mm; i++, B++) {
175 *B = beta * (*B) + alpha * (A[LDA*i]);
183 for (j=0; j<N; j++, A++) {
184 int mm = pastix_imin( j+1, M );
185 for(i=0; i<mm; i++, B++) {
186 *B = beta * (*B) + alpha * (A[LDA*i]);
194 for (j=0; j<N; j++) {
195 int mm = pastix_imin( j+1, M );
196 for(i=0; i<mm; i++, B++, A++) {
197 *B = beta * (*B) + alpha * (*A);
BEGIN_C_DECLS typedef int pastix_int_t
int core_sgeadd(pastix_trans_t trans, pastix_int_t M, pastix_int_t N, float alpha, const float *A, pastix_int_t LDA, float beta, float *B, pastix_int_t LDB)
Add two matrices together.
int core_stradd(pastix_uplo_t uplo, pastix_trans_t trans, pastix_int_t M, pastix_int_t N, float alpha, const float *A, pastix_int_t LDA, float beta, float *B, pastix_int_t LDB)
Add two triangular matrices together as in PBLAS pstradd.
enum pastix_uplo_e pastix_uplo_t
Upper/Lower part.
enum pastix_trans_e pastix_trans_t
Transpostion.