Exemplo n.º 1
0
 def _en_numpy(self, v, name, s=True):
     from ifigure.utils.cbook import isiterable, isndarray
     if not name in v: return None, s and False
     if isiterable(v[name]) and not isndarray(v[name]):
         try:
             v[name] = np.array(v[name])
         except:
             return v[name], True and s
     return v[name], True and s
Exemplo n.º 2
0
 def _en_numpy(self, v, name, s=True):
     from ifigure.utils.cbook import isiterable, isndarray
     if not name in v: return None, s and False
     if isiterable(v[name]) and not isndarray(v[name]):
         try:
             v[name] = np.array(v[name])
         except:
             return v[name], True and s
     return v[name], True and s
Exemplo n.º 3
0
 def do_check(value, cond):
     if cond == 'ndarray':
         return isndarray(value)
     if cond == 'can_ndreal_array':
         try:
             void = np.array(value).astype(np.float)
             return void.size > 0
         except:
             pass
         return False
     elif cond == 'iter':
         return isiterable(value)
     elif cond == 'sequence':
         return issequence(value)
     elif cond == 'str':
         if six.PY2:
             return isinstance(value, str) or isinstance(value, unicode)
         else:
             return isinstance(value, str)
     elif cond == 'nonstr':
         if six.PY2:
             return not (isinstance(value, str)
                         or isinstance(value, unicode))
         else:
             return not isinstance(value, str)
     elif cond == 'int':
         return isinstance(value, int)
     elif cond == 'float':
         return isinstance(value, float)
     elif cond == 'real':
         return isinstance(value, float) or isinstance(value, int)
     elif cond == 'dynamic':
         return isdynamic(value)
     elif cond == 'bool':
         return isinstance(value, bool)
     elif cond == 'number':
         return isnumber(value)
     elif cond == 'empty':
         if (isinstance(value, list) and len(value) == 0):
             return True
         return False
     elif cond == 'numbers':
         if issequence(value):
             if len(value) == 0:
                 return False
             return isnumber(value[0])
         else:
             return False
     elif cond == 'any':
         return True
     print(('ArgsParser::Unknown condition (ignored)', cond))
     return True
Exemplo n.º 4
0
def convert_ndarray(v, name):
    if not v.has_key(name): return v
    if v[name] is None: return v
    if isdynamic(v[name]): return v
    if isiterable(v[name]) and not isndarray(v[name]):
        try:
            v[name] = np.array(v[name])
        except:
            return v
    if not isiterable(v[name]):
        try:
            v[name] = np.array([v[name]])
        except:
            return v
    if np.iscomplex(v[name]).any(): return v    
    v[name] = v[name].astype(np.float)
    return v
Exemplo n.º 5
0
def convert_ndarray(v, name):
    if not v.has_key(name): return v
    if v[name] is None: return v
    if isdynamic(v[name]): return v
    if isiterable(v[name]) and not isndarray(v[name]):
        try:
            v[name] = np.array(v[name])
        except:
            return v
    if not isiterable(v[name]):
        try:
            v[name] = np.array([v[name]])
        except:
            return v
    if np.iscomplex(v[name]).any(): return v
    v[name] = v[name].astype(np.float)
    return v
Exemplo n.º 6
0
 def do_check(value, cond):
    if cond == 'ndarray':
        return isndarray(value)
    if cond == 'can_ndreal_array':
        try:
           void = np.array(value).astype(np.float)
           return void.size > 0
        except:
           pass
        return False
    elif cond == 'iter':
        return isiterable(value)
    elif cond == 'sequence':
        return issequence(value)
    elif cond == 'str':
        return isinstance(value, str) or isinstance(value, unicode)
    elif cond == 'nonstr':
        return not (isinstance(value, str) or isinstance(value, unicode))
    elif cond == 'int':
        return isinstance(value, int)
    elif cond == 'float':
       return isinstance(value, float)
    elif cond == 'real':
       return isinstance(value, float) or isinstance(value, int)
    elif cond == 'dynamic':
       return isdynamic(value)
    elif cond == 'bool':
       return isinstance(value, bool)
    elif cond == 'number':
       return isnumber(value)
    elif cond == 'empty':
       if (isinstance(value, list) and
           len(value) == 0):
           return True
       return False
    elif cond == 'numbers':
       if issequence(value):
          if len(value)==0: return False
          return isnumber(value[0])
       else:
          return False
    elif cond == 'any':
        return True
    print('ArgsParser::Unknown condition (ignored)', cond)
    return True