K i hddlmZddlmZmZddlmZddlmZm Z m Z m Z m Z m Z GddeZdZy ) )Expr)call_highest_priority _sympifyit)ImageSet)set_addset_subset_mulset_divset_pow set_functionc@eZdZdZdZdZedZdZe de e ddZ e de e d d Z e de e d d Ze de e d dZe de e ddZe de e ddZe de e ddZe de e ddZe de e ddZe de e ddZdZy)SetExprabAn expression that can take on values of a set. Examples ======== >>> from sympy import Interval, FiniteSet >>> from sympy.sets.setexpr import SetExpr >>> a = SetExpr(Interval(0, 5)) >>> b = SetExpr(FiniteSet(1, 10)) >>> (a + b).set Union(Interval(1, 6), Interval(10, 15)) >>> (2*a + b).set Interval(1, 20) g&@c.tj||SN)r__new__)clssetargs X/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/sets/setexpr.pyrzSetExpr.__new__s||C((c |jdS)Nr)args)selfs rzSetExpr.s ! rcVdj|j|jS)NzSetExpr\left({}\right))format_printset)rprinters r_latexzSetExpr._latexs (//txx0HIIrother__radd__c$tt||Sr_setexpr_apply_operationrrr!s r__add__zSetExpr.__add__!(u==rr'c$tt||Srr$r&s rr"zSetExpr.__radd__&(==r__rmul__c$tt||Srr%r r&s r__mul__zSetExpr.__mul__+r(rr.c$tt||Srr-r&s rr+zSetExpr.__rmul__0r*r__rsub__c$tt||Srr%r r&s r__sub__zSetExpr.__sub__5r(rr3c$tt||Srr2r&s rr0zSetExpr.__rsub__:r*r__rpow__c$tt||Srr%r r&s r__pow__zSetExpr.__pow__?r(rr8c$tt||Srr7r&s rr5zSetExpr.__rpow__Dr*r __rtruediv__c$tt||Srr%r r&s r __truediv__zSetExpr.__truediv__Ir(rr=c$tt||Srr<r&s rr:zSetExpr.__rtruediv__Nr*rct||j}|tt||jSt|Sr)r rrr)rfuncress r _eval_funczSetExpr._eval_funcSs74* ;8D$((34 4s|rN)__name__ __module__ __qualname____doc__ _op_priorityrpropertyrr rNotImplementedrr'r"r.r+r3r0r8r5r=r:rBrrrrsL) , -CJ(:&>')>(9%>&)>(:&>')>(9%>&)>(:&>')>(9%>&)>(:&>')>(9%>&)>(>*>+)>(=)>*)>rrct|tr |j}t|tr |j}|||}t|Sr) isinstancerr)opxyouts rr%r%[s=!W EE!W EE Q(C 3<rN) sympy.corersympy.core.decoratorsrr fancysetsrsetsrr r r r r rr%rJrrrUs(CKKQdQhr