Differences between revisions 1 and 2
Revision 1 as of 2008-12-27 19:46:49
Size: 3712
Comment:
Revision 2 as of 2022-04-05 00:59:33
Size: 0
Editor: mkoeppe
Comment: outdated
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= numpy =
Description: This package adds numerical linear algebra and other numerical computing
capabilities to python.

Maintainers:
  Josh Kantor
  Michael Abshoff

Upstream Contact:
  Travis Oliphant
  Fernando Perez
  Brian Granger

Dependencies:
  Python
  Lapack
  Blas
  Atlas
  Fortran

Special Update/Build Instructions:
  * The file $SAGE_ROOT/devel/sage/sage/ext/numpy.pxi comes from this file and must be updated if/when
    the file src/numpy/doc/cython/numpy.pxi is updated.

  * Josh Kantor has done this the most so get him to do it if possible.

  * To ensure that numpy compiles consistently regardless of what fortrans are on the
    users system, we patch the files
    numpy/distutiles/fcompiler/__init__.py and numpy/distutiles/fcompiler/gnu.py
    
    1. This is done by adding a Sage_FCompiler and Sage_FCompiler_1 compiler clases
    to gnu.py. Sage_FCompiler is for g95, and Sage_FCompiler_1 is for gfortran
    In updating to a newer version of numpy it is usually possible to just
    copy these classes into the new gnu.py. These classes control what flags
    are used and libraries are linked in when compiling fortran code (as well as
    the exact compiler called).
          
    2. The __init__.py file is modified so that sage_fortran is always the default
    compiler, which uses either Sage_FCompiler or Sage_FCompiler_1.
    This file changes sometimes and the exact modification necessary is not constant
    so it basically requires figuring out what is going on. For example in the current
    1.1.0:
    
    At line 682 we add sage_fortran to the beginning of the list of compilers on all
    platforms of interest, this is the _default_compilers dict.
        
    At line 701, we figure out whether we use gfortran or g95 and set cls
    to Sage_FCompiler or Sage_FCompiler_1 as appropriate (this version string test
    could probably be better but seems to work consistently).

    At line 742, we add 'sage_fortran':('gnu',cls,"GNU Fortran")
    to the dictionary of possible compilers. Since we modified the _default_compilers
    dict, sage_fortran, will be tried first and it will use the compiler class cls
    which refers to Sage_Fcompilers or Sage_FCompiler_1.

    3. Scipy uses numpy's distutils to control its compilation of fortran code.
    Whenever numpy is updated it is necessary to make sure that scipy still builds ok.


== Changelog ==

=== numpy-1.2.0.p0 (Michael Abshoff, September 27th, 2008) ===
 * quiet a couple deprecation warnings in arrayobject.c and numpytest.py. These changes need to be reverted once we update to scipy 0.7. We also need to fix some API issues in our code once those fixes are reverted - see #4205.

=== numpy-1.2.0 (Jason Grout, September 25th, 2008) ===
 * update to numpy 1.2.0, rebase and update patches

=== numpy-1.1.0.p0 (Michael Abshoff, August 27th, 2008) ===
 * clean up patches directory

=== numpy-1.1.0 (Jason Grout, July 10th, 2008) ===
 * update to numpy 1.1.0

=== numpy-20080104-1.0.4.p4 (Michael Abshoff, May 18th, 2008) ===
 * add 64 bit OSX build support

=== numpy-20080104-1.0.4.p3 (William Stein, May 16, 2008) ===
 * (Stupid) patch to numpy/linalg/setup.py to support cygwin

=== numpy-20080104-1.0.4.p2(Josh Kantor) ===
 * update gnu.py to fix issue with inline fortran on osx

=== numpy-20080104-1.0.4.p1 (Josh Kantor & Michael Abshoff) ====
 * update SPK.txt (Josh Kantor)
 * remove *~
 * update .hgignore

=== numpy-20080104-1.0.4.p0 (Michael Abshoff) ====
 * add SPKG.txt
 * create hg repo

=== numpy-20080104-1.0.4 (Josh Kantor) ====
 * update to numpy 1.0.4 (Josh Kantor)