Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Regenerating lapack_lite source

Authors: David M. Cooke <[email protected]>
Eric Wieser (upgraded lapack version on 2017-03-26)

The numpy/linalg/f2c_*.c files are f2c'd versions of the LAPACK routines required by the LinearAlgebra module, and wrapped by the lapack_lite module. The scripts in this directory can be used to create these files automatically from a directory of LAPACK source files.

You'll need plex 2.0.0dev, available from PyPI, installed to do the appropriate scrubbing. As of writing, this is only available for python 2.7, and is unlikely to ever be ported to python 3. As a result, all the Python scripts in this directory must remain compatible with Python 2.7, even though NumPy itself no longer supports this version, until these scripts are rewritten to use something other than plex.

The routines that lapack_litemodule.c wraps are listed in wrapped_routines, along with a few exceptions that aren't picked up properly. Assuming that you have an unpacked LAPACK source tree in /tmp/lapack-3.x.x, you generate the new routines in this directory with:

$ ./make_lite.py wrapped_routines /tmp/lapack-3.x.x

This will grab the right routines, with dependencies, put them into the appropriate f2c_*.f files, run f2c over them, then do some scrubbing similar to that done to generate the CLAPACK distribution.

The output C files in git use the LAPACK source from the LAPACK page, using version 3.2.2. Unfortunately, newer versions use newer FORTRAN features, which are increasingly not supported by f2c. As these are found, the patch files will need to be changed to re-express new constructs with legacy constructs.