1 #@ MODIF N_types Noyau DATE 28/01/2013 AUTEUR COURTOIS M.COURTOIS
2 # -*- coding: iso-8859-1 -*-
3 # CONFIGURATION MANAGEMENT OF EDF VERSION
4 # ======================================================================
5 # COPYRIGHT (C) 1991 - 2013 EDF R&D WWW.CODE-ASTER.ORG
6 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
7 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
8 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
9 # (AT YOUR OPTION) ANY LATER VERSION.
11 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
12 # WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
13 # MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
14 # GENERAL PUBLIC LICENSE FOR MORE DETAILS.
16 # YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
17 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
18 # 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
19 # ======================================================================
20 # RESPONSABLE COURTOIS M.COURTOIS
23 Ce module contient des fonctions utilitaires pour tester les types
33 # use isinstance() instead of type() because objects returned from numpy arrays
34 # inherit from python scalars but are numpy.float64 or numpy.int32...
36 return isinstance(obj, int) or type(obj) is long
39 return isinstance(obj, float)
42 return isinstance(obj, complex)
44 from decimal import Decimal
45 def is_float_or_int(obj):
46 return is_float(obj) or is_int(obj) or isinstance(obj, Decimal)
49 return is_float_or_int(obj) or is_complex(obj)
52 return isinstance(obj, (str, unicode))
55 return type(obj) is list
58 return type(obj) is tuple
62 return type(obj) is _np_arr
65 """a sequence (allow iteration, not a string) ?"""
66 return is_list(obj) or is_tuple(obj) or is_array(obj)
69 from N_ASSD import ASSD
70 return isinstance(obj, ASSD)
74 """Retourne `obj` si c'est une liste ou un tuple,
75 sinon retourne [obj,] (en tant que list).
77 if not is_sequence(obj):
82 """Return `obj` as a tuple."""
83 return tuple(force_list(obj))
85 # backward compatibility
86 from warnings import warn
88 """same as is_sequence"""
89 warn("'is_enum' is deprecated, use 'is_sequence'",
90 DeprecationWarning, stacklevel=2)
91 return is_sequence(obj)