You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

cblas_zgeru.c 1.1 kB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /*
  2. * cblas_zgeru.c
  3. * The program is a C interface to zgeru.
  4. *
  5. * Keita Teranishi 5/20/98
  6. *
  7. */
  8. #include "cblas.h"
  9. #include "cblas_f77.h"
  10. void cblas_zgeru(const CBLAS_LAYOUT layout, const int M, const int N,
  11. const void *alpha, const void *X, const int incX,
  12. const void *Y, const int incY, void *A, const int lda)
  13. {
  14. #ifdef F77_INT
  15. F77_INT F77_M=M, F77_N=N, F77_lda=lda, F77_incX=incX, F77_incY=incY;
  16. #else
  17. #define F77_M M
  18. #define F77_N N
  19. #define F77_incX incX
  20. #define F77_incY incY
  21. #define F77_lda lda
  22. #endif
  23. extern int CBLAS_CallFromC;
  24. extern int RowMajorStrg;
  25. RowMajorStrg = 0;
  26. CBLAS_CallFromC = 1;
  27. if (layout == CblasColMajor)
  28. {
  29. F77_zgeru( &F77_M, &F77_N, alpha, X, &F77_incX, Y, &F77_incY, A,
  30. &F77_lda);
  31. }
  32. else if (layout == CblasRowMajor)
  33. {
  34. RowMajorStrg = 1;
  35. F77_zgeru( &F77_N, &F77_M, alpha, Y, &F77_incY, X, &F77_incX, A,
  36. &F77_lda);
  37. }
  38. else cblas_xerbla(1, "cblas_zgeru", "Illegal layout setting, %d\n", layout);
  39. CBLAS_CallFromC = 0;
  40. RowMajorStrg = 0;
  41. return;
  42. }