LAPACK  3.10.1
LAPACK: Linear Algebra PACKage
xerbla.c
Go to the documentation of this file.
1 #include <stdio.h>
2 #include <ctype.h>
3 #include "cblas.h"
4 #include "cblas_f77.h"
5 
6 #define XerblaStrLen 6
7 #define XerblaStrLen1 7
8 
9 void
10 #ifdef HAS_ATTRIBUTE_WEAK_SUPPORT
11 __attribute__((weak))
12 #endif
14 #ifdef F77_CHAR
15 (F77_CHAR F77_srname, void *vinfo
16 #else
17 (char *srname, void *vinfo
18 #endif
19 #ifdef BLAS_FORTRAN_STRLEN_END
20 , size_t len
21 #endif
22 )
23 {
24 #ifdef F77_CHAR
25  char *srname;
26 #endif
27 
28  char rout[] = {'c','b','l','a','s','_','\0','\0','\0','\0','\0','\0','\0'};
29 
30  int *info=vinfo;
31  int i;
32 
33  extern int CBLAS_CallFromC;
34 
35 #ifdef F77_CHAR
36  srname = F2C_STR(F77_srname, XerblaStrLen);
37 #endif
38 
39  if (CBLAS_CallFromC)
40  {
41  for(i=0; i != XerblaStrLen; i++) rout[i+6] = tolower(srname[i]);
42  rout[XerblaStrLen+6] = '\0';
43  cblas_xerbla(*info+1,rout,"");
44  }
45  else
46  {
47  fprintf(stderr, "Parameter %d to routine %s was incorrect\n",
48  *info, srname);
49  }
50 }
void cblas_xerbla(CBLAS_INT p, const char *rout, const char *form,...)
Definition: cblas_xerbla.c:12
int CBLAS_CallFromC
Definition: cblas_globals.c:1
#define XerblaStrLen
Definition: xerbla.c:6
void F77_xerbla_base(char *srname, void *vinfo)
Definition: xerbla.c:17