
    g                     V    d 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 Zd Zd	S )
zTests for quotient rings.    )ZZ)QQ)xy)NotReversible)raisesc            	      P   t          j        t                    t          dz  gz  } |                     t                    dz   z  |                     t          dz  t          z             k    sJ t          z  |                     t          dz            k    sJ t          z  |                     t          dz            k    sJ t          z   |                     dt          z            k    sJ t          z   dz  k    sJ dz  |                     t          dz            k    sJ ddz
  z  |                     t	          d t          d          D                                 k    sJ dz  | j        k    sJ t          k    sJ t          t          fd           d S )N
         c              3   *   K   | ]}t           |z  V  d S N)r   ).0is     g/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/polys/domains/tests/test_quotientring.py	<genexpr>z+test_QuotientRingElement.<locals>.<genexpr>   s&      %>%>qad%>%>%>%>%>%>    c                      d z  S )Nr    )Xs   r   <lambda>z*test_QuotientRingElement.<locals>.<lambda>   s    !A# r   )	r   old_poly_ringr   convertsumrangezeror   r   )Rr   s    @r   test_QuotientRingElementr      sy   
QUG#A			!Aa!e9		!Q$(++++++Q3!))AqD//!!!!Q3!))AqD//!!!!q5AIIacNN""""q5AaC<<<<a4199QT??""""a!e9		#%>%>E"II%>%>%>">">??????b5AF????6666
=++++&&&&&r   c                     t          j        t                                        t          dz  dz             } t          j        t                    | z  }|t          j        t                    t          dz  dz   gz  k    sJ |t          j        t                    t          j        t                                        t          dz  dz             z  k    sJ |t          j        t                    k    sJ |                    d          t          z  t           | z   k    sJ d| z   t          dz  | z   k    sJ |                    t          d          t
                    d| z   k    sJ |                    |                    t                    |          |                    t                    k    sJ |                    t                    }t          j        t                                        t                    }d| z   |dz  | z   k    sJ d| z   |dz  | z   k    sJ |                    |          t          k    sJ t          t          d            t          j        t          d          }|                    t                    } |                    d          | z   || z                      d          k    sJ d S )Nr   r   c                      t          j        t                    t          j        t          t                                        t                    z  S r   )r   r   r   r   idealr   r   r   r   z#test_QuotientRing.<locals>.<lambda>0   s2    r/2223CAq3I3I3O3OPQ3R3RR r   ilex)order)	r   r   r   r"   r   r   to_sympyr   
ValueError)Ir   r   Ys       r   test_QuotientRingr)      sT   
!!!Q$(++A
AA ##QTAXJ..... ##B$4Q$7$7$=$=adQh$G$GGGGGG ######99Q<<>aR!V####6QTAX99RUUB1q5((((99QYYq\\1%%15555			!A
##A&&A6QTAX6QTAX::a==A
:RRSSS
&)))A	

A99Q<<!!}}Q////////r   N)__doc__sympy.polys.domains.integerringr   !sympy.polys.domains.rationalfieldr   	sympy.abcr   r   sympy.polys.polyerrorsr   sympy.testing.pytestr   r   r)   r   r   r   <module>r0      s      . . . . . . 0 0 0 0 0 0         0 0 0 0 0 0 ' ' ' ' ' '' ' '"0 0 0 0 0r   