tmp
/
pip-install-ghxuqwgs
/numpy_78e94bf2b6094bf9a1f3d92042f9bf46
/numpy
/linalg
/lapack_lite
/python_xerbla.c
| /* | |
| From the original manpage: | |
| -------------------------- | |
| XERBLA is an error handler for the LAPACK routines. | |
| It is called by an LAPACK routine if an input parameter has an invalid value. | |
| A message is printed and execution stops. | |
| Instead of printing a message and stopping the execution, a | |
| ValueError is raised with the message. | |
| Parameters: | |
| ----------- | |
| srname: Subroutine name to use in error message, maximum six characters. | |
| Spaces at the end are skipped. | |
| info: Number of the invalid parameter. | |
| */ | |
| int xerbla_(char *srname, integer *info) | |
| { | |
| const char* format = "On entry to %.*s" \ | |
| " parameter number %d had an illegal value"; | |
| char buf[57 + 6 + 4]; /* 57 for strlen(format), | |
| 6 for name, 4 for param. num. */ | |
| int len = 0; /* length of subroutine name*/ | |
| PyGILState_STATE save; | |
| while( len<6 && srname[len]!='\0' ) | |
| len++; | |
| while( len && srname[len-1]==' ' ) | |
| len--; | |
| save = PyGILState_Ensure(); | |
| PyOS_snprintf(buf, sizeof(buf), format, len, srname, *info); | |
| PyErr_SetString(PyExc_ValueError, buf); | |
| PyGILState_Release(save); | |
| return 0; | |
| } | |