
    sgjD                        d dl mZ d dlmZmZ d dl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 d dlmZ d d	lmZ d d
lmZmZ d dlmZ d dlmZmZmZ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) d dlm*Z*m+Z+m,Z,m-Z- d dl.m/Z/  e!d      Z0e0jc                  e#e#      d        Z2e0jc                  e#e      d        Z2e0jc                  e%e$      d        Z2e0jc                  e%e%      d        Z2e0jc                  ee%      d        Z2e0jc                  ee      d        Z2e0jc                  e$e&      d        Z2e0jc                  e'e      d        Z2e0jc                  e'e%      d        Z2e0jc                  e'e'      d        Z2e0jc                  e'e$      d        Z2e0jc                  e'e)      d        Z2e0jc                  e(e      d        Z2e0jc                  e-e-      d         Z2e0jc                  ee      d!        Z2e0jc                  e*e      d"        Z2e0jc                  e+e      d#        Z2e0jc                  ee      d$        Z2e0jc                  ee      d%        Z2e0jc                  ee      d&        Z2e0jc                  e$e)      d'        Z2e0jc                  e%e)      d(        Z2e0jc                  e)e&      d)        Z2d* Z3e0jc                  e$e      d+        Z2e0jc                  e%e      d,        Z2y-).    )_aresame)Lambdaexpand_complex)Mul)ilcmFloat)Eq)S)Dummysymbols)ordered)sign)floorceiling)ComplexRegion)	FiniteSetIntersectionIntervalSetUnion)
Dispatcher)ConditionSet)IntegersNaturalsRealsRangeImageSet	Rationals)EmptySetUniversalSetimageset
ProductSet)numerintersection_setsc                      y N abs     S/var/www/html/venv/lib/python3.12/site-packages/sympy/sets/handlers/intersection.py_r,              c                 l    t        | j                  | j                  t        | j                  |            S r&   )r   sym	conditionr   base_setr(   s     r+   r,   r,      s$    q{{LQ,GHHr.   c                     | S r&   r'   r(   s     r+   r,   r,           Hr.   c                 .    | t         j                  u r| S |S r&   )r
   r   r(   s     r+   r,   r,   $   s    QZZ1&Q&r.   c                     t        ||       S r&   )r$   r(   s     r+   r,   r,   (       Q""r.   c           	         |j                   r| j                  s5|j                  s)t        t        | j                  |j                              S | j                  r|j                  r| j
                  | j                  }}|j
                  |j                  }}t        ||      }t        ||      }dt        j                  z  |v rt        j                  |v s'dt        j                  z  |v r't        j                  |v rt        |t        d            }t        ||z  d      S |j                  t        j                        r~g }t        dt        d      }	| j                  sc| j                   D ]@  }
t        j                  |
j"                  d   v s#|j%                  |
j"                  d          B t        | }t        ||      S | j                  r| j                   D ]  }
t        j                  |
j"                  d   v r|j%                  |
j"                  d          t        j                  |
j"                  d   v r3|j%                  t'        t)        |	|	       |
j"                  d                t        j                  |
j"                  d   v s|j%                  t        d              t        | }t        ||      S y y )N   r   T)polarx)clsreal   )is_ComplexRegionr:   r   r   sets
a_interval
b_intervalr
   PiZeror   r   	is_subsetr   r   r   psetsargsappendr   r   )selfotherr1theta1r2theta2new_r_intervalnew_theta_intervalnew_intervalr;   elements              r+   r,   r,   ,   s1   

