OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
cblas_dgemv.c File Reference
#include "cblas.h"
#include "cblas_f77.h"

Go to the source code of this file.

Macros

#define F77_TA   &TA
#define F77_M   M
#define F77_N   N
#define F77_lda   lda
#define F77_incX   incX
#define F77_incY   incY

Functions

void cblas_dgemv (const CBLAS_LAYOUT layout, const CBLAS_TRANSPOSE TransA, const CBLAS_INT M, const CBLAS_INT N, const double alpha, const double *A, const CBLAS_INT lda, const double *X, const CBLAS_INT incX, const double beta, double *Y, const CBLAS_INT incY)

Macro Definition Documentation

◆ F77_incX

#define F77_incX   incX

◆ F77_incY

#define F77_incY   incY

◆ F77_lda

#define F77_lda   lda

◆ F77_M

#define F77_M   M

◆ F77_N

#define F77_N   N

◆ F77_TA

#define F77_TA   &TA

Function Documentation

◆ cblas_dgemv()

void cblas_dgemv ( const CBLAS_LAYOUT layout,
const CBLAS_TRANSPOSE TransA,
const CBLAS_INT M,
const CBLAS_INT N,
const double alpha,
const double * A,
const CBLAS_INT lda,
const double * X,
const CBLAS_INT incX,
const double beta,
double * Y,
const CBLAS_INT incY )

Definition at line 11 of file cblas_dgemv.c.

16{
17 char TA;
18#ifdef F77_CHAR
19 F77_CHAR F77_TA;
20#else
21 #define F77_TA &TA
22#endif
23#ifdef F77_INT
24 F77_INT F77_M=M, F77_N=N, F77_lda=lda, F77_incX=incX, F77_incY=incY;
25#else
26 #define F77_M M
27 #define F77_N N
28 #define F77_lda lda
29 #define F77_incX incX
30 #define F77_incY incY
31#endif
32 extern int CBLAS_CallFromC;
33 extern int RowMajorStrg;
34 RowMajorStrg = 0;
35
37 if (layout == CblasColMajor)
38 {
39 if (TransA == CblasNoTrans) TA = 'N';
40 else if (TransA == CblasTrans) TA = 'T';
41 else if (TransA == CblasConjTrans) TA = 'C';
42 else
43 {
44 cblas_xerbla(2, "cblas_dgemv","Illegal TransA setting, %d\n", TransA);
46 RowMajorStrg = 0;
47 return;
48 }
49 #ifdef F77_CHAR
50 F77_TA = C2F_CHAR(&TA);
51 #endif
53 &beta, Y, &F77_incY);
54 }
55 else if (layout == CblasRowMajor)
56 {
57 RowMajorStrg = 1;
58 if (TransA == CblasNoTrans) TA = 'T';
59 else if (TransA == CblasTrans) TA = 'N';
60 else if (TransA == CblasConjTrans) TA = 'N';
61 else
62 {
63 cblas_xerbla(2, "cblas_dgemv","Illegal TransA setting, %d\n", TransA);
65 RowMajorStrg = 0;
66 return;
67 }
68 #ifdef F77_CHAR
69 F77_TA = C2F_CHAR(&TA);
70 #endif
72 &F77_incX, &beta, Y, &F77_incY);
73 }
74 else cblas_xerbla(1, "cblas_dgemv", "Illegal layout setting, %d\n", layout);
76 RowMajorStrg = 0;
77 return;
78}
#define C2F_CHAR(a)
Definition pblas.h:125
void cblas_xerbla(CBLAS_INT p, const char *rout, const char *form,...)
@ CblasNoTrans
Definition cblas.h:28
@ CblasTrans
Definition cblas.h:28
@ CblasConjTrans
Definition cblas.h:28
@ CblasColMajor
Definition cblas.h:27
@ CblasRowMajor
Definition cblas.h:27
#define F77_incX
#define F77_incY
#define F77_N
#define F77_TA
#define F77_lda
#define F77_M
#define F77_INT
Definition cblas_f77.h:32
#define F77_dgemv(...)
Definition cblas_f77.h:301
int CBLAS_CallFromC
int RowMajorStrg
#define alpha
Definition eval.h:35
#define N