New upstream release, numpy v1.0.3

This commit is contained in:
Jarod Wilson 2007-06-06 14:18:31 +00:00
parent 5fcfdf5164
commit d82a9aaab7
7 changed files with 26 additions and 211 deletions

View File

@ -3,3 +3,4 @@ numpy-0.9.8.tar.gz
numpy-1.0.tar.gz
numpy-1.0.1.tar.gz
numpy-1.0.2.tar.gz
numpy-1.0.3-2.tar.gz

View File

@ -1,142 +0,0 @@
diff -ur numpy-0.9.8.orig/numpy/core/numeric.py numpy-0.9.8/numpy/core/numeric.py
--- numpy-0.9.8.orig/numpy/core/numeric.py 2006-05-17 18:48:38.000000000 -0400
+++ numpy-0.9.8/numpy/core/numeric.py 2006-09-05 16:23:00.000000000 -0400
@@ -11,6 +11,7 @@
'array2string', 'get_printoptions', 'set_printoptions',
'array_repr', 'array_str', 'set_string_function',
'little_endian',
+ 'fromiter',
'indices', 'fromfunction',
'load', 'loads', 'isscalar', 'binary_repr', 'base_repr',
'ones', 'identity', 'allclose',
@@ -67,6 +68,10 @@
# end Fernando's utilities
+def fromiter(obj, dtype=None):
+ obj = list(obj)
+ return array(obj, dtype=dtype)
+
def extend_all(module):
adict = {}
for a in __all__:
diff -ur numpy-0.9.8.orig/numpy/core/src/arrayobject.c numpy-0.9.8/numpy/core/src/arrayobject.c
--- numpy-0.9.8.orig/numpy/core/src/arrayobject.c 2006-05-13 23:42:32.000000000 -0400
+++ numpy-0.9.8/numpy/core/src/arrayobject.c 2006-09-05 16:26:47.000000000 -0400
@@ -7287,9 +7287,10 @@
adjusted */
/*OBJECT_API
- Adjusts previously broadcasted iterators so that the largest axis is not iterated
- over. Returns dimension which is largest in the range [0,multi->nd). A -1
- is returned if multi->nd == 0.
+ Adjusts previously broadcasted iterators so that the largest axis
+ is not iterated over.
+ Returns dimension which is largest in the range [0,multi->nd).
+ A -1 is returned if multi->nd == 0.
*/
static int
PyArray_RemoveLargest(PyArrayMultiIterObject *multi)
diff -ur numpy-0.9.8.orig/numpy/core/src/scalartypes.inc.src numpy-0.9.8/numpy/core/src/scalartypes.inc.src
--- numpy-0.9.8.orig/numpy/core/src/scalartypes.inc.src 2006-05-17 14:56:32.000000000 -0400
+++ numpy-0.9.8/numpy/core/src/scalartypes.inc.src 2006-09-05 16:28:32.000000000 -0400
@@ -1600,12 +1600,15 @@
/* string and unicode inherit from Python Type first and so GET_ITEM is different to
get to the Python Type.
+ ok is a work-around for a bug in complex_new that doesn't allocate
+ memory from the sub-types memory allocator.
*/
/**begin repeat
#name=byte, short, int, long, longlong, ubyte, ushort, uint, ulong, ulonglong, float, double, longdouble, cfloat, cdouble, clongdouble, string, unicode, object#
#TYPE=BYTE, SHORT, INT, LONG, LONGLONG, UBYTE, USHORT, UINT, ULONG, ULONGLONG, FLOAT, DOUBLE, LONGDOUBLE, CFLOAT, CDOUBLE, CLONGDOUBLE, STRING, UNICODE, OBJECT#
#num=1*16,0,0,1#
+#ok=0,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,1,1,1#
*/
static PyObject *
@name@_arrtype_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
@@ -1614,6 +1617,7 @@
PyObject *arr;
PyArray_Descr *typecode;
+#if @ok@
if (type->tp_bases && (PyTuple_GET_SIZE(type->tp_bases)==2)) {
PyTypeObject *sup;
PyObject *ret;
@@ -1625,6 +1629,7 @@
PyErr_Clear();
/* now do default conversion */
}
+#endif
if (!PyArg_ParseTuple(args, "O", &obj)) return NULL;
diff -ur numpy-0.9.8.orig/numpy/core/tests/test_scalarmath.py numpy-0.9.8/numpy/core/tests/test_scalarmath.py
--- numpy-0.9.8.orig/numpy/core/tests/test_scalarmath.py 2006-05-10 18:51:12.000000000 -0400
+++ numpy-0.9.8/numpy/core/tests/test_scalarmath.py 2006-09-05 16:28:58.000000000 -0400
@@ -11,55 +11,22 @@
N.single, N.double, N.longdouble, N.csingle,
N.cdouble, N.clongdouble]
-# These were generated using old umath
-typeconv = array([
- [ 0, 1, 2, 3, 4, 5, 6, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16],
- [ 1, 1, 3, 3, 4, 5, 6, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16],
- [ 2, 3, 2, 3, 4, 5, 6, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16],
- [ 3, 3, 3, 3, 5, 5, 6, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16],
- [ 4, 4, 4, 5, 4, 5, 6, 5, 6, 9, 10, 11, 12, 13, 14, 15, 16],
- [ 5, 5, 5, 5, 5, 5, 9, 5, 9, 9, 10, 12, 12, 13, 15, 15, 16],
- [ 6, 6, 6, 6, 6, 9, 6, 9, 6, 9, 10, 12, 12, 13, 15, 15, 16],
- [ 7, 7, 7, 7, 7, 7, 9, 7, 9, 9, 10, 12, 12, 13, 15, 15, 16],
- [ 8, 8, 8, 8, 8, 9, 8, 9, 8, 9, 10, 12, 12, 13, 15, 15, 16],
- [ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 12, 12, 12, 13, 15, 15, 16],
- [10, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, 12, 12, 13, 15, 15, 16],
- [11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 11, 12, 13, 14, 15, 16],
- [12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 15, 15, 16],
- [13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 16, 16, 16],
- [14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 14, 15, 16, 14, 15, 16],
- [15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 16, 15, 15, 16],
- [16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16]
- ])
-
-typeconv2 = array([
- ['?','b','B','h','H','i','I','i','I','q','Q','f','d','g','F','D','G'],
- ['b','b','h','h','H','i','I','i','I','q','Q','f','d','g','F','D','G'],
- ['B','h','B','h','H','i','I','i','I','q','Q','f','d','g','F','D','G'],
- ['h','h','h','h','i','i','I','i','I','q','Q','f','d','g','F','D','G'],
- ['H','H','H','i','H','i','I','i','I','q','Q','f','d','g','F','D','G'],
- ['i','i','i','i','i','i','q','i','q','q','Q','d','d','g','D','D','G'],
- ['I','I','I','I','I','q','I','q','I','q','Q','d','d','g','D','D','G'],
- ['l','l','l','l','l','l','q','l','q','q','Q','d','d','g','D','D','G'],
- ['L','L','L','L','L','q','L','q','L','q','Q','d','d','g','D','D','G'],
- ['q','q','q','q','q','q','q','q','q','q','d','d','d','g','D','D','G'],
- ['Q','Q','Q','Q','Q','Q','Q','Q','Q','d','Q','d','d','g','D','D','G'],
- ['f','f','f','f','f','d','d','d','d','d','d','f','d','g','F','D','G'],
- ['d','d','d','d','d','d','d','d','d','d','d','d','d','g','D','D','G'],
- ['g','g','g','g','g','g','g','g','g','g','g','g','g','g','G','G','G'],
- ['F','F','F','F','F','D','D','D','D','D','D','F','D','G','F','D','G'],
- ['D','D','D','D','D','D','D','D','D','D','D','D','D','G','D','D','G'],
- ['G','G','G','G','G','G','G','G','G','G','G','G','G','G','G','G','G']
- ],'S1')
+# This compares scalarmath against ufuncs.
class test_types(ScipyTestCase):
def check_types(self, level=1):
# list of types
for k, atype in enumerate(types):
vala = atype(3)
+ val1 = array([3],dtype=atype)
for l, btype in enumerate(types):
valb = btype(1)
+ val2 = array([1],dtype=btype)
val = vala+valb
- assert val.dtype.num == typeconv[k,l] and \
- val.dtype.char == typeconv2[k,l], \
+ valo = val1 + val2
+ assert val.dtype.num == valo.dtype.num and \
+ val.dtype.char == valo.dtype.char, \
"error with (%d,%d)" % (k,l)
+
+if __name__ == "__main__":
+ NumpyTest().run()