U[[ dii!DEE ZZEKK$//B))5+;+;B)"b1N!-ff!= 1446!aff&6!$$& QVVv%5%*+=+4Q<&9" 0B!B&*, , qwwCU. zz:: 966W\\!_, ''Q89 !,/Le44 ZZ:: 666W\\!_, ''Q8447<<?* ''A2Q(PQ66W\\!_, ''	!56 !,/Le44   r.   c                     | S r&   r'   r(   s     r+   r,   r,   [   r4   r.   c                    t        d | j                  |j                  d d z   D              sy | j                  dk(  rt        j                  S t        t        |j                  | j                              }||vr|dz  }t        t        |j                  | j                              }||vr|dz  }t        | t        ||dz               S )Nc              3   4   K   | ]  }|j                     y wr&   	is_number.0is     r+   	<genexpr>z_.<locals>.<genexpr>b   s     8qq{{8   r9   r   r>   )allrG   sizer
   r   r   maxinfr   minsupr$   r   )r)   r*   startends       r+   r,   r,   _   s     8AFFQVVBQZ$788 	vv{zz Cquu%&EA~

AEE155!
"C
!|qQeS1W 566r.   c                 ^    t        | t        |j                  t        j                              S r&   )r$   r   r`   r
   Infinityr(   s     r+   r,   r,   s   s    Q

 ;<<r.   c           	         t        d | |fD              sy |st        j                  S | st        j                  S |j                  | j                  k  rt        j                  S |j                  | j                  kD  rt        j                  S | }|j
                  j                  r|j                  }|}|j
                  j                  r|j                  }|j
                  j                  r|S |j
                  j                  r| S ddlm	} d } | ||t        d             ||t        d            z
        \  }}|d u xr |d u }|rt        j                  S |j                         d   }	 |||	      }
fd}t        t        |j                  |j                               |||
      }|t        j                  S  |||
      }|t        j                  S fd} || |      } |||      }t        |j                        dk  r|j                  }t        |j                        dk  r|j                  }t!        |j
                  |j
                        }t#        |j$                  |j$                        }t'        ||      S )	Nc              3   T   K   | ]   }t        d  |j                  D               " yw)c              3   4   K   | ]  }|j                     y wr&   rV   )rY   vs     r+   r[   z_.<locals>.<genexpr>.<genexpr>z   s     /11;;/r\   N)r]   rG   )rY   rs     r+   r[   z_.<locals>.<genexpr>z   s     @As///@s   &(r   )diop_linearc                 :    | j                   || j                  z  z   S r&   )rc   step)rk   rZ   s     r+   <lambda>z_.<locals>.<lambda>   s    agg!&&( r.   r)   r*   c                    || j                   k(  r|S t        | j                   |z
        z  }t        || j                   |z   |      d   }|| j                   k(  rn&t        | j                        t        |      k7  r||z  }|| vry |S )N)rc   r   r   rn   )rK   csts1rn   s       r+   _first_finite_pointz_.<locals>._first_finite_point   s    =H "((Q,$
 1bhhmR(,>
 BGG}R(bR<	r.   c                     t        | j                        z  }| j                  j                  rt	        || j
                  |      }|S t	        | j                  ||z   |      }|S r&   )r   rn   rc   	is_finiter   stop)rk   firstrs   rvrn   s       r+   _updated_rangez_.<locals>._updated_range   sX    !&&\$77uaffb)B 	 qww
B/B	r.   )r]   r
   r   rb   r`   rc   is_infinitereversed%sympy.solvers.diophantine.diophantinerl   r   as_coeff_Addabsr   rn   r   r_   ra   rx   r   )r)   r*   rK   rM   rl   eqvavbno_solutiona0rr   ru   rt   s2r{   rc   rx   rn   s                    @r+   r,   r,   w   s    @!Q@@ zzzzuuquu}zzuuquu}zz 
