@@ -60,9 +60,10 @@ class Mv(object):
6060
6161 ################### Multivector initialization #####################
6262
63+ # This is read by one code path in `galgebra.printer.Fmt`. Only one example
64+ # sets it.
6365 fmt = 1
64- latex_flg = False
65- restore = False
66+
6667 dual_mode_lst = ['+I' , 'I+' , '+Iinv' , 'Iinv+' , '-I' , 'I-' , '-Iinv' , 'Iinv-' ]
6768
6869 @staticmethod
@@ -71,15 +72,9 @@ def setup(ga):
7172 Set up constant multivectors required for multivector class for
7273 a given geometric algebra, `ga`.
7374 """
74- Mv .fmt = 1
7575 # copy basis in case the caller wanted to change it
7676 return ga .mv_I , list (ga .mv_basis ), ga .mv_x
7777
78- @staticmethod
79- def Format (mode = 1 ):
80- Mv .latex_flg = True
81- Mv .fmt = mode
82-
8378 @staticmethod
8479 def Mul (A , B , op ):
8580 """
@@ -1177,21 +1172,16 @@ def Fmt(self, fmt=1, title=None):
11771172 if printer .isinteractive ():
11781173 return self
11791174
1180- if Mv .latex_flg :
1181- latex_str = printer .GaLatexPrinter .latex (self )
1182- printer .GaLatexPrinter .fmt = printer .GaLatexPrinter .prev_fmt
1175+ if printer .GaLatexPrinter .latex_flg :
1176+ s = printer .GaLatexPrinter ().doprint (self )
1177+ else :
1178+ s = printer .GaPrinter ().doprint (self )
11831179
1184- if title is not None :
1185- return title + ' = ' + latex_str
1186- else :
1187- return latex_str
1180+ printer .GaPrinter .fmt = printer .GaPrinter .prev_fmt
1181+ if title is not None :
1182+ return title + ' = ' + s
11881183 else :
1189- s = str (self )
1190- printer .GaPrinter .fmt = printer .GaPrinter .prev_fmt
1191- if title is not None :
1192- return title + ' = ' + s
1193- else :
1194- return s
1184+ return s
11951185
11961186 def _repr_latex_ (self ):
11971187 latex_str = printer .GaLatexPrinter .latex (self )
@@ -1818,24 +1808,18 @@ def Fmt(self, fmt=1, title=None, dop_fmt=None):
18181808 if printer .isinteractive ():
18191809 return self
18201810
1821- if Mv .latex_flg :
1822- latex_str = printer .GaLatexPrinter .latex (self )
1823- printer .GaLatexPrinter .fmt = printer .GaLatexPrinter .prev_fmt
1824- printer .GaLatexPrinter .dop_fmt = printer .GaLatexPrinter .prev_dop_fmt
1825-
1826- if title is not None :
1827- return title + ' = ' + latex_str
1828- else :
1829- return latex_str
1811+ if printer .GaLatexPrinter .latex_flg :
1812+ s = printer .GaLatexPrinter ().doprint (self )
18301813 else :
1831- s = str (self )
1832- printer .GaPrinter .fmt = printer .GaPrinter .prev_fmt
1833- printer .GaPrinter .dop_fmt = printer .GaPrinter .prev_dop_fmt
1814+ s = printer .GaPrinter ().doprint (self )
18341815
1835- if title is not None :
1836- return title + ' = ' + s
1837- else :
1838- return s
1816+ printer .GaPrinter .fmt = printer .GaPrinter .prev_fmt
1817+ printer .GaPrinter .dop_fmt = printer .GaPrinter .prev_dop_fmt
1818+
1819+ if title is not None :
1820+ return title + ' = ' + s
1821+ else :
1822+ return s
18391823
18401824 def _eval_derivative_n_times (self , x , n ):
18411825 return Dop (dop ._eval_derivative_n_times_terms (self .terms , x , n ), cmpflg = self .cmpflg , ga = self .Ga )
0 commit comments