
    sg                      r   d dl mZ d dlmZ d dlmZ d dlmZmZ d dl	m
Z
mZmZmZ d dlmZmZ d dlmZmZmZ d dlmZmZ d d	lmZmZ d d
lmZ d dlmZ d dlm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z' d dlm(Z(m)Z) d dl*m+Z+m,Z,m-Z- d dlm.Z.  ed      \  Z/Z0ee
fZ1 ed      Z2e2jg                  ee      d        Z4e2jg                  e1e"      d        Z4e2jg                  e
e!      d        Z4e2jg                  ee!      d        Z4e2jg                  e1e#      d        Z4e2jg                  e1e%      d        Z4e2jg                  e1e(      d        Z4e2jg                  e1e      d        Z4e2jg                  e1e&      d        Z4e2jg                  e1e+      d        Z4e2jg                  e1e,      d        Z4e2jg                  e1e-      d        Z4y)    )S)Set)singularities)ExprAdd)LambdaFunctionClassdiff
expand_mul)Floatoo)DummysymbolsWild)explog)MinMax)true)
Dispatcher)imagesetInterval	FiniteSetUnionImageSetIntersectionRange
Complement)EmptySetis_function_invertible_in_set)IntegersNaturalsReals)match_real_imagzx y_set_functionc                      y N fxs     P/var/www/html/venv/lib/python3.12/site-packages/sympy/sets/handlers/functions.py_r-      s        c                 &    t        t        | |       S r'   )r   mapr)   s     r,   r-   r-      s    c!Qi  r.   c                    ddl m} ddlm} | j                  }t        |j                        dkD  st        | j                        dk7  ry | j                  d   }|j                  s)|j                  |t        d            j                  du ry |j                  rt        j                  }|}|j                  D ]  \  }}	|	t        u r|}
n|	j!                         }
t#        ||
      }
|j$                  rt'        |      }nt)        t+        ||      |
      }t-        ||      }t/        ||
      }|t        j                  u s |S  |S |j0                  j2                  r|j4                  j2                  sy 	 ddlm} t;        t=        |||            }t        |      dkD  r ||      }|j@                  r ||||j0                  d	
      }n |j0                  |vr | |j0                        }|jB                  r ||||j4                  d
      }n |j4                  |vr | |j4                        }t        |      dk(  r |tE        ||      |      }tG        |t&              s|t        j                  u sy t;        |      }g|D cg c]  }|j                  r||v r | |       c}z   }tI        | tK        | }}d\  }}||k  r+||k(  r||vr|j@                  }||k(  r;||vr7|jB                  }n*||k(  r||vr|jB                  }||k(  r||vr|j@                  }tM        ||||      S t)        | tM        |j0                  |d   |j@                  d            t-        tO        dt        |      dz
        D cg c]#  }t)        | tM        ||   ||dz      dd            % c} z   t)        | tM        |d   |j4                  d|jB                              z   S # t>        $ r Y y w xY wc c}w c c}w )Nr   )solveset)limit   T)realF)_nsort+)dir-)FF)(sympy.solvers.solvesetr2   sympy.seriesr3   exprlenfree_symbols	variablesis_realsubsr   is_Piecewiser   r   argsr   as_setr   	is_Numberr   r   r   r   r   startis_comparableendsympy.polys.polyutilsr6   listr   NotImplementedError	left_open
right_openr
   
isinstancer   r   r   range)r*   r+   r2   r3   r=   varresult
domain_setp_exprp_condintrvlimager6   sing_start_end	soln_exprsolnsiextrrG   rI   rM   rN   s                           r,   r-   r-   "   s   /" 66D
4!S%5%:
++a.C;;99S%T*+33u<
 $		 	VV~#%j&9!&) V!4f=65)F $J7JQZZ'#	" 77  (;(;0M$Q/0t9q=$<D 	{{tS!''s3	
	177||T33/	
d	x
4yA~T$_c2	9i0

*Y~u !:!$%II!q& "#1 !: :$Zds ,	:T> 5#5KK	d{s%/\\
}e!3LL	f}E!1[[
sIz::8AGGT!W$%KK7 8"1c$i!m46 Qa$q1u+tT JK 6 77 Qb155$EF	G 	GQ  &!:.6s   22O  O.(O 
	OOc                    | t         k(  rHt        t        |j                        t        |j                        |j                  |j
                        S | t        k(  rHt        t        |j                        t        |j                        |j                  |j
                        S t        t        t         | t                    |      S r'   )
r   r   rG   rI   rM   rN   r   r   r   _xr)   s     r,   r-   r-   }   sz    CxAGGc!%%j!++q||LL	
cAGGc!%%j!++q||LLF2qu%q))r.   c                 :     t         fd|j                  D         S )Nc              3   6   K   | ]  }t        |        y wr'   r   .0argr*   s     r,   	<genexpr>z_.<locals>.<genexpr>   s     68As#6   )r   rD   r)   s   ` r,   r-   r-      s    6qvv677r.   c                      t         |      rt         fd|j                  D         S t        t	        t
          t
                    |      S )Nc              3   6   K   | ]  }t        |        y wr'   rc   rd   s     r,   rg   z_.<locals>.<genexpr>   s     A3hq#.Arh   )r    r   rD   r   r   r`   r)   s   ` r,   r-   r-      s<     %Q*A!&&ABBr1R5)1--r.   c                     |S r'   r(   r)   s     r,   r-   r-      s    Hr.   c                 J    t        t        t         | t                    |      S r'   )r   r   r`   r)   s     r,   r-   r-      s    F2qu%q))r.   c                 d   |st         j                  S t        | j                  t              sy |j
                  dk(  rt         | |d               S | t         j                  u r|S | j                  d   }| j                  }||j                  vs||j                  |      j                  v ry |j                  j                  r# | |j                  |z  |j                  z         }n | |j                   |z  |d   z         }t        |      }||k7  r t        ||t!        |j
                              S y )Nr4   r   r:   )r   r   rO   r=   r   sizer   IdentityFunctionr@   r?   r
   rG   	is_finitestepr   r   r   )r*   selfr+   r=   Fs        r,   r-   r-      s    zzaffd#yyA~47$$A	AA66D!!!Q$))A,*C*C%CzzdiikDJJ&'tyyjlT"X%&1ADy1eDII.// r.   c                    | j                   }t        |t              sy | j                  d   }|t	        |      k(  rt
        j                  S  | d      } | |      |z
  } | |       |z
  }d } ||       ||      k  r||z   }t        d|g      }t        d|g      }	|j                  ||z  |	z         }
|
rZ|
|   rT|
|   j                  t              s;|
|	   j                  t              s"|
|   |
|	   }	}|dv rBg }t        j                  |	      D ]   }|j                  r|j                  |       " t        | }	|	j                  rP|j                   rDt#        |	      \  }}|r|j$                  r|j$                  r||z  }|t
        j&                  |z  z   }	nn|	j                  rb|j(                  rVt#        |	      \  }}|t
        j&                  z  }|r3|j$                  r'|j$                  r||z  }|t
        j&                  |z  z   }	||z  |	z   }|| j                   k7  r$t+        t-        ||      t
        j.                        S y )Nr   c                 L    t        d t        j                  |       D              S )Nc              3   <   K   | ]  }|j                           y wr'   )could_extract_minus_sign)re   r-   s     r,   rg   z&_.<locals>.<lambda>.<locals>.<genexpr>   s!      #  88: #s   )sumr   	make_args)es    r,   <lambda>z_.<locals>.<lambda>   s!    # #q!# # r.   a)excludeb)r4   r:   )r=   rO   r   r@   absr   	Naturals0r   matchatomsr   r   ry   
is_integerappend	is_numberrA   r$   rH   ImaginaryUnitis_imaginaryr   r   r!   )r*   rr   r=   ncfxf_x	neg_countr|   r~   r   nonintbibrais                  r,   r-   r-      s   66DdD!	AAs1v~{{ 	
!A	
1B
QB%!)C#I~	"%QwS1#AS1#AJJqsQwEqau%au%Qxq1<FmmA& &}}MM"%& VA;;199$Q'FBb&&1??a++[[Q^^$Q'FB1??"Bb&&2+;+;b++sQwqvv~q$44 r.   c                 N   | j                   }t        |t              sy | j                  d   }|j                  |hz
  s|t        |      k(  r$|t        j                  u r|S t        j                  S |j                  |      }|j                  |d      }|j                  r|j                  rz|||z  |z   k(  rn|t        j                  u r||z  }|dkD  r@|dk(  r*|dk(  rt        j                  S |dk(  rt        j                  S t        |t        |      S t        |t         |      S y y y y )Nr   r4   )r=   rO   r   r@   r?   r   r   r"   r   coeffrB   
is_Integerr   r   )r*   rr   r=   r+   rq   r   s         r,   r-   r-      s   66DdD!	AAs"3q6>qzz!;;zz!}IIaO<<DOOQ
0Bqzz!T	ax19Av {{*a zz)QD))RC&& 1CO< #r.   c                 z    | j                   }t        |t              sy t        | t	        t
         t
                    S r'   )r=   rO   r   r%   r   r   )r*   rr   r=   s      r,   r-   r-     s.    66DdD!HbS"-..r.   N)5sympy.core.singletonr   sympy.sets.setsr   sympy.calculus.singularitiesr   
sympy.corer   r   sympy.core.functionr   r	   r
   r   sympy.core.numbersr   r   sympy.core.symbolr   r   r   &sympy.functions.elementary.exponentialr   r   (sympy.functions.elementary.miscellaneousr   r   sympy.logic.boolalgr   sympy.multipledispatchr   
sympy.setsr   r   r   r   r   r   r   r   r   r    sympy.sets.fancysetsr!   r"   r#   r$   r`   _yFunctionUnionr%   registerr-   r(   r.   r,   <module>r      s   "  6   G G ( 2 2 ; = $ -% % % C : : B 
B'?+ s+ , y1! 2! )XG *XGt x0* 1* u-8 .8 |4. 5. x0 1 s+* ,* u-0 .0. x015 115h x0' 1'4 u-/ ./r.   