+
    ij                     N    R t ^ RIHt ^ RIHt ^ RIHt ] ! R R]4      4       tR# )z2Implementation of :class:`CompositeDomain` class. )Domain)GeneratorsError)publicc                      a  ] tR t^	t o RtRtR.^,          w  tttt	R t
R tR t]R 4       tR t]R	 4       tR
 tRtV tR# )CompositeDomainz5Base class for composite domains, e.g. ZZ[x], ZZ(X). TNc                   \        V P                  4      \        V4      ,          '       g9   V P                  V P                  V P                  V,           V P                  4      # \        RV P                  : RV: 24      h)z%Inject generators into this domain.  zcommon generators in z and )setsymbols	__class__domainorderr   )selfr	   s   &*a/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/polys/domains/compositedomain.pyinjectCompositeDomain.inject   sS    DLL!CL00>>$++t||g/EtzzRR!dllT["\]]    c                &  a \        V4      o\        ;QJ d!    . V3R lV P                   4       F  NK  	  5M! V3R lV P                   4       4      pV P                  P                  ! V!  pV'       g   V# V P                  W2V P                  4      # )z"Drop generators from this domain. c              3   8   <"   T F  qS9  g   K  Vx  K  	  R # 5iN ).0ssymsets   & r   	<genexpr>'CompositeDomain.drop.<locals>.<genexpr>   s     C<aF?<s   
)r   tupler	   r   dropr
   r   )r   r	   newsymsr   r   s   &*  @r   r   CompositeDomain.drop   sc    W%C4<<C%%C4<<CC!!7+M>>&4::>>r   c                N    V P                  WP                  V P                  4      # )z&Set the ground domain of this domain. )r
   r	   r   )r   r   s   &&r   
set_domainCompositeDomain.set_domain"   s    ~~fllDJJ??r   c                .    V P                   P                  # )z*Returns ``True`` if this domain is exact. )r   is_Exactr   s   &r   r#   CompositeDomain.is_Exact&   s     {{###r   c                T    V P                  V P                  P                  4       4      # )z)Returns an exact version of this domain. )r    r   	get_exactr$   s   &r   r'   CompositeDomain.get_exact+   s    t{{44677r   c                .    V P                   P                  # r   )r   has_CharacteristicZeror$   s   &r   r*   &CompositeDomain.has_CharacteristicZero/   s    {{111r   c                6    V P                   P                  4       # r   )r   characteristicr$   s   &r   r-   CompositeDomain.characteristic3   s    {{))++r   r   )__name__
__module____qualname____firstlineno____doc__is_Compositegensngensr	   r   r   r   r    propertyr#   r'   r*   r-   __static_attributes____classdictcell__)__classdict__s   @r   r   r   	   si     ?L$(6!8 D%&^?@ $ $8 2 2, ,r   r   N)r3   sympy.polys.domains.domainr   sympy.polys.polyerrorsr   sympy.utilitiesr   r   r   r   r   <module>r>      s,    8 . 2 "*,f *, *,r   