
    Цi                         S r SSKJr  SSKJrJrJrJrJrJ	r	J
r
  SSKJr  SSKJr  SSKJrJr  SSKJrJrJrJrJr  SSKJr  SS	KJr  SS
KJr  SSKJr  SSK J!r!J"r"  S r#S r$S r%S r&S r'g)z:Tests for tools for constructing domains for expressions.     )construct_domain)ZZQQZZ_IQQ_IRRCCEX)	RealField)ComplexField)CatalanGoldenRatio)EFloatIRationalpi)S)exp)sqrt)sin)xyc            	         [        / SQ5      [        [        S5      [        S5      [        S5      /4:X  d   e[        / SQSS9[        [        S5      [        S5      [        S5      /4:X  d   e[        [        R                  [        S5      [        S5      /5      [        [        S5      [        S5      [        S5      /4:X  d   e[        [        R                  [        S5      [        S5      /SS9[        [        S5      [        S5      [        S5      /4:X  d   e[        [        R
                  [        S5      /5      [        [        SS5      [        S5      /4:X  d   e[        SS[        R
                  /5      n [        U S   [        5      (       d   eU S   [        S5      [        S	5      [        S
5      /:X  d   e[        S[        [        R
                  /5      n [        U S   [        5      (       d   eU S   [        S5      [        S5      [        S
5      /:X  d   e[        S	[        -   /5      [        [        S	S	5      /4:X  d   e[        SS[        -  -   /5      [        [        SS5      /4:X  d   e[        S[        /5      [        [        SS5      [        SS5      /4:X  d   e[        S[        S-  /5      [        [        SS5      [        S[        R
                  5      /4:X  d   e[        S[        S5      /S S9[        [        S5      [        [        S5      5      /4:X  d   e[        S[        S5      /SS9[        [        S5      [        [        S5      5      /4:X  d   e[        S[        S5      /S S9[        [        S5      [        [        S5      5      /4:X  d   e[        [         [        [         5      /5      [        [        [         5      [        [        [         5      5      /4:X  d   e[        [         [        [         5      [        ["        5      /5      [        [        [         5      [        [        [         5      5      [        [        ["        5      5      /4:X  d   e[        R$                  " [        S5      5      n[        S[        R
                  [        S5      /SS9XR'                  S5      UR'                  [        R
                  5      UR'                  [        S5      5      /4:X  d   e[        R$                  " [        S5      [        S5      -   5      n[        S[        S5      [        S5      /SS9XR'                  S5      UR'                  [        S5      5      UR'                  [        S5      5      /4:X  d   e[        [            n[        S[         -  S/5      X"R'                  S[         -  5      UR'                  S5      /4:X  d   e[        [         ["        4   n[        S[         -  S["        -  /5      X"R'                  S[         -  5      UR'                  S["        -  5      /4:X  d   e[        [            n[        [         S-  S/5      X"R'                  [         S-  5      UR'                  S5      /4:X  d   e[        [         ["        4   n[        [         S-  S["        -  /5      X"R'                  [         S-  5      UR'                  S["        -  5      /4:X  d   e[        [            n[        S[         -  [        /5      X"R'                  S[         -  5      UR'                  [        5      /4:X  d   e[        [         ["        4   n[        S[         -  [        ["        -  /5      X"R'                  S[         -  5      UR'                  [        ["        -  5      /4:X  d   e[        [            n[        [         S-  [        /5      X"R'                  [         S-  5      UR'                  [        5      /4:X  d   e[        [         ["        4   n[        [         S-  [        ["        -  /5      X"R'                  [         S-  5      UR'                  [        ["        -  5      /4:X  d   e[        [            n[        [         S-  S/5      X"R'                  [         S-  5      UR'                  S5      /4:X  d   e[        [         ["        4   n[        [         S-  S["        -  /5      X"R'                  [         S-  5      UR'                  S["        -  5      /4:X  d   e[        [            n[        [        [         -  S-  S/5      X"R'                  [        [         -  S-  5      UR'                  S5      /4:X  d   e[        [         ["        4   n[        [        [         -  S-  S["        -  /5      X"R'                  [        [         -  S-  5      UR'                  S["        -  5      /4:X  d   e[        [            n[        [         S-  [        S-  /5      X"R'                  [         S-  5      UR'                  [        S-  5      /4:X  d   e[        [         ["        4   n[        [         S-  [        S-  ["        -  /5      X"R'                  [         S-  5      UR'                  [        S-  ["        -  5      /4:X  d   e[        R(                  " [         5      n[        S[         -  S/5      X"R'                  S[         -  5      UR'                  S5      /4:X  d   e[        R(                  " [         ["        5      n[        S[         -  S["        -  /5      X"R'                  S[         -  5      UR'                  S["        -  5      /4:X  d   e[        R(                  " [         5      n[        S[         -  S/5      X"R'                  S[         -  5      UR'                  S5      /4:X  d   e[        R(                  " [         ["        5      n[        S[         -  S["        -  /5      X"R'                  S[         -  5      UR'                  S["        -  5      /4:X  d   e[        SS9[            n[        [*        R,                  " S5      [         -  /5      X"R'                  [*        R,                  " S5      [         -  5      /4:X  d   e[        S5      [        [        S5      4:X  d   e[        [        S5      S-  5      [        [        SS5      4:X  d   e[        [/        SS5      5      [        [        SS5      4:X  d   e[        0 5      [        0 4:X  d   eg )N)         r   r   r   T)fieldgQ	@r   g      ?g      ?y              ?g       @g      @	extension   g      @iP  )precd   )r   r   r   r   OneHalf
isinstancer   r   r   r   r	   r   r   r   r
   r   r   algebraic_fieldconvert
frac_fieldr   evalfr   )resultalgdoms      a/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/sympy/polys/tests/test_constructor.pytest_construct_domainr/      s   I&21r!ube/D*EEEEIT2rBqE2a5"Q%;P6QQQQQUUAaD!A$/0R"Q%A19N4OOOOQUUAaD!A$/t<beRPQUTVWXTYEZ@[[[[QVVQqTN+R1Xr!u4E/FFFFtQ/0FfQi++++!9D2c7BsG4444tQ/0FfQi....!9D2d8RW5555SUG$bcl^(<<<<SQYK(R"S#,,@@@@QF#tAqz41:.F'GGGGQ!H%$aT!QVV_0M)NNNNT47Ot<bhPRSWXYSZP[E\@]]]]T47Ot<bhPRSWXYSZP[E\@]]]]QQLD9b2a5"TRSW+BV=WWWWQQL)b2a5"T!W+2F-GGGGQQa12rBqE2d1g;PRSWXYSZP[;\6]]]]


T!W
%CQQ0DA	{{1~s{{1662CKKQ4HIJK K K 

T!WtAw.
/CQQa1TB	{{1~s{{473S[[a5IJKL L L Q%CQqS!H%	{{1Q3Q012 2 2 QT(CQqS!A#J'	{{1Q3QqS!1234 4 4 Q%CQqS!H%	{{1Q3Q012 2 2 QT(CQqS!A#J'	{{1Q3QqS!1234 4 4 q'CQqS!H%	{{1Q3Q012 2 2 q!t*CQqS!A#J'	{{1Q3QqS!1234 4 4 q'CQqS!H%	{{1Q3Q012 2 2 q!t*CQqS!A#J'	{{1Q3QqS!1234 4 4 Q%CQqS#J'	{{1Q3S!1234 4 4 QT(CQqS#a%L)	{{1Q3SU!3456 6 6 Q%CQqSUCL)	{{1Q3q5!3;;s#3456 6 6 QT(CQqSUCEN+	{{1Q3q5!3;;s1u#5678 8 8 Q%CQqS!C%L)	{{1Q3QsU!3456 6 6 QT(CQqS!C%'N+	{{1Q3QsU1W!5678 8 8 --
CQqS!H%	{{1Q3Q012 2 2 --1
CQqS!A#J'	{{1Q3QqS!1234 4 4 --
CQqS#J'	{{1Q3S!1234 4 4 --1
CQqS#a%L)	{{1Q3SU!3456 6 6 
a
 CRXXc]1_-.	{{288C=?+,-. . . A2r!u+---AaDF#Bq!H~555HQN+Bq!H~===BB8+++    c                      [        [        * S-  [        -  S-  SS9n [        R                  " U 5      n[        U S-  U S/SS9UUR                  U S-  5      UR                  U 5      UR                  S5      /4:X  d   eg )Nr   r   F)evaluater   Tr   )r   r   r   r   r'   r   r(   )wr,   s     r.   test_complex_exponentialr4      s    QBqDGAI&A


Q
CQT1aLD9	QT		Q	Q	>   r0   c                  ^   [        S[        [        5      0SS9[        S[        [        [        5      5      04:X  d   e[        S[        0SS9[        S[        [        5      04:X  d   e[        SS0SS9[        SS04:X  d   e[        S[        0SS9[        S[        [        5      04:X  d   eg )N)r   F)	composite)r   r   r   )r   r   )r   r   r   r
   r    r0   r.   test_composite_optionr8      s    T3q6Ne<	dBs1vJ ! ! ! T1I7	dBqE]   VQK59	fa[   VQK59	fbe_  r0   c                  8   [        S5      n [        S5      nSSSSSSS	S
SX4 H6  n[        U/5      n[        US   S   5      n[        X$-
  5      U-  S:  a  M6   e   [        U /5      nUS   S   nUS-
  S:  d   e[        U/5      nUS   S   nUS-
  S:  d   eg )Nz1.01z1.0000000000000000000001r   g{Gz?gư>gvIh%<=g+=gؗҜ<g#B;g0.++gYnr   gJz5)r   r   floatabs)f1f2ur+   vr   s         r.   test_precisionr@      s    	vB	)	*BtUE5%!1#&&)A,15zA~%%%	 rd#Fq	!AQ3;;rd#Fq	!AQ3;;r0   c                  8   [         [        [        4 HF  n [        U 5      S   [        U    :X  d   e[        [
        U -   5      S   [        [
        U 4   :X  a  MF   e   [        [        5      S   [        :X  d   e[        [
        [        -   5      S   [        :X  d   eg )Nr   )r   r   r   r   r   r   r   r
   )ns    r.   test_issue_11538rC      s    W"1%A...A&q)R1X555  K(+r111AO,Q/2555r0   N)(__doc__sympy.polys.constructorr   sympy.polys.domainsr   r   r   r   r   r	   r
   sympy.polys.domains.realfieldr    sympy.polys.domains.complexfieldr   
sympy.corer   r   sympy.core.numbersr   r   r   r   r   sympy.core.singletonr   &sympy.functions.elementary.exponentialr   (sympy.functions.elementary.miscellaneousr   (sympy.functions.elementary.trigonometricr   	sympy.abcr   r   r/   r4   r8   r@   rC   r7   r0   r.   <module>rP      sM    @ 4 > > > 3 9 - : : " 6 9 8 L,^$6r0   