diff options
author | Pearu Peterson <pearu.peterson@gmail.com> | 2008-04-09 11:53:02 +0000 |
---|---|---|
committer | Pearu Peterson <pearu.peterson@gmail.com> | 2008-04-09 11:53:02 +0000 |
commit | e50fa8e71482160e31d99a3561a433d06217f4c7 (patch) | |
tree | ede33bd9ecdc6644ece136cbd28e2cc3b9bd084f /numpy/f2py | |
parent | bda689eb9b31e7b8b9c852d2a4c9ea261fa4810e (diff) | |
download | numpy-e50fa8e71482160e31d99a3561a433d06217f4c7.tar.gz |
Fix issue 587
Diffstat (limited to 'numpy/f2py')
-rw-r--r-- | numpy/f2py/auxfuncs.py | 28 | ||||
-rw-r--r-- | numpy/f2py/rules.py | 17 |
2 files changed, 35 insertions, 10 deletions
diff --git a/numpy/f2py/auxfuncs.py b/numpy/f2py/auxfuncs.py index e033e5630..fb82c28df 100644 --- a/numpy/f2py/auxfuncs.py +++ b/numpy/f2py/auxfuncs.py @@ -148,16 +148,36 @@ def isint1array(var): and get_kind(var)=='1' def isunsigned_chararray(var): - return isarray(var) and var.get('typespec')=='integer' and get_kind(var)=='-1' + return isarray(var) and var.get('typespec') in ['integer', 'logical']\ + and get_kind(var)=='-1' def isunsigned_shortarray(var): - return isarray(var) and var.get('typespec')=='integer' and get_kind(var)=='-2' + return isarray(var) and var.get('typespec') in ['integer', 'logical']\ + and get_kind(var)=='-2' def isunsignedarray(var): - return isarray(var) and var.get('typespec')=='integer' and get_kind(var)=='-4' + return isarray(var) and var.get('typespec') in ['integer', 'logical']\ + and get_kind(var)=='-4' def isunsigned_long_longarray(var): - return isarray(var) and var.get('typespec')=='integer' and get_kind(var)=='-8' + return isarray(var) and var.get('typespec') in ['integer', 'logical']\ + and get_kind(var)=='-8' + +def issigned_chararray(var): + return isarray(var) and var.get('typespec') in ['integer', 'logical']\ + and get_kind(var)=='1' + +def issigned_shortarray(var): + return isarray(var) and var.get('typespec') in ['integer', 'logical']\ + and get_kind(var)=='2' + +def issigned_array(var): + return isarray(var) and var.get('typespec') in ['integer', 'logical']\ + and get_kind(var)=='4' + +def issigned_long_longarray(var): + return isarray(var) and var.get('typespec') in ['integer', 'logical']\ + and get_kind(var)=='8' def isallocatable(var): return 'attrspec' in var and 'allocatable' in var['attrspec'] diff --git a/numpy/f2py/rules.py b/numpy/f2py/rules.py index f9bf5dcd9..825b13b23 100644 --- a/numpy/f2py/rules.py +++ b/numpy/f2py/rules.py @@ -517,12 +517,17 @@ rout_rules=[ ################ Rules for arguments ################## typedef_need_dict = {islong_long:'long_long', - islong_double:'long_double', - islong_complex:'complex_long_double', - isunsigned_char:'unsigned_char', - isunsigned_short:'unsigned_short', - isunsigned:'unsigned', - isunsigned_long_long:'unsigned_long_long'} + islong_double:'long_double', + islong_complex:'complex_long_double', + isunsigned_char:'unsigned_char', + isunsigned_short:'unsigned_short', + isunsigned:'unsigned', + isunsigned_long_long:'unsigned_long_long', + isunsigned_chararray:'unsigned_char', + isunsigned_shortarray:'unsigned_short', + isunsigned_long_longarray:'unsigned_long_long', + issigned_long_longarray:'long_long', + } aux_rules=[ { |