B	xx[[	
B	xx[[ 
xx	xxA 
)B
 Bc
+bU3Z.@@AFB *+tKzz 
	1	B
2r
A0 tBGGRWW%&D	R	#B	zzz	R	#B	zzz 
2	B	2	B BGG}q[[BGG}q[[ "((#Erww Dd##r.   c                     | S r&   r'   r(   s     r+   r,   r,      r4   r.   c                     | S r&   r'   r(   s     r+   r,   r,      r4   r.   c                 t  $%& ddl m} t        | j                  j                        dkD  s-| j                  j
                  | j                  j                  k7  ry | j                  d   }|t        j                  u rd }t        |t              rk|j                  t        j                  fk(  rM|j                  j                  }|j                  j                  d   }t        d      }|j                  ||      }n|t        j                  u rt        d      x}}|| j                  j                  $| j                  j                  d   %	 t         |$|z
  %fd            }t        |      dk(  rt        j"                  S t%        d |D              ryt        |      dk(  rj|d   \  }}	|j&                  \  }
$j                  %|j                  |
%            j)                         }t+        t-        %|      t        j                        S y t/        $%fd|D         S |t        j0                  k(  r7dd	lm}m& &fd
}| j                  j                  }| j                  j                  d   %t        %j8                  d      }|j                  %|      }|j;                         \  }}t=        |      }|j                  |%      }|j                  |%      }|j&                  }t-        %|      }|j>                  rnM|j>                  du rt        j"                  S |%hk7  ry | |tA        jB                  tE        |            %      z  }| | ||      %      z  }t+        ||      S t        |tF              r)ddl$m%}m&}m'} | j                  j                  }| j                  j                  d   %d\  }}|jP                  |jR                  }}|jT                  r|}n|} |||jV                  %      \  }} |||jX                  %      \  }} t[        d || fD              r~|%k(  rt        |      dk(  r|j\                  d   }|%k(  rt        |       dk(  r| j\                  d   }t%        d ||fD              ry t        j"                  }!t[        d ||fD              r)||kD  r||}}tG        ||||      }"|j_                  |"      }!n`|ja                  t        j0                        rA ||%t        j0                        }#t        |!t        tb        f      s|#j_                  |      }!ny |!t        j"                  u rt        j"                  S t        |!td              r-|!jf                  t        jh                  urt/        t        |!       }!|!t+        t-        %|      |!      S y y y # t        t         f$ r Y y w xY w)Nr   )diophantiner>   mT)symspermutec              3   B   K   | ]  }|D ]  }|j                      y wr&   )free_symbols)rY   tuplss      r+   r[   z_.<locals>.<genexpr>   s      DtD!Q^^D^Ds   c              3   H   K   | ]  }j                  |d            yw)r   N)subs)rY   r   fnns     r+   r[   z_.<locals>.<genexpr>)  s      "C2771ad#3"Cs   ")denomssolve_linearc           
          g }| D ]U  } |d|g      \  }}||k(  r|j                  t        |             1|j                  t        |t        |d                   W t	        | S )Nr   )rH   r   r   r	   r   )exprsr0   solsrZ   r;   xisr   s         r+   _solution_unionz_.<locals>._solution_union.  si     D =%aSE238KK	#/KKS"Q( ;<= $<r.   )r=   F)invert_realinvert_complexsolveset)NNc              3   <   K   | ]  }t        |t                y wr&   )
isinstancer   rX   s     r+   r[   z_.<locals>.<genexpr>l  s     :Az!Y':s   c              3   $   K   | ]  }|d u  
 y wr&   r'   rX   s     r+   r[   z_.<locals>.<genexpr>w  s     9199s   c              3   4   K   | ]  }|j                     y wr&   )is_realrX   s     r+   r[   z_.<locals>.<genexpr>}  s     91999r\   )5sympy.solvers.diophantiner   lenlamda	variables	signature	base_setsr
   r   r   r   exprr   r   list	TypeErrorNotImplementedErrorr   anyr   expandr!   r   r   r   sympy.solvers.solversr   r   nameas_real_imagr   is_zeror   	make_argsr#   r   sympy.solvers.solvesetr   r   r   	left_open
right_openr   r`   rb   r]   rG   	intersectrE   r   r   r^   rf   )'rI   rJ   r   r2   gmvarr   solnssolnsolmtr   r   r   fn_f_reimifreelamr   r   r   new_infnew_sup	new_lopen	new_ropeninverterg1h1g2h2	range_setrQ   	solutionsr   r   r   s'                                       @@@r+   r,   r,      s   5 	DJJ  !A%zz##tzz';';;~~a H 1::eX&5??qzzm+K!!B++''*Cc
AaBajj 3ZA>B

$$Q'A[b1vtLM 5zQzz!DDDu:?!&qJD$,,DQ771dii1o6==?D#F1dOQZZ@@ "CU"CDD>
	  JJOOJJ  #166%VVAr]"BBWWR^WWR^Qm:: ZZ5 ::qc\ eBi(!- -H 	OF1Iq11X&&	E8	$	6 	6 JJOOJJ  #%$0@0@9	99"H%H!UYY*B!UYY*B:"b::Qwr7a< ggajGQwr7a< ggajG
 9w&899 

I9w&899 W$'.WG')YO$..|<	??177+ (Aqww 7I%i(L1IJ$-$7$7$>	AJJ&zz!Iu-)..

2R%tI7	$q!i88u 
%O 23  s   V% %V76V7c                     t        |j                        t        | j                        k7  rt        j                  S t	        d t        | j                  |j                        D         S )Nc              3   D   K   | ]  \  }}|j                  |        y wr&   )r   )rY   rZ   js      r+   r[   z_.<locals>.<genexpr>  s     G41aAGs    )r   rG   r
   r   r"   zipr@   r(   s     r+   r,   r,     sD    
166{c!&&k!zzG3qvvqvv3FGHHr.   c                 N   t         j                  t         j                  f}| t        | k(  r:| j                  | j
                  }}|j                  s||v s|j                  s||v r|S | j                  |      sy d}| j                  |j                  k  r|j                  | j                  k  r| j                  |j                  k  r|j                  }|j                  }n1| j                  |j                  kD  r| j                  }| j                  }n| j                  }t        | j                  |j                        s|j                  j                  t              r,| j                  j                  t              s|j                  }nn| j                  j                  t              r,|j                  j                  t              s| j                  }n#t        t        | |g            d   j                  }| j                  xs |j                  }| j                  |j                  k  r| j                  }| j                   }	n1| j                  |j                  kD  r|j                  }|j                   }	n| j                  }t        | j                  |j                        s|j                  j                  t              r,| j                  j                  t              s|j                  }nn| j                  j                  t              r,|j                  j                  t              s| j                  }n#t        t        | |g            d   j                  }| j                   xs |j                   }	||z
  dk(  r	|s|	rd}nd}|rt         j"                  S t        	      S )NFr   T)r
   NegativeInfinityrf   r   leftrightr   _is_comparablerc   rd   r   r   hasr   r   r   r   r   )
r)   r*   inftylrk   emptyrc   r   rd   r   s
             r+   r,   r,     s    

*EHevvqww199U
aii1:H AEww!%%AGGquu,77QWWGGEIWWqwwGGEIGGEAGGQWW- 77;;u%aggkk%.@GGEWW[['E0BGGE
 !!A0399E2q{{I55155=%%CJUUQUU]%%CJ %%CAEE155)5599U#AEEIIe,<%%CUUYYu%aeeii.>%%Cw!u~.q155C5J;!jEzzE3	:66r.   c                 "    t         j                  S r&   )r
   r   r(   s     r+   r,   r,     s    ::r.   c                     |S r&   r'   r(   s     r+   r,   r,     r4   r.   c                 @    t        | j                  |j                  z   S r&   )r   	_elementsr(   s     r+   r,   r,     s    q{{Q[[022r.   c                 b    	 t        | D cg c]	  }||v s| c} S c c}w # t        $ r Y y w xY wr&   )r   r   )r)   r*   els      r+   r,   r,     s8    5"R1W25665 s   	" 	" " 	..c                      y r&   r'   r(   s     r+   r,   r,     r-   r.   c                     | S r&   r'   r(   s     r+   r,   r,     r4   r.   c                     | S r&   r'   r(   s     r+   r,   r,     r4   r.   c                     | S r&   r'   r(   s     r+   r,   r,     r4   r.   c                 @   	 |j                   t        j                  u r|j                  t        j                  u r| S t        t        | j                  t        |j                              t        |j                        dz         }t        ||      S # t        $ r Y y w xY w)Nr>   )_infr
   r   _suprf   r   r_   r`   r   r   r   r   r$   
ValueError)r)   r*   r   s      r+   _intlike_intervalr     sx    66Q'''AFFajj,@H#aeeWQVV_-uQWW~/AB A&& s   9B AB 	BBc                     t        | |      S r&   r   r(   s     r+   r,   r,     r7   r.   c                     t        | |      S r&   r   r(   s     r+   r,   r,     r7   r.   N)4sympy.core.basicr   sympy.core.functionr   r   sympy.core.mulr   sympy.core.numbersr   r   sympy.core.relationalr	   sympy.core.singletonr
   sympy.core.symbolr   r   sympy.core.sortingr   $sympy.functions.elementary.complexesr   #sympy.functions.elementary.integersr   r   sympy.sets.fancysetsr   sympy.sets.setsr   r   r   r   r   sympy.multipledispatchr   sympy.sets.conditionsetr   r   r   r   r   r   r   r   r    r!   r"   sympy.simplify.radsimpr#   r$   registerr,   r   r'   r.   r+   <module>r     s   % 6  * $ " . & 5 > . K K - 0  H H ( 23  L,7 8 L#.I /I Hh/ 0 Hh/' 0' Hh/# 0# M3/,5 0,5\ He, - E8,7 -7& E8,= -= E5)o$ *o$d E8, - E9- . Hc*` +`F J
3I 4I Hh/A7 0A7F Hc* + L#. / Iy13 23 Is+ , C% & Hi0 1 Hi0 1 Iu- . Hh/# 0# Hh/# 0#r.   