summaryrefslogtreecommitdiff
path: root/numpy
diff options
context:
space:
mode:
Diffstat (limited to 'numpy')
-rw-r--r--numpy/linalg/lapack_lite/clapack_scrub.py18
-rwxr-xr-xnumpy/linalg/lapack_lite/make_lite.py5
2 files changed, 15 insertions, 8 deletions
diff --git a/numpy/linalg/lapack_lite/clapack_scrub.py b/numpy/linalg/lapack_lite/clapack_scrub.py
index 35d4d134e..e6f2d09f4 100644
--- a/numpy/linalg/lapack_lite/clapack_scrub.py
+++ b/numpy/linalg/lapack_lite/clapack_scrub.py
@@ -3,11 +3,15 @@
import os
import re
import sys
-from io import StringIO
from plex import Scanner, Str, Lexicon, Opt, Bol, State, AnyChar, TEXT, IGNORE
from plex.traditional import re as Re
+try:
+ from io import BytesIO as UStringIO # Python 2
+except ImportError:
+ from io import StringIO as UStringIO # Python 3
+
class MyScanner(Scanner):
def __init__(self, info, name='<default>'):
@@ -23,8 +27,8 @@ def sep_seq(sequence, sep):
return pat
def runScanner(data, scanner_class, lexicon=None):
- info = StringIO(data)
- outfo = StringIO()
+ info = UStringIO(data)
+ outfo = UStringIO()
if lexicon is not None:
scanner = scanner_class(lexicon, info)
else:
@@ -191,7 +195,7 @@ def cleanComments(source):
return SourceLines
state = SourceLines
- for line in StringIO(source):
+ for line in UStringIO(source):
state = state(line)
comments.flushTo(lines)
return lines.getValue()
@@ -219,7 +223,7 @@ def removeHeader(source):
return OutOfHeader
state = LookingForHeader
- for line in StringIO(source):
+ for line in UStringIO(source):
state = state(line)
return lines.getValue()
@@ -228,7 +232,7 @@ def removeSubroutinePrototypes(source):
r'/\* Subroutine \*/^\s*(?:(?:inline|static)\s+){0,2}(?!else|typedef|return)\w+\s+\*?\s*(\w+)\s*\([^0]+\)\s*;?'
)
lines = LineQueue()
- for line in StringIO(source):
+ for line in UStringIO(source):
if not expression.match(line):
lines.add(line)
@@ -250,7 +254,7 @@ def removeBuiltinFunctions(source):
return InBuiltInFunctions
state = LookingForBuiltinFunctions
- for line in StringIO(source):
+ for line in UStringIO(source):
state = state(line)
return lines.getValue()
diff --git a/numpy/linalg/lapack_lite/make_lite.py b/numpy/linalg/lapack_lite/make_lite.py
index 73e4d194e..398c27e94 100755
--- a/numpy/linalg/lapack_lite/make_lite.py
+++ b/numpy/linalg/lapack_lite/make_lite.py
@@ -21,7 +21,10 @@ import shutil
import fortran
import clapack_scrub
-from shutil import which
+try:
+ from distutils.spawn import find_executable as which # Python 2
+except ImportError:
+ from shutil import which # Python 3
# Arguments to pass to f2c. You'll always want -A for ANSI C prototypes
# Others of interest: -a to not make variables static by default