1*1858f998SYi Kong /*
2*1858f998SYi Kong *
3*1858f998SYi Kong * cblas_dger.c
4*1858f998SYi Kong * This program is a C interface to dger.
5*1858f998SYi Kong * Written by Keita Teranishi
6*1858f998SYi Kong * 4/6/1998
7*1858f998SYi Kong *
8*1858f998SYi Kong */
9*1858f998SYi Kong
10*1858f998SYi Kong #include "cblas.h"
11*1858f998SYi Kong #include "cblas_f77.h"
cblas_dger(const enum CBLAS_ORDER order,const int M,const int N,const double alpha,const double * X,const int incX,const double * Y,const int incY,double * A,const int lda)12*1858f998SYi Kong void cblas_dger(const enum CBLAS_ORDER order, const int M, const int N,
13*1858f998SYi Kong const double alpha, const double *X, const int incX,
14*1858f998SYi Kong const double *Y, const int incY, double *A, const int lda)
15*1858f998SYi Kong {
16*1858f998SYi Kong #ifdef F77_INT
17*1858f998SYi Kong F77_INT F77_M=M, F77_N=N, F77_lda=lda, F77_incX=incX, F77_incY=incY;
18*1858f998SYi Kong #else
19*1858f998SYi Kong #define F77_M M
20*1858f998SYi Kong #define F77_N N
21*1858f998SYi Kong #define F77_incX incX
22*1858f998SYi Kong #define F77_incY incY
23*1858f998SYi Kong #define F77_lda lda
24*1858f998SYi Kong #endif
25*1858f998SYi Kong
26*1858f998SYi Kong extern int CBLAS_CallFromC;
27*1858f998SYi Kong extern int RowMajorStrg;
28*1858f998SYi Kong RowMajorStrg = 0;
29*1858f998SYi Kong
30*1858f998SYi Kong CBLAS_CallFromC = 1;
31*1858f998SYi Kong if (order == CblasColMajor)
32*1858f998SYi Kong {
33*1858f998SYi Kong F77_dger( &F77_M, &F77_N, &alpha, X, &F77_incX, Y, &F77_incY, A,
34*1858f998SYi Kong &F77_lda);
35*1858f998SYi Kong }
36*1858f998SYi Kong else if (order == CblasRowMajor)
37*1858f998SYi Kong {
38*1858f998SYi Kong RowMajorStrg = 1;
39*1858f998SYi Kong F77_dger( &F77_N, &F77_M ,&alpha, Y, &F77_incY, X, &F77_incX, A,
40*1858f998SYi Kong &F77_lda);
41*1858f998SYi Kong
42*1858f998SYi Kong }
43*1858f998SYi Kong else cblas_xerbla(1, "cblas_dger", "Illegal Order setting, %d\n", order);
44*1858f998SYi Kong CBLAS_CallFromC = 0;
45*1858f998SYi Kong RowMajorStrg = 0;
46*1858f998SYi Kong return;
47*1858f998SYi Kong }
48