mailr18079 - in /trunk: arg_check.py check_types.py data/relax_xml.py


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by edward on December 07, 2012 - 17:45:
Author: bugman
Date: Fri Dec  7 17:45:38 2012
New Revision: 18079

URL: http://svn.gna.org/viewcvs/relax?rev=18079&view=rev
Log:
Shifted and renamed the arg_check.check_float() function to 
check_types.is_float().


Modified:
    trunk/arg_check.py
    trunk/check_types.py
    trunk/data/relax_xml.py

Modified: trunk/arg_check.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/arg_check.py?rev=18079&r1=18078&r2=18079&view=diff
==============================================================================
--- trunk/arg_check.py (original)
+++ trunk/arg_check.py Fri Dec  7 17:45:38 2012
@@ -23,48 +23,13 @@
 """Argument checking functions for the relax user functions."""
 
 # Python module imports.
-from numpy import float32, float64, ndarray
-try:
-    from numpy import float16
-except ImportError:
-    float16 = float32    # Support for old numpy versions.
-try:
-    from numpy import float128
-except ImportError:
-    float128 = float64    # Support for 32-bit numpy versions.
+from numpy import ndarray
 
 # relax module imports.
-from check_types import is_filetype
+import check_types
 from relax_errors import RelaxBoolError, RelaxFloatError, 
RelaxFunctionError, RelaxIntError, RelaxIntListIntError, RelaxListFloatError, 
RelaxListIntError, RelaxMatrixFloatError, RelaxNoneFloatError, 
RelaxNoneFunctionError, RelaxListNumError, RelaxListStrError, RelaxNoneError, 
RelaxNoneIntError, RelaxNoneIntListIntError, RelaxNoneListFloatError, 
RelaxNoneListIntError, RelaxNoneMatrixFloatError, RelaxNoneListNumError, 
RelaxNoneListStrError, RelaxNoneNumError, RelaxNoneNumStrListNumStrError, 
RelaxNoneNumTupleNumError, RelaxNoneStrError, RelaxNoneStrFileError, 
RelaxNoneStrListNumError, RelaxNoneStrListStrError, RelaxNoneTupleError, 
RelaxNumError, RelaxNumStrListNumStrError, RelaxNumTupleNumError, 
RelaxStrError, RelaxStrFileError, RelaxStrListNumError, RelaxStrListStrError, 
RelaxTupleError, RelaxTupleNumError, RelaxNoneValListValError, 
RelaxValListValError
 from relax_io import DummyFileObject
 from types import FunctionType, MethodType
-
-
-def check_float(num):
-    """Check if the given number is a Python or numpy float.
-
-    @param num: The number to check.
-    @type num:  anything.
-    @return:    True if the number is a float, False otherwise.
-    @rtype:     bool
-    """
-
-    # Standard float.
-    if isinstance(num, float):
-        return True
-
-    # Numpy floats.
-    if isinstance(num, float16):
-        return True
-    if isinstance(num, float32):
-        return True
-    if isinstance(num, float64):
-        return True
-    if isinstance(num, float128):
-        return True
-
-    # Not a float.
-    return False
 
 
 def is_bool(arg, name=None, raise_error=True):
@@ -114,7 +79,7 @@
         return True
 
     # Check for a float.
-    if check_float(arg):
+    if check_types.is_float(arg):
         return True
 
     # Fail.
@@ -164,7 +129,7 @@
     else:
         for i in range(len(arg)):
             # Fail if not a float.
-            if not check_float(arg[i]):
+            if not check_types.is_float(arg[i]):
                 fail = True
 
     # Fail.
@@ -239,7 +204,7 @@
 
             # Check for float elements.
             for j in range(len(arg[i])):
-                if not check_float(arg[i][j]):
+                if not check_types.is_float(arg[i][j]):
                     fail = True
 
     # Fail.
@@ -578,7 +543,7 @@
         return True
 
     # Check for floats and integers (avoiding Booleans).
-    if (check_float(arg) or isinstance(arg, int)) and not isinstance(arg, 
bool):
+    if (check_types.is_float(arg) or isinstance(arg, int)) and not 
isinstance(arg, bool):
         return True
 
     # Fail.
@@ -634,7 +599,7 @@
 
         # Fail if not numbers.
         for i in range(len(arg)):
-            if (not check_float(arg[i]) and not isinstance(arg[i], int)) or 
isinstance(arg, bool):
+            if (not check_types.is_float(arg[i]) and not isinstance(arg[i], 
int)) or isinstance(arg, bool):
                 fail = True
 
     # Fail.
