diff options
Diffstat (limited to 'numpy/oldnumeric')
-rw-r--r-- | numpy/oldnumeric/compat.py | 171 | ||||
-rw-r--r-- | numpy/oldnumeric/tests/test_oldnumeric.py | 86 |
2 files changed, 257 insertions, 0 deletions
diff --git a/numpy/oldnumeric/compat.py b/numpy/oldnumeric/compat.py new file mode 100644 index 000000000..ca9d32044 --- /dev/null +++ b/numpy/oldnumeric/compat.py @@ -0,0 +1,171 @@ +# Compatibility module containing deprecated names + +__all__ = ['NewAxis', + 'UFuncType', 'UfuncType', 'ArrayType', 'arraytype', + 'LittleEndian', 'Bool', + 'Character', 'UnsignedInt8', 'UnsignedInt16', 'UnsignedInt', 'UInt', + 'UInt8','UInt16','UInt32', 'UnsignedInt32', 'UnsignedInteger', + # UnsignedInt64 and Unsigned128 added below if possible + # same for Int64 and Int128, Float128, and Complex128 + 'Int8', 'Int16', 'Int32', + 'Int0', 'Int', 'Float0', 'Float', 'Complex0', 'Complex', + 'PyObject', 'Float32', 'Float64', 'Float16', 'Float8', + 'Complex32', 'Complex64', 'Complex8', 'Complex16', + 'sarray', 'arrayrange', 'cross_correlate', + 'matrixmultiply', 'outerproduct', 'innerproduct', + 'cross_product', 'array_constructor', + 'DumpArray', 'LoadArray', 'multiarray', 'divide_safe', + # from cPickle + 'dump', 'dumps' + ] + +import numpy.core.multiarray as mu +import numpy.core.umath as um +import numpy.core.numerictypes as nt +from numpy.core.numeric import asarray, array, asanyarray, \ + correlate, outer, concatenate, cross +from numpy.core.umath import sign, absolute, multiply +import numpy.core.numeric as _nx +import sys +_dt_ = nt.sctype2char + +import types + +from cPickle import dump, dumps + +multiarray = mu + +def sarray(a, dtype=None, copy=False): + return array(a, dtype, copy) + +#Use this to add a new axis to an array +#compatibility only +NewAxis = None + +#deprecated +UFuncType = type(um.sin) +UfuncType = type(um.sin) +ArrayType = mu.ndarray +arraytype = mu.ndarray + +LittleEndian = (sys.byteorder == 'little') + +# backward compatible names from old Precision.py + +Character = 'S1' +UnsignedInt8 = _dt_(nt.uint8) +UInt8 = UnsignedInt8 +UnsignedInt16 = _dt_(nt.uint16) +UInt16 = UnsignedInt16 +UnsignedInt32 = _dt_(nt.uint32) +UInt32 = UnsignedInt32 +UnsignedInt = _dt_(nt.uint) +UInt = UnsignedInt + +try: + UnsignedInt64 = _dt_(nt.uint64) +except AttributeError: + pass +else: + UInt64 = UnsignedInt64 + __all__ += ['UnsignedInt64', 'UInt64'] +try: + UnsignedInt128 = _dt_(nt.uint128) +except AttributeError: + pass +else: + UInt128 = UnsignedInt128 + __all__ += ['UnsignedInt128','UInt128'] + +Int8 = _dt_(nt.int8) +Int16 = _dt_(nt.int16) +Int32 = _dt_(nt.int32) + +try: + Int64 = _dt_(nt.int64) +except AttributeError: + pass +else: + __all__ += ['Int64'] + +try: + Int128 = _dt_(nt.int128) +except AttributeError: + pass +else: + __all__ += ['Int128'] + +Bool = _dt_(bool) +Int0 = _dt_(int) +Int = _dt_(int) +Float0 = _dt_(float) +Float = _dt_(float) +Complex0 = _dt_(complex) +Complex = _dt_(complex) +PyObject = _dt_(nt.object_) +Float32 = _dt_(nt.float32) +Float64 = _dt_(nt.float64) + +Float16='f' +Float8='f' +UnsignedInteger='L' +Complex8='F' +Complex16='F' + +try: + Float128 = _dt_(nt.float128) +except AttributeError: + pass +else: + __all__ += ['Float128'] + +Complex32 = _dt_(nt.complex64) +Complex64 = _dt_(nt.complex128) + +try: + Complex128 = _dt_(nt.complex256) +except AttributeError: + pass +else: + __all__ += ['Complex128'] + +def _deprecate(func, oldname, newname): + import warnings + def newfunc(*args,**kwds): + warnings.warn("%s is deprecated, use %s" % (oldname, newname), + DeprecationWarning) + return func(*args, **kwds) + return newfunc + +# backward compatibility +arrayrange = _deprecate(mu.arange, 'arrayrange', 'arange') +cross_correlate = _deprecate(correlate, 'cross_correlate', 'correlate') +cross_product = _deprecate(cross, 'cross_product', 'cross') +divide_safe = _deprecate(um.divide, 'divide_safe', 'divide') + +# deprecated names +matrixmultiply = _deprecate(mu.dot, 'matrixmultiply', 'dot') +outerproduct = _deprecate(outer, 'outerproduct', 'outer') +innerproduct = _deprecate(mu.inner, 'innerproduct', 'inner') + + + +def DumpArray(m, fp): + m.dump(fp) + +def LoadArray(fp): + import cPickle + return cPickle.load(fp) + +def array_constructor(shape, typecode, thestr, Endian=LittleEndian): + if typecode == "O": + x = array(thestr, "O") + else: + x = mu.fromstring(thestr, typecode) + x.shape = shape + if LittleEndian != Endian: + return x.byteswap(TRUE) + else: + return x + + diff --git a/numpy/oldnumeric/tests/test_oldnumeric.py b/numpy/oldnumeric/tests/test_oldnumeric.py new file mode 100644 index 000000000..14d5dfd84 --- /dev/null +++ b/numpy/oldnumeric/tests/test_oldnumeric.py @@ -0,0 +1,86 @@ +from numpy.testing import * + +from numpy import array +from numpy.oldnumeric import * +from numpy.core.numeric import float32, float64, complex64, complex128, int8, \ + int16, int32, int64, uint, uint8, uint16, uint32, uint64 + +class test_oldtypes(NumPyTestCase): + def check_oldtypes(self, level=1): + a1 = array([0,1,0], Float) + a2 = array([0,1,0], float) + assert_array_equal(a1, a2) + a1 = array([0,1,0], Float8) + a2 = array([0,1,0], float) + assert_array_equal(a1, a2) + a1 = array([0,1,0], Float16) + a2 = array([0,1,0], float) + assert_array_equal(a1, a2) + a1 = array([0,1,0], Float32) + a2 = array([0,1,0], float32) + assert_array_equal(a1, a2) + a1 = array([0,1,0], Float64) + a2 = array([0,1,0], float64) + assert_array_equal(a1, a2) + a1 = array([0,1,0], Complex) + a2 = array([0,1,0], complex) + assert_array_equal(a1, a2) + a1 = array([0,1,0], Complex8) + a2 = array([0,1,0], complex) + assert_array_equal(a1, a2) + a1 = array([0,1,0], Complex16) + a2 = array([0,1,0], complex) + assert_array_equal(a1, a2) + a1 = array([0,1,0], Complex32) + a2 = array([0,1,0], complex64) + assert_array_equal(a1, a2) + a1 = array([0,1,0], Complex64) + a2 = array([0,1,0], complex128) + assert_array_equal(a1, a2) + a1 = array([0,1,0], Int) + a2 = array([0,1,0], int) + assert_array_equal(a1, a2) + a1 = array([0,1,0], Int8) + a2 = array([0,1,0], int8) + assert_array_equal(a1, a2) + a1 = array([0,1,0], Int16) + a2 = array([0,1,0], int16) + assert_array_equal(a1, a2) + a1 = array([0,1,0], Int32) + a2 = array([0,1,0], int32) + assert_array_equal(a1, a2) + a1 = array([0,1,0], Int64) + a2 = array([0,1,0], int64) + assert_array_equal(a1, a2) + a1 = array([0,1,0], UnsignedInt) + a2 = array([0,1,0], UnsignedInteger) + a3 = array([0,1,0], uint) + assert_array_equal(a1, a3) + assert_array_equal(a2, a3) + a1 = array([0,1,0], UInt8) + a2 = array([0,1,0], UnsignedInt8) + a3 = array([0,1,0], uint8) + assert_array_equal(a1, a3) + assert_array_equal(a2, a3) + a1 = array([0,1,0], UInt16) + a2 = array([0,1,0], UnsignedInt16) + a3 = array([0,1,0], uint16) + assert_array_equal(a1, a3) + assert_array_equal(a2, a3) + a1 = array([0,1,0], UInt32) + a2 = array([0,1,0], UnsignedInt32) + a3 = array([0,1,0], uint32) + assert_array_equal(a1, a3) + assert_array_equal(a2, a3) + a1 = array([0,1,0], UInt64) + a2 = array([0,1,0], UnsignedInt64) + a3 = array([0,1,0], uint64) + assert_array_equal(a1, a3) + assert_array_equal(a2, a3) + a1 = array([0,1,0], Bool) + a2 = array([0,1,0], bool) + assert_array_equal(a1, a2) + + +if __name__ == "__main__": + NumPyTest().run() |