summaryrefslogtreecommitdiff
path: root/numpy/f2py/src/fortranobject.c
Commit message (Collapse)AuthorAgeFilesLines
* MAINT: Hard tab and whitespace cleanup.Charles Harris2018-03-081-42/+43
|
* DOC: fix minor typosUnknown2017-12-121-3/+3
|
* f2py: rename internal functionNico Schlömer2017-08-281-3/+3
|
* f2py: allow Fortran arrays of dimension 0Nico Schlömer2017-08-281-1/+1
| | | | | | | | | | | | Up until now, f2py throw an error when arrays were declared which had dimension of length 0. This, however, is a perfectly legal case, and in fact occurs frequently in the context of linear algrebra. This bug was discovered, for example, in an interface that does matrix tridiagonalization. If the matrix is 1x1, the super- and subdiagonal are of length 0. Note that negative dimensions continue to produce errors although Fortran also allows this (it always allocates to size max(0, n)).
* BUG: f2py: Convert some error messages printed to stderr to exceptions.Warren Weckesser2017-08-261-38/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In f2py/src/fortranobject.c, the function `check_and_fix_dimensions` does pretty much what it says on the tin: /* This function fills in blanks (that are -1\'s) in dims list using the dimensions from arr. It also checks that non-blank dims will match with the corresponding values in arr dimensions. */ There are several error conditions detected by the function. In the code before this change, when the function detected such an error, it would print a message to stderr and return 1. In this change, when an error is detected in `check_and_fix_dimensions`, an exception is set. This new feature of `check_and_fix_dimensions` is used in three places in the function `array_from_pyobj()`. In each case, there was an old comment of the form: /* XXX: set exception */ In this change, the exception is now set in `check_and_fix_dimensions()`, so those comments have been removed. For some error conditions, the new code changes the exception that is raised. For example, here's a scipy test before this change: ``` In [5]: from scipy.linalg import _fblas as fblas In [6]: a = np.array([[1., 0.], [0., -2.], [2., 3.]]) In [7]: b = np.array([[0., 1.], [1., 0.], [0, 1.]]) In [8]: fblas.dsyr2k(a=a, b=b, alpha=1.0, c=np.zeros((15, 8))) 0-th dimension must be fixed to 3 but got 15 --------------------------------------------------------------------------- error Traceback (most recent call last) <ipython-input-8-bc4d51f8d016> in <module>() ----> 1 f(a=a, b=b, alpha=1.0, c=np.zeros((15, 8))) error: failed in converting 2nd keyword `c' of _fblas.dsyr2k to C/Fortran array ``` After this change, we get: ``` In [2]: from scipy.linalg import _fblas as fblas In [3]: a = np.array([[1., 0.], [0., -2.], [2., 3.]]) In [4]: b = np.array([[0., 1.], [1., 0.], [0, 1.]]) In [5]: fblas.dsyr2k(a=a, b=b, alpha=1.0, c=np.zeros((15, 8))) --------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-6-bc4d51f8d016> in <module>() ----> 1 f(a=a, b=b, alpha=1.0, c=np.zeros((15, 8))) ValueError: 0-th dimension must be fixed to 3 but got 15 ``` The spurious print has been changed to the exception message, but some potentially useful information in the old exception message has been lost.
* BUG: ')' is printed at the end pointer of the buffer in numpy.f2py.Bob Eldering2017-07-051-2/+1
| | | | | | | When building the __doc__ string for Fortran objects, the ')' character, closing the dimensions list, is written 1 position beyond the allowed buffer size, instead of the current pointer in the buffer.
* ENH: Spelling fixesVille Skyttä2017-05-091-1/+1
|
* MAINT: remove usage of NPY_CHAR from f2pyJulian Taylor2017-05-021-4/+24
|
* MANT: Use Py_RETURN_NONE whenever Py_None is returnedJaime Fernandez2015-04-241-2/+1
|
* Merge pull request #5309 from rgommers/remove-f2py-deprecationCharles Harris2015-01-061-3/+0
|\ | | | | MAINT: remove NPY_NO_DEPRECATED_API define from f2py.
| * MAINT: remove NPY_NO_DEPRECATED_API define from f2py.Ralf Gommers2014-11-231-3/+0
| | | | | | | | | | See gh-5281 for discussion. With the defines in, compiling scipy 0.14.0 and below isn't possible.
* | Merge pull request #5287 from chatcannon/reconcile-c-api-with-docsJulian Taylor2014-12-101-7/+10
|\ \ | |/ |/| | | Reconcile C API with docs
| * MAINT: cast PyArray_ITEMSIZE result to avoid warningsJulian Taylor2014-12-101-3/+3
| | | | | | | | return type depends on API version used
| * MAINT: Update printf statements in fortranobject.cChris Kerr2014-12-101-5/+8
| | | | | | | | Using NPY_INTP_FMT to format PyArray_ITEMSIZE
* | MAINT: change place where NPY_NO_DEPRECATED_API is defined in f2py.Ralf Gommers2014-11-161-0/+3
|/ | | | | This makes sure to undef at the end, and by putting the define in the C code it ensures that the error message is understandable.
* DEP: Corrected some type errors that appear when enabling NPY_NO_DEPRECATED_APIChris Kerr2014-11-101-7/+7
|
* DEP: Replaced NPY_[F,C]ARRAY with NPY_ARRAY_[F,C]ARRAYChris Kerr2014-11-101-4/+4
|
* DEP: Using the internal PyArrayObject_fields API for the swap_arrays and ↵Chris Kerr2014-11-101-2/+5
| | | | dump_attrs functions
* DEP: Replaced arr->descr, arr->flags and arr->base with the PyArray_* functionsChris Kerr2014-11-101-1/+1
|
* DEP: replaced arr->dimensions with PyArray_DIMS(arr) or PyArray_DIM(arr,i)Chris Kerr2014-11-101-11/+11
|
* DEP: replaced arr->data with PyArray_DATAChris Kerr2014-11-101-1/+1
|
* DEP: Replaced arr->nd with PyArray_NDIM in fortranobject.cChris Kerr2014-11-101-18/+18
|
* MAINT: f2py: rewrite fortran_docLars Buitinck2014-09-281-68/+124
| | | | | | | | | Should not use sprintf, and certainly not with incorrect error checking (gh-5044). Entirely rewritten for readability. Also replaced a few sprintf calls that were just copying strings without interpretation by the simpler and possibly faster strcpy/strcat. (These need to be replaced by something more sensible.)
* Changed the `goto fail` to a `return PyErr_NoMemory()`Chris Kerr2014-09-041-1/+4
|
* Add NULL check after malloc() in fortranobject.cChris Kerr2014-09-041-0/+1
|
* BUG: #2408, Fix f2py Python 3 error message string bug.Charles Harris2014-02-171-8/+6
| | | | | | | | | | | | | | The original was generating an exception message and, after aliasing, calling PyBytes_AsString on a unicode string -> error. It was also leaking references, although that probably didn't matter in context. The fix here is on the cheap side, just use a C string for the message without including the extra information about the erroneous type that led to the exception. No test, I don't know how to evoke this error. Closes #2408.
* MAINT: fix some f2py related build warnings.Ralf Gommers2014-01-221-1/+1
|
* ENH: f2py: generate docstrings in Numpy docstring formatPauli Virtanen2012-11-171-1/+1
|
* STY: f2py - replace macros in old_defines.h with new.Charles Harris2012-02-041-2/+2
|
* BUG: core: use PyCapsule objects only on Python >= 3.0, stay with PyCObjects ↵Pauli Virtanen2010-07-171-2/+2
| | | | on Python 2.x
* ENH, BUG: PyCObject will be deprecated in python 2.7. So use the NpyCapsuleCharles Harris2010-05-031-4/+4
| | | | | | | compatibility functions in npy_3kcompat.h to replace the current calls. This gets rid of a number of version checks and is easier to maintain. Fix bug that was present in the ufunc _loop1d_list_free destructor in the python3k case.
* 3K: f2py: port much of f2py C code to Py3Pauli Virtanen2010-03-061-3/+60
|
* BUG: f2py: ensure that ARRAY_ISCOMPATIBLE macro handles also booleansPauli Virtanen2010-03-061-0/+1
|
* ENH: Add support for PyCapsule.Charles Harris2010-02-251-0/+55
|
* Introduced intent(align4|align8|align16) attributes. Fixes scipy ticket 794 ↵Pearu Peterson2009-10-251-1/+10
| | | | after using intent(align8) in the corresponding scipy pyf files.
* Changed an idiom of appending strings to a buffer. Fixes numpy ticket 792.Pearu Peterson2008-05-151-12/+39
|
* Catch wrong array sizes when the length of an array is 1.Pearu Peterson2008-01-251-7/+16
|
* Fix whitespace to conform to Python 3000 convention.Stefan van der Walt2007-08-211-602/+603
|
* Fix some reference-count problems in f2py with data-type objects.Travis Oliphant2006-10-301-12/+21
|
* More f2py changesTravis Oliphant2006-07-081-20/+20
|
* More fixes to f2pyTravis Oliphant2006-07-081-4/+4
|
* Fix f2py to use new namesTravis Oliphant2006-07-081-17/+17
|
* Fix missing error check.Travis Oliphant2006-04-271-0/+1
|
* Fix f2py to handle character arrays in common blocksTravis Oliphant2006-03-081-5/+27
|
* Fixed f2py bug in calculating dims vector when expected rank equals to array ↵Pearu Peterson2006-01-251-29/+36
| | | | rank.
* Remove bad 'fix' for f2pyTravis Oliphant2006-01-241-2/+4
|
* Comment change in fortranobject.c better.Travis Oliphant2006-01-221-0/+4
|
* Added LICENSE.txt to distribution. Fixed f2py check_and_fix_dimensions to ↵Travis Oliphant2006-01-221-0/+14
| | | | not reverse dimensions.
* Fixed up PyArray_FromAny and friends for API --- recompile extensions...Travis Oliphant2006-01-191-1/+1
|
* Moved scipy directory to numpyTravis Oliphant2006-01-041-0/+756