
    \h                     h    S SK Jr  S SKJrJr  SSKJr  SSKJrJ	r	J
r
JrJrJr   " S S\5      rS rg	)
    )Expr)call_highest_priority
_sympifyit   )ImageSet)set_addset_subset_mulset_divset_powset_functionc                   H   \ rS rSrSrSrS r\" S 5      rS r	\
" S\5      \" S5      S	 5       5       r\
" S\5      \" S
5      S 5       5       r\
" S\5      \" S5      S 5       5       r\
" S\5      \" S5      S 5       5       r\
" S\5      \" S5      S 5       5       r\
" S\5      \" S5      S 5       5       r\
" S\5      \" S5      S 5       5       r\
" S\5      \" S5      S 5       5       r\
" S\5      \" S5      S 5       5       r\
" S\5      \" S5      S 5       5       rS rSrg)SetExpr   a6  An 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                 .    [         R                  " X5      $ N)r   __new__)clssetargs     J/var/www/auris/envauris/lib/python3.13/site-packages/sympy/sets/setexpr.pyr   SetExpr.__new__   s    ||C((    c                      U R                   S   $ )Nr   )args)selfs    r   <lambda>SetExpr.<lambda>   s    		!r   c                 V    SR                  UR                  U R                  5      5      $ )NzSetExpr\left({}\right))format_printset)r   printers     r   _latexSetExpr._latex   s     (//txx0HIIr   other__radd__c                 "    [        [        X5      $ r   _setexpr_apply_operationr   r   r%   s     r   __add__SetExpr.__add__!        (==r   r+   c                 "    [        [        X5      $ r   r(   r*   s     r   r&   SetExpr.__radd__&        (==r   __rmul__c                 "    [        [        X5      $ r   r)   r
   r*   s     r   __mul__SetExpr.__mul__+   r-   r   r4   c                 "    [        [        X5      $ r   r3   r*   s     r   r1   SetExpr.__rmul__0   r0   r   __rsub__c                 "    [        [        X5      $ r   r)   r	   r*   s     r   __sub__SetExpr.__sub__5   r-   r   r;   c                 "    [        [        X5      $ r   r:   r*   s     r   r8   SetExpr.__rsub__:   r0   r   __rpow__c                 "    [        [        X5      $ r   r)   r   r*   s     r   __pow__SetExpr.__pow__?   r-   r   rB   c                 "    [        [        X5      $ r   rA   r*   s     r   r?   SetExpr.__rpow__D   r0   r   __rtruediv__c                 "    [        [        X5      $ r   r)   r   r*   s     r   __truediv__SetExpr.__truediv__I   r-   r   rI   c                 "    [        [        X5      $ r   rH   r*   s     r   rF   SetExpr.__rtruediv__N   r0   r   c                     [        XR                  5      nUc  [        [        XR                  5      5      $ [        U5      $ r   )r   r!   r   r   )r   funcress      r   
_eval_funcSetExpr._eval_funcS   s3    4*;8D((344s|r    N)__name__
__module____qualname____firstlineno____doc___op_priorityr   propertyr!   r#   r   NotImplementedr   r+   r&   r4   r1   r;   r8   rB   r?   rI   rF   rP   __static_attributes__rR   r   r   r   r      s    L) ,
-CJ (:&> ' )> (9%> & )> (:&> ' )> (9%> & )> (:&> ' )> (9%> & )> (:&> ' )> (9%> & )> (>*> + )> (=)> * )>r   r   c                     [        U[        5      (       a  UR                  n[        U[        5      (       a  UR                  nU " X5      n[        U5      $ r   )
isinstancer   r!   )opxyouts       r   r)   r)   [   sA    !WEE!WEE
Q(C3<r   N)
sympy.corer   sympy.core.decoratorsr   r   	fancysetsr   setsr   r	   r
   r   r   r   r   r)   rR   r   r   <module>rf      s(     C  K KQd Qhr   