Ë ¼K iXãóB—ddlmZddlmZmZmZddlmZd„Zd„Z d„Z y)é)Úrl)Údo_oneÚexhaustÚswitch)Útop_downc óˆ—|r>ttttjgt |j «Ž¢­ŽŽfi|¤ŽSd„S)az Full simultaneous exact substitution. Examples ======== >>> from sympy.strategies.tools import subs >>> from sympy import Basic, S >>> mapping = {S(1): S(4), S(4): S(1), Basic(S(5)): Basic(S(6), S(7))} >>> expr = Basic(S(1), Basic(S(2), S(3)), Basic(S(4), Basic(S(5)))) >>> subs(mapping)(expr) Basic(4, Basic(2, 3), Basic(1, Basic(6, 7))) có—|S)N©)Úxs ú\/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/strategies/tools.pyúzsubs..s€˜€ó)rrÚmaprÚsubsÚzipÚitems)ÚdÚkwargss r rrs:€ñ Üœ¤¤B§G¡GÐ >¬c°1·7±7³9¨oÒ >Ð?ÑJÀ6ÑJÐJáÐrc óJ—tttt|Ž«fi|¤Ž«S)zÊ Strategy for canonicalization. Explanation =========== Apply each rule in a bottom_up fashion through the tree. Do each one in turn. Keep doing this until there is no change. )rrr)Úrulesrs r Úcanonrs"€ô ”8œG¤F¨E NÓ3Ñ>°vÑ>Ó ?Ð?rcó"—tt|«S)al Apply rules based on the expression type inputs: ruletypes -- a dict mapping {Type: rule} Examples ======== >>> from sympy.strategies import rm_id, typed >>> from sympy import Add, Mul >>> rm_zeros = rm_id(lambda x: x==0) >>> rm_ones = rm_id(lambda x: x==1) >>> remove_idents = typed({Add: rm_zeros, Mul: rm_ones}) )rÚtype)Ú ruletypess r Útypedr&s€ô ”$˜ Ó "Ð"rN) ÚrÚcorerrrÚtraverserrrrr rr úrs!ðÝß)Ñ)Ýòò& @ó#r