@@ -1367,61 +1367,62 @@ def format(l, fmt, val): # noqa
13671367
13681368 return dyn
13691369
1370+ def _format_param (
1371+ self , l , name , symbol = None , ignorevalue = None , indices = None
1372+ ): # noqa # pragma nocover
1373+ # if value == ignorevalue then don't display it
1374+
1375+ v = getattr (self , name )
1376+ s = None
1377+ if v is None :
1378+ return
1379+ if isinstance (v , str ):
1380+ s = f'{ name } = "{ v } "'
1381+ elif isscalar (v ) and v != ignorevalue :
1382+ if symbol is not None :
1383+ s = f"{ symbol } ={ v :.3g} "
1384+ else : # pragma: nocover
1385+ try :
1386+ s = f"{ name } ={ v :.3g} "
1387+ except TypeError :
1388+ s = f"{ name } ={ v } "
1389+ elif isinstance (v , np .ndarray ):
1390+ # if np.linalg.norm(v, ord=np.inf) > 0:
1391+ # if indices is not None:
1392+ # flat = v.flatten()
1393+ # v = np.r_[[flat[k] for k in indices]]
1394+ # s = f"{name}=[" + ", ".join([f"{x:.3g}" for x in v]) + "]"
1395+ if indices is not None :
1396+ v = v .ravel ()[indices ]
1397+ s = f"{ name } =" + np .array2string (
1398+ v ,
1399+ separator = ", " ,
1400+ suppress_small = True ,
1401+ formatter = {"float" : lambda x : f"{ x :.3g} " },
1402+ )
1403+ if s is not None :
1404+ l .append (s )
1405+
13701406 def _params (self , name : bool = True ): # pragma nocover
1371- def format_param (
1372- self , l , name , symbol = None , ignorevalue = None , indices = None
1373- ): # noqa # pragma nocover
1374- # if value == ignorevalue then don't display it
1375-
1376- v = getattr (self , name )
1377- s = None
1378- if v is None :
1379- return
1380- if isinstance (v , str ):
1381- s = f'{ name } = "{ v } "'
1382- elif isscalar (v ) and v != ignorevalue :
1383- if symbol is not None :
1384- s = f"{ symbol } ={ v :.3g} "
1385- else : # pragma: nocover
1386- try :
1387- s = f"{ name } ={ v :.3g} "
1388- except TypeError :
1389- s = f"{ name } ={ v } "
1390- elif isinstance (v , np .ndarray ):
1391- # if np.linalg.norm(v, ord=np.inf) > 0:
1392- # if indices is not None:
1393- # flat = v.flatten()
1394- # v = np.r_[[flat[k] for k in indices]]
1395- # s = f"{name}=[" + ", ".join([f"{x:.3g}" for x in v]) + "]"
1396- if indices is not None :
1397- v = v .ravel ()[indices ]
1398- s = f"{ name } =" + np .array2string (
1399- v ,
1400- separator = ", " ,
1401- suppress_small = True ,
1402- formatter = {"float" : lambda x : f"{ x :.3g} " },
1403- )
1404- if s is not None :
1405- l .append (s )
14061407
14071408 l = [] # noqa
14081409 if name :
1409- format_param ( self , l , "name" )
1410+ self . _format_param ( l , "name" )
14101411 if self .parent_name is not None :
14111412 l .append ('parent="' + self .parent_name + '"' )
14121413 elif isinstance (self .parent , BaseLink ):
14131414 l .append ('parent="' + self .parent .name + '"' )
1414- format_param ( self , l , "parent" )
1415- format_param ( self , l , "isflip" , ignorevalue = False )
1416- format_param ( self , l , "qlim" )
1415+ self . _format_param ( l , "parent" )
1416+ self . _format_param ( l , "isflip" , ignorevalue = False )
1417+ self . _format_param ( l , "qlim" )
14171418 if self ._hasdynamics :
1418- format_param ( self , l , "m" )
1419- format_param ( self , l , "r" )
1420- format_param ( self , l , "I" , indices = [0 , 4 , 8 , 1 , 2 , 5 ])
1421- format_param ( self , l , "Jm" )
1422- format_param ( self , l , "B" )
1423- format_param ( self , l , "Tc" )
1424- format_param ( self , l , "G" )
1419+ self . _format_param ( l , "m" )
1420+ self . _format_param ( l , "r" )
1421+ self . _format_param ( l , "I" , indices = [0 , 4 , 8 , 1 , 2 , 5 ])
1422+ self . _format_param ( l , "Jm" )
1423+ self . _format_param ( l , "B" )
1424+ self . _format_param ( l , "Tc" )
1425+ self . _format_param ( l , "G" )
14251426
14261427 return l
14271428
0 commit comments