View File

@ -1,21 +0,0 @@
diff -ur numpy-1.0.orig/numpy/distutils/fcompiler/gnu.py numpy-1.0/numpy/distutils/fcompiler/gnu.py
--- numpy-1.0.orig/numpy/distutils/fcompiler/gnu.py 2006-10-09 03:46:59.000000000 -0400
+++ numpy-1.0/numpy/distutils/fcompiler/gnu.py 2006-10-25 13:51:18.000000000 -0400
@@ -30,7 +30,7 @@
'compiler_f77' : [fc_exe, "-g", "-Wall","-fno-second-underscore"],
'compiler_f90' : None, # Use --fcompiler=gnu95 for f90 codes
'compiler_fix' : None,
- 'linker_so' : [fc_exe, "-g", "-Wall"],
+ 'linker_so' : [fc_exe,"-shared", "-g", "-Wall"],
'archiver' : ["ar", "-cr"],
'ranlib' : ["ranlib"],
'linker_exe' : [fc_exe, "-g", "-Wall"]
@@ -257,7 +257,7 @@
'compiler_f77' : [fc_exe,"-Wall","-ffixed-form","-fno-second-underscore"],
'compiler_f90' : [fc_exe,"-Wall","-fno-second-underscore"],
'compiler_fix' : [fc_exe,"-Wall","-ffixed-form","-fno-second-underscore"],
- 'linker_so' : [fc_exe,"-Wall"],
+ 'linker_so' : [fc_exe,"-shared", "-Wall"],
'archiver' : ["ar", "-cr"],
'ranlib' : ["ranlib"],
'linker_exe' : [fc_exe,"-Wall"]

View File

@ -1,41 +0,0 @@
Index: trunk/numpy/distutils/fcompiler/gnu.py
===================================================================
--- trunk/numpy/distutils/fcompiler/gnu.py (revision 3523)
+++ trunk/numpy/distutils/fcompiler/gnu.py (revision 3538)
@@ -197,4 +197,6 @@
elif cpu.is_Nocona():
march_opt = '-march=nocona'
+ elif cpu.is_Core2():
+ march_opt = '-march=nocona'
elif cpu.is_Prescott():
march_opt = '-march=prescott'
@@ -217,5 +219,10 @@
if cpu.is_PentiumM():
march_opt = '-march=pentium-m'
-
+
+ # Future:
+ # if gnu_ver >= '4.3':
+ # if cpu.is_Core2():
+ # march_opt = '-march=core2'
+
# Note: gcc 3.2 on win32 has breakage with -march specified
if '3.1.1' <= gnu_ver <= '3.4' and sys.platform=='win32':
Index: trunk/numpy/distutils/cpuinfo.py
===================================================================
--- trunk/numpy/distutils/cpuinfo.py (revision 3520)
+++ trunk/numpy/distutils/cpuinfo.py (revision 3538)
@@ -186,6 +186,11 @@
def _is_Nocona(self):
- return self.is_PentiumIV() and self.is_64bit()
-
+ return self.is_64bit() and self.is_i686()
+
+ def _is_Core2(self):
+ return self.is_64bit() and self.is_Intel() and \
+ re.match(r'.*?Core\(TM\)2\b', \
+ self.info[0]['model name']) is not None
+
def _is_Itanium(self):
return re.match(r'.*?Itanium\b',

13
numpy-1.0.3-setup.patch Normal file
View File

@ -0,0 +1,13 @@
--- numpy-1.0.3/setup.py.orig 2007-06-06 10:06:58.000000000 -0400
+++ numpy-1.0.3/setup.py 2007-06-06 10:07:32.000000000 -0400
@@ -49,8 +49,8 @@ def configuration(parent_package='',top_
config.add_subpackage('numpy')
config.add_data_files(('numpy','*.txt'))
- config.add_data_files(('.','COMPATIBILITY'),('.','scipy_compatibility'),
- ('.','site.cfg.example'))
+ config.add_data_files(('numpy','COMPATIBILITY'),('numpy','scipy_compatibility'),
+ ('numpy','site.cfg.example'))
config.get_version('numpy/version.py') # sets config.version

View File

@ -3,16 +3,18 @@
%{!?python_version: %define python_version %(%{__python} -c 'import sys; print sys.version.split(" ")[0]' || echo "2.3")}
Name: numpy
Version: 1.0.2
Release: 2%{?dist}
Version: 1.0.3
Release: 1%{?dist}
Summary: A fast multidimensional array facility for Python
Group: Development/Languages
License: BSD
URL: http://numeric.scipy.org/
Source0: http://dl.sourceforge.net/numpy/%{name}-%{version}.tar.gz
#Source0: http://dl.sourceforge.net/numpy/%{name}-%{version}.tar.gz
# Upstream apparently had a problem with their first 1.0.3 tarball...
Source0: http://dl.sourceforge.net/numpy/%{name}-%{version}-2.tar.gz
Patch0: numpy-1.0.1-f2py.patch
Patch1: numpy-1.0-gfortran.patch
Patch1: numpy-1.0.3-setup.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: python-devel blas-devel lapack-devel python-setuptools gcc-gfortran
@ -33,9 +35,9 @@ basic linear algebra and random number generation. Also included in
this package is a version of f2py that works properly with NumPy.
%prep
%setup -q
%setup -q -n %{name}-%{version}
%patch0 -p1 -b .f2py
%patch1 -p1 -b .gfortran
%patch1 -p1 -b .setup
%build
env ATLAS=%{_libdir} FFTW=%{_libdir} BLAS=%{_libdir} \
@ -74,6 +76,9 @@ rm -rf $RPM_BUILD_ROOT
%{python_sitearch}/%{name}
%changelog
* Wed Jun 06 2007 Jarod Wilson <jwilson@redhat.com> 1.0.3-1
- New upstream release
* Mon May 14 2007 Jarod Wilson <jwilson@redhat.com> 1.0.2-2
- Drop BR: atlas-devel, since it just provides binary-compat
blas and lapack libs. Atlas can still be optionally used

View File

@ -1 +1 @@
8be83678056ae31bfe641d35bbc181f4 numpy-1.0.2.tar.gz
ff0ec1a633e426c8230b6c9d333cc1e6 numpy-1.0.3-2.tar.gz