@@ -765,7 +730,7 @@
 
         # Fail if not numbers.
         for i in range(len(arg)):
-            if (not check_float(arg[i]) and not isinstance(arg[i], int)) or 
isinstance(arg, bool):
+            if (not check_types.is_float(arg[i]) and not isinstance(arg[i], 
int)) or isinstance(arg, bool):
                 fail = True
 
     # Fail.
@@ -917,7 +882,7 @@
         return True
 
     # Check for a string.
-    if isinstance(arg, str) or is_filetype(arg) or isinstance(arg, 
DummyFileObject):
+    if isinstance(arg, str) or check_types.is_filetype(arg) or 
isinstance(arg, DummyFileObject):
         return True
 
     # Fail.

Modified: trunk/check_types.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/check_types.py?rev=18079&r1=18078&r2=18079&view=diff
==============================================================================
--- trunk/check_types.py (original)
+++ trunk/check_types.py Fri Dec  7 17:45:38 2012
@@ -29,6 +29,15 @@
     file = None
 except ImportError:
     io_module = False
+from numpy import float32, float64, ndarray
+try:
+    from numpy import float16
+except ImportError:
+    float16 = float32    # Support for old numpy versions.
+try:
+    from numpy import float128
+except ImportError:
+    float128 = float64    # Support for 32-bit numpy versions.
 
 
 def is_filetype(obj):
@@ -49,6 +58,33 @@
         return isinstance(obj, file)
 
 
+def is_float(num):
+    """Check if the given number is a Python or numpy float.
+
+    @param num: The number to check.
+    @type num:  anything.
+    @return:    True if the number is a float, False otherwise.
+    @rtype:     bool
+    """
+
+    # Standard float.
+    if isinstance(num, float):
+        return True
+
+    # Numpy floats.
+    if isinstance(num, float16):
+        return True
+    if isinstance(num, float32):
+        return True
+    if isinstance(num, float64):
+        return True
+    if isinstance(num, float128):
+        return True
+
+    # Not a float.
+    return False
+
+
 def is_unicode(obj):
     """Check if the given Python object is a unicode string.
 

Modified: trunk/data/relax_xml.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/data/relax_xml.py?rev=18079&r1=18078&r2=18079&view=diff
==============================================================================
--- trunk/data/relax_xml.py (original)
+++ trunk/data/relax_xml.py Fri Dec  7 17:45:38 2012
@@ -24,15 +24,7 @@
 
 # Python module imports.
 import numpy
-from numpy import set_printoptions, array, float32, float64, inf, nan, 
ndarray, zeros
-try:
-    from numpy import float16
-except ImportError:
-    float16 = float32    # Support for old numpy versions.
-try:
-    from numpy import float128
-except ImportError:
-    float128 = float64    # Support for 32-bit numpy versions.
+from numpy import set_printoptions, array, inf, nan, ndarray, zeros
 from re import search
 
 # Modify numpy for better output of numbers and structures.
@@ -40,6 +32,7 @@
 
 # relax module imports.
 import arg_check
+import check_types
 from float import floatAsByteArray, packBytesAsPyFloat
 from relax_errors import RelaxError
 
@@ -136,19 +129,19 @@
     elem.setAttribute('type', py_type)
 
     # Store floats as IEEE-754 byte arrays (for full precision storage).
-    if arg_check.check_float(value):
+    if check_types.is_float(value):
         val_elem = doc.createElement('ieee_754_byte_array')
         elem.appendChild(val_elem)
         
val_elem.appendChild(doc.createTextNode(repr(floatAsByteArray(value))))
 
     # Store lists with floats as IEEE-754 byte arrays.
-    elif (isinstance(value, list) or isinstance(value, ndarray)) and 
len(value) and arg_check.check_float(value[0]):
+    elif (isinstance(value, list) or isinstance(value, ndarray)) and 
len(value) and check_types.is_float(value[0]):
         # The converted list.
         ieee_obj = []
         conv = False
         for i in range(len(value)):
             # A float.
-            if arg_check.check_float(value[i]):
+            if check_types.is_float(value[i]):
                 ieee_obj.append(floatAsByteArray(value[i]))
                 conv = True
 
@@ -171,7 +164,7 @@
         ieee_obj = {}
         conv = False
         for key in list(value.keys()):
-            if arg_check.check_float(value[key]):
+            if check_types.is_float(value[key]):
                 ieee_obj[key] = floatAsByteArray(value[key])
                 conv = True
 




Related Messages


Powered by MHonArc, Updated Fri Dec 07 18:20:02 2012