summaryrefslogtreecommitdiff
path: root/numpy/lib
diff options
context:
space:
mode:
Diffstat (limited to 'numpy/lib')
-rw-r--r--numpy/lib/convertnumericA.py173
-rw-r--r--numpy/lib/convertnumericB.py135
2 files changed, 0 insertions, 308 deletions
diff --git a/numpy/lib/convertnumericA.py b/numpy/lib/convertnumericA.py
deleted file mode 100644
index 72cc33acb..000000000
--- a/numpy/lib/convertnumericA.py
+++ /dev/null
@@ -1,173 +0,0 @@
-"""
-This module converts code written for Numeric to run with numpy
-
-Makes the following changes:
- * Changes import statements (warns of use of from Numeric import *)
- * Changes import statements (using numerix) ...
- * Makes search and replace changes to:
- - .typecode()
- - .iscontiguous()
- - .byteswapped()
- - .itemsize()
- - .toscalar()
- * Converts .flat to .ravel() except for .flat = xxx or .flat[xxx]
- * Replace xxx.spacesaver() with True
- * Convert xx.savespace(?) to pass + ## xx.savespace(?)
-
- * Converts uses of 'b' to 'B' in the typecode-position of
- functions:
- eye, tri (in position 4)
- ones, zeros, identity, empty, array, asarray, arange,
- fromstring, indices, array_constructor (in position 2)
-
- and methods:
- astype --- only argument
-"""
-__all__ = ['fromfile', 'fromstr']
-
-import sys
-import os
-import re
-import glob
-
-
-_func4 = ['eye', 'tri']
-_meth1 = ['astype']
-_func2 = ['ones', 'zeros', 'identity', 'fromstring', 'indices',
- 'empty', 'array', 'asarray', 'arange', 'array_constructor']
-
-func_re = {}
-
-for name in _func2:
- _astr = r"""(%s\s*[(][^,]*?[,][^'"]*?['"])b(['"][^)]*?[)])"""%name
- func_re[name] = re.compile(_astr, re.DOTALL)
-
-for name in _func4:
- _astr = r"""(%s\s*[(][^,]*?[,][^,]*?[,][^,]*?[,][^'"]*?['"])b(['"][^)]*?[)])"""%name
- func_re[name] = re.compile(_astr, re.DOTALL)
-
-for name in _meth1:
- _astr = r"""(.%s\s*[(][^'"]*?['"])b(['"][^)]*?[)])"""%name
- func_re[name] = re.compile(_astr, re.DOTALL)
-
-def fixtypechars(fstr):
- for name in _func2 + _func4 + _meth1:
- fstr = func2_re[name].sub('\\1B\\2',fstr)
- return fstr
-
-flatindex_re = re.compile('([.]flat(\s*?[[=]))')
-
-def changeimports(fstr, name, newname):
- importstr = 'import %s' % name
- importasstr = 'import %s as ' % name
- fromstr = 'from %s import ' % name
- fromall=0
-
- fstr = fstr.replace(importasstr, 'import %s as ' % newname)
- fstr = fstr.replace(importstr, 'import %s as %s' % (newname,name))
-
- ind = 0
- Nlen = len(fromstr)
- Nlen2 = len("from %s import " % newname)
- while 1:
- found = fstr.find(fromstr,ind)
- if (found < 0):
- break
- ind = found + Nlen
- if fstr[ind] == '*':
- continue
- fstr = "%sfrom %s import %s" % (fstr[:found], newname, fstr[ind:])
- ind += Nlen2 - Nlen
- return fstr, fromall
-
-def replaceattr(astr):
- astr = astr.replace(".typecode()",".dtype.char")
- astr = astr.replace(".iscontiguous()",".flags.contiguous")
- astr = astr.replace(".byteswapped()",".byteswap()")
- astr = astr.replace(".toscalar()", ".item()")
- astr = astr.replace(".itemsize()",".itemsize")
- # preserve uses of flat that should be o.k.
- tmpstr = flatindex_re.sub(r"@@@@\2",astr)
- # replace other uses of flat
- tmpstr = tmpstr.replace(".flat",".ravel()")
- # put back .flat where it was valid
- astr = tmpstr.replace("@@@@", ".flat")
- return astr
-
-svspc2 = re.compile(r'([^,(\s]+[.]spacesaver[(][)])')
-svspc3 = re.compile(r'(\S+[.]savespace[(].*[)])')
-#shpe = re.compile(r'(\S+\s*)[.]shape\s*=[^=]\s*(.+)')
-def replaceother(astr):
- astr = svspc2.sub('True',astr)
- astr = svspc3.sub(r'pass ## \1', astr)
- #astr = shpe.sub('\\1=\\1.reshape(\\2)', astr)
- return astr
-
-import datetime
-def fromstr(filestr):
- filestr = fixtypechars(filestr)
- filestr, fromall1 = changeimports(filestr, 'Numeric', 'numpy.oldnumeric')
- filestr, fromall1 = changeimports(filestr, 'multiarray','numpy.oldnumeric')
- filestr, fromall1 = changeimports(filestr, 'umath', 'numpy.oldnumeric')
- filestr, fromall1 = changeimports(filestr, 'Precision', 'numpy.oldnumeric.precision')
- filestr, fromall1 = changeimports(filestr, 'UserArray', 'numpy.oldnumeric.user_array')
- filestr, fromall1 = changeimports(filestr, 'ArrayPrinter', 'numpy.oldnumeric.array_printer')
- filestr, fromall2 = changeimports(filestr, 'numerix', 'numpy.oldnumeric')
- filestr, fromall3 = changeimports(filestr, 'scipy_base', 'numpy.oldnumeric')
- filestr, fromall3 = changeimports(filestr, 'Matrix', 'numpy.oldnumeric.matrix')
- filestr, fromall3 = changeimports(filestr, 'MLab', 'numpy.oldnumeric.mlab')
- filestr, fromall3 = changeimports(filestr, 'LinearAlgebra', 'numpy.oldnumeric.linear_algebra')
- filestr, fromall3 = changeimports(filestr, 'RNG', 'numpy.oldnumeric.rng')
- filestr, fromall3 = changeimports(filestr, 'RNG.Statistics', 'numpy.oldnumeric.rng_stats')
- filestr, fromall3 = changeimports(filestr, 'RandomArray', 'numpy.oldnumeric.random_array')
- filestr, fromall3 = changeimports(filestr, 'FFT', 'numpy.oldnumeric.fft')
- filestr, fromall3 = changeimports(filestr, 'MA', 'numpy.oldnumeric.ma')
- fromall = fromall1 or fromall2 or fromall3
- filestr = replaceattr(filestr)
- filestr = replaceother(filestr)
- today = datetime.date.today().strftime('%b %d, %Y')
- name = os.path.split(sys.argv[0])[-1]
- filestr = '## Automatically adapted for '\
- 'numpy.oldnumeric %s by %s\n\n%s' % (today, name, filestr)
- return filestr
-
-def makenewfile(name, filestr):
- fid = file(name, 'w')
- fid.write(filestr)
- fid.close()
-
-def getandcopy(name):
- fid = file(name)
- filestr = fid.read()
- fid.close()
- base, ext = os.path.splitext(name)
- makenewfile(base+'.orig', filestr)
- return filestr
-
-def convertfile(filename):
- """Convert the filename given from using Numeric to using NumPy
-
- Copies the file to filename.orig and then over-writes the file
- with the updated code
- """
- filestr = getandcopy(filename)
- filestr = fromstr(filestr)
- makenewfile(filename, filestr)
-
-def fromargs(args):
- filename = args[1]
- convertfile(filename)
-
-def convertall(direc=os.path.curdir):
- """Convert all .py files to use numpy.oldnumeric (from Numeric) in the directory given
-
- For each file, a backup of <usesnumeric>.py is made as
- <usesnumeric>.py.orig. A new file named <usesnumeric>.py
- is then written with the updated code.
- """
- files = glob.glob(os.path.join(direc,'*.py'))
- for afile in files:
- convertfile(afile)
-
-if __name__ == '__main__':
- fromargs(sys.argv)
diff --git a/numpy/lib/convertnumericB.py b/numpy/lib/convertnumericB.py
deleted file mode 100644
index c1c8ae072..000000000
--- a/numpy/lib/convertnumericB.py
+++ /dev/null
@@ -1,135 +0,0 @@
-"""
-This module converts code written for numpy.oldnumeric to work
-with numpy
-
-Makes the following changes:
- * Converts typecharacters '1swu' to 'bhHI' respectively
- when used as typecodes
- * Changes import statements
- * Change typecode= to dtype=
- * Eliminates savespace=xxx keyword arguments
- * Removes it when keyword is not given as well
- * replaces matrixmultiply with dot
- * converts functions that don't give axis= keyword that have changed
- * converts functions that don't give typecode= keyword that have changed
- * converts use of capitalized type-names
- * converts old function names in oldnumeric.linear_algebra,
- oldnumeric.random_array, and oldnumeric.fft
-
-"""
-#__all__ = ['fromfile', 'fromstr']
-__all__ = []
-
-import warnings
-warnings.warn("convetnumericB is not finished yet.")
-
-import sys
-import os
-import re
-import glob
-
-# To convert typecharacters we need to
-# Not very safe. Disabled for now..
-def replacetypechars(astr):
- astr = astr.replace("'s'","'h'")
- astr = astr.replace("'b'","'B'")
- astr = astr.replace("'1'","'b'")
- astr = astr.replace("'w'","'H'")
- astr = astr.replace("'u'","'I'")
- return astr
-
-def changeimports(fstr, name, newname):
- importstr = 'import %s' % name
- importasstr = 'import %s as ' % name
- fromstr = 'from %s import ' % name
- fromall=0
-
- fstr = fstr.replace(importasstr, 'import %s as ' % newname)
- fstr = fstr.replace(importstr, 'import %s as %s' % (newname,name))
-
- ind = 0
- Nlen = len(fromstr)
- Nlen2 = len("from %s import " % newname)
- while 1:
- found = fstr.find(fromstr,ind)
- if (found < 0):
- break
- ind = found + Nlen
- if fstr[ind] == '*':
- continue
- fstr = "%sfrom %s import %s" % (fstr[:found], newname, fstr[ind:])
- ind += Nlen2 - Nlen
- return fstr, fromall
-
-def replaceattr(astr):
- astr = astr.replace("matrixmultiply","dot")
- return astr
-
-def replaceother(astr):
- astr = re.sub(r'typecode\s*=', 'dtype=', astr)
- astr = astr.replace('ArrayType', 'ndarray')
- astr = astr.replace('NewAxis', 'newaxis')
- return astr
-
-import datetime
-def fromstr(filestr):
- #filestr = replacetypechars(filestr)
- filestr, fromall1 = changeimports(filestr, 'numpy.oldnumeric', 'numpy')
- filestr, fromall1 = changeimports(filestr, 'numpy.core.multiarray', 'numpy')
- filestr, fromall1 = changeimports(filestr, 'numpy.core.umath', 'numpy')
- filestr, fromall3 = changeimports(filestr, 'LinearAlgebra',
- 'numpy.linalg.old')
- filestr, fromall3 = changeimports(filestr, 'RNG', 'numpy.random.oldrng')
- filestr, fromall3 = changeimports(filestr, 'RNG.Statistics', 'numpy.random.oldrngstats')
- filestr, fromall3 = changeimports(filestr, 'RandomArray', 'numpy.random.oldrandomarray')
- filestr, fromall3 = changeimports(filestr, 'FFT', 'numpy.fft.old')
- filestr, fromall3 = changeimports(filestr, 'MA', 'numpy.core.ma')
- fromall = fromall1 or fromall2 or fromall3
- filestr = replaceattr(filestr)
- filestr = replaceother(filestr)
- today = datetime.date.today().strftime('%b %d, %Y')
- name = os.path.split(sys.argv[0])[-1]
- filestr = '## Automatically adapted for '\
- 'numpy %s by %s\n\n%s' % (today, name, filestr)
- return filestr
-
-def makenewfile(name, filestr):
- fid = file(name, 'w')
- fid.write(filestr)
- fid.close()
-
-def getandcopy(name):
- fid = file(name)
- filestr = fid.read()
- fid.close()
- base, ext = os.path.splitext(name)
- makenewfile(base+'.orig', filestr)
- return filestr
-
-def convertfile(filename):
- """Convert the filename given from using Numeric to using NumPy
-
- Copies the file to filename.orig and then over-writes the file
- with the updated code
- """
- filestr = getandcopy(filename)
- filestr = fromstr(filestr)
- makenewfile(filename, filestr)
-
-def fromargs(args):
- filename = args[1]
- convertfile(filename)
-
-def convertall(direc=os.path.curdir):
- """Convert all .py files to use NumPy (from Numeric) in the directory given
-
- For each file, a backup of <usesnumeric>.py is made as
- <usesnumeric>.py.orig. A new file named <usesnumeric>.py
- is then written with the updated code.
- """
- files = glob.glob(os.path.join(direc,'*.py'))
- for afile in files:
- convertfile(afile)
-
-if __name__ == '__main__':
- fromargs(sys.argv)