5 from __future__ 
import print_function
 
   11 from .wrap 
import SignalBase  
 
   12 from .wrap 
import create_signal_wrapper 
as SignalWrapper  
 
   17     Transform a string of format '[n](x_1,x_2,...,x_n)' into a tuple of numbers. 
   20     a = re.match(
r"\[(\d+)\]", vector)
 
   21     size = int(a.group(1))
 
   23     vector = vector[len(a.group(0)) :]
 
   25     vector = vector.lstrip(
"(").rstrip(
")\n")
 
   27     vector = vector.split(
",")
 
   29     if len(vector) != size:
 
   33             + 
" of vector does not fit actual size: " 
   36     res = map(float, vector)
 
   42     Transform a tuple of numbers into a string of format 
   43     '[n](x_1, x_2, ..., x_n)' 
   45     string = 
"[%d](" % len(vector)
 
   48     string += 
"%f)" % vector[-1]
 
   54     Transform a string of format 
   55     '[n,m]((x_11,x_12,...,x_1m),...,(x_n1,x_n2,...,x_nm))' into a tuple 
   59     a = re.search(
r"\[(\d+),(\d+)]", string)
 
   60     nRows = int(a.group(1))
 
   61     nCols = int(a.group(2))
 
   63     string = string[len(a.group(0)) :]
 
   64     rows = string.split(
"),(")
 
   65     if len(rows) != nRows:
 
   69             + 
" of matrix does not fit actual nb rows: " 
   74         rstr = rstr.lstrip(
"(").rstrip(
")\n")
 
   75         r = map(float, rstr.split(
","))
 
   80                 + 
" of matrix does not fit displayed nb cols: " 
   89     Transform a tuple of tuple of numbers into a string of format 
   90     '[n,m]((x_11,x_12,...,x_1m),...,(x_n1,x_n2,...,x_nm))'. 
   95     nCols = len(matrix[0])
 
   96     string = 
"[%d,%d](" % (nRows, nCols)
 
   97     for r 
in range(nRows):
 
   99         for c 
in range(nCols):
 
  100             string += str(float(matrix[r][c]))
 
  112     Transform an object to a string. Object is either 
  113       - an entity (more precisely a sub-class named Feature) 
  116       - a floating point number, 
  120     if hasattr(obj, 
"__iter__"):
 
  125             if hasattr(obj[0], 
"__iter__"):
 
  131     elif hasattr(obj, 
"name"):
 
  139     Convert a string into one of the following types 
  140       - a matrix (tuple of tuple), 
  143       - a floating point number. 
  144     Successively attempts conversion in the above order and return 
  145     on success. If no conversion fits, the string is returned. 
  147     if isinstance(string, float):
 
  149     if isinstance(string, int):
 
  151     if isinstance(string, tuple):