summaryrefslogtreecommitdiff
path: root/numpy
diff options
context:
space:
mode:
Diffstat (limited to 'numpy')
-rw-r--r--numpy/linalg/python_xerbla.c36
-rw-r--r--numpy/linalg/pythonxerbla.c33
-rw-r--r--numpy/linalg/setup.py4
3 files changed, 38 insertions, 35 deletions
diff --git a/numpy/linalg/python_xerbla.c b/numpy/linalg/python_xerbla.c
new file mode 100644
index 000000000..ed0cac9b5
--- /dev/null
+++ b/numpy/linalg/python_xerbla.c
@@ -0,0 +1,36 @@
+#include "Python.h"
+#include "f2c.h"
+
+/*
+ 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[strlen(format) + 6 + 4]; /* 6 for name, 4 for param. num. */
+
+ int len = 0; /* length of subroutine name*/
+ while( len<6 && srname[len]!='\0' )
+ len++;
+ while( len && srname[len-1]==' ' )
+ len--;
+
+ snprintf(buf, sizeof(buf), format, len, srname, *info);
+ PyErr_SetString(PyExc_ValueError, buf);
+ return 0;
+}
diff --git a/numpy/linalg/pythonxerbla.c b/numpy/linalg/pythonxerbla.c
deleted file mode 100644
index 2473670dc..000000000
--- a/numpy/linalg/pythonxerbla.c
+++ /dev/null
@@ -1,33 +0,0 @@
-#include "Python.h"
-#include "f2c.h"
-
-/*
- 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)
-{
- char format[] = "On entry to %.*s" \
- " parameter number %d had an illegal value";
- char buf[70]; /* 6 for name, 4 for param. num. */
-
- int len = 0; /* length of subroutine name*/
- while( len<6 && srname[len]!='\0' )
- len++;
- while( len && srname[len-1]==' ' )
- len--;
- snprintf(buf, sizeof(buf), format, len, srname, *info);
- PyErr_SetString(PyExc_ValueError, buf);
- return 0;
-}
diff --git a/numpy/linalg/setup.py b/numpy/linalg/setup.py
index 5a385777d..fff4ca980 100644
--- a/numpy/linalg/setup.py
+++ b/numpy/linalg/setup.py
@@ -16,14 +16,14 @@ def configuration(parent_package='',top_path=None):
return ext.depends[:-1]
else:
if sys.platform=='win32':
- print "### Warning: pythonxerbla.c is disabled ###"
+ print "### Warning: python_xerbla.c is disabled ###"
return ext.depends[:1]
return ext.depends[:2]
config.add_extension('lapack_lite',
sources = [get_lapack_lite_sources],
depends= ['lapack_litemodule.c',
- 'pythonxerbla.c',
+ 'python_xerbla.c',
'zlapack_lite.c', 'dlapack_lite.c',
'blas_lite.c', 'dlamch.c',
'f2c_lite.c','f2c.h'],