§
    OŠtjÂ  ã                   ó@   — d Z ddlmZ ddlmZmZ  G d„ d¦  «        ZdS )a(  

Module for the DomainScalar class.

A DomainScalar represents an element which is in a particular
Domain. The idea is that the DomainScalar class provides the
convenience routines for unifying elements with different domains.

It assists in Scalar Multiplication and getitem for DomainMatrix.

é   )Úconstruct_domainé    )ÚDomainÚZZc                   óº   ‡ — e Zd ZdZd„ Zeˆ fd„¦   «         Zd„ Zed„ ¦   «         Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zˆ xZS )ÚDomainScalarz
    docstring
    c                 óÊ   — t          |t          ¦  «        st          d¦  «        ‚|                     |¦  «        st          d|›d|›�¦  «        ‚|                      ||¦  «        S )Nzdomain should be of type Domainzelement z should be in domain )Ú
isinstancer   Ú	TypeErrorÚof_typeÚnew)ÚclsÚelementÚdomains      ú_/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/polys/matrices/domainscalar.pyÚ__new__zDomainScalar.__new__   sg   € Ý˜&¥&Ñ)Ô)ð 	?ÝÐ=Ñ>Ô>Ð>Ø�~Š~˜gÑ&Ô&ð 	UÝ�)À7À7À7ÈFÈFÐSÑTÔTÐTØ�wŠw�w Ñ'Ô'Ð'ó    c                 óf   •— t          ¦   «                              | ¦  «        }||_        ||_        |S ©N)Úsuperr   r   r   )r   r   r   ÚobjÚ	__class__s       €r   r   zDomainScalar.new   s+   ø€ å‰gŒg�oŠo˜cÑ"Ô"ˆØˆŒØˆŒ
Øˆ
r   c                 ó*   — t          | j        ¦  «        S r   )Úreprr   ©Úselfs    r   Ú__repr__zDomainScalar.__repr__$   ó   € Ý�D”LÑ!Ô!Ð!r   c                 óX   — t          |g¦  «        \  }\  }|                      ||¦  «        S r   )r   r   )r   Úexprr   r   s       r   Ú
from_sympyzDomainScalar.from_sympy'   s,   € å.°¨vÑ6Ô6Ñˆ‘�'Ø�wŠw�w Ñ'Ô'Ð'r   c                 ó@   — | j                              | j        ¦  «        S r   )r   Úto_sympyr   r   s    r   r#   zDomainScalar.to_sympy,   s   € ØŒ{×#Ò# D¤LÑ1Ô1Ð1r   c                 ón   — |                      | j        | j        ¦  «        }|                      ||¦  «        S r   )Úconvert_fromr   r   r   )r   r   r   s      r   Ú	to_domainzDomainScalar.to_domain/   s/   € Ø×%Ò% d¤l°D´KÑ@Ô@ˆØ�xŠx˜ Ñ(Ô(Ð(r   c                 ó,   — |                       |¦  «        S r   )r&   )r   r   s     r   Ú
convert_tozDomainScalar.convert_to3   s   € Ø�~Š~˜fÑ%Ô%Ð%r   c                 ó”   — | j                              |j         ¦  «        }|                      |¦  «        |                     |¦  «        fS r   )r   Úunifyr&   )r   Úotherr   s      r   r*   zDomainScalar.unify6   s<   € Ø”×"Ò" 5¤<Ñ0Ô0ˆØ�~Š~˜fÑ%Ô% u§¢°vÑ'>Ô'>Ð>Ð>r   c                 ó*   — t          | j        ¦  «        S r   )Úboolr   r   s    r   Ú__bool__zDomainScalar.__bool__:   r   r   c                 óº   — t          |t          ¦  «        st          S |                      |¦  «        \  } }|                      | j        |j        z   | j        ¦  «        S r   ©r
   r   ÚNotImplementedr*   r   r   r   ©r   r+   s     r   Ú__add__zDomainScalar.__add__=   óN   € Ý˜%¥Ñ.Ô.ð 	"Ý!Ð!Ø—j’j Ñ'Ô'‰ˆˆeØ�xŠx˜œ u¤}Ñ4°d´kÑBÔBÐBr   c                 óº   — t          |t          ¦  «        st          S |                      |¦  «        \  } }|                      | j        |j        z
  | j        ¦  «        S r   r0   r2   s     r   Ú__sub__zDomainScalar.__sub__C   r4   r   c                 ó*  — t          |t          ¦  «        s?t          |t          ¦  «        r#t          t          |¦  «        t          ¦  «        }nt          S |                      |¦  «        \  } }|                      | j        |j        z  | j        ¦  «        S r   )	r
   r   Úintr   r1   r*   r   r   r   r2   s     r   Ú__mul__zDomainScalar.__mul__I   sw   € Ý˜%¥Ñ.Ô.ð 	&Ý˜%¥Ñ%Ô%ð &Ý$¥R¨¡Y¤YµÑ3Ô3��å%Ð%à—j’j Ñ'Ô'‰ˆˆeØ�xŠx˜œ u¤}Ñ4°d´kÑBÔBÐBr   c                 óæ   — t          |t          ¦  «        st          S |                      |¦  «        \  } }|                      | j                             | j        |j        ¦  «        | j        ¦  «        S r   )r
   r   r1   r*   r   r   Úquor   r2   s     r   Ú__floordiv__zDomainScalar.__floordiv__S   óY   € Ý˜%¥Ñ.Ô.ð 	"Ý!Ð!Ø—j’j Ñ'Ô'‰ˆˆeØ�xŠx˜œŸš¨¬°e´mÑDÔDÀdÄkÑRÔRÐRr   c                 óæ   — t          |t          ¦  «        st          S |                      |¦  «        \  } }|                      | j                             | j        |j        ¦  «        | j        ¦  «        S r   )r
   r   r1   r*   r   r   Úremr   r2   s     r   Ú__mod__zDomainScalar.__mod__Y   r=   r   c                 ó&  — t          |t          ¦  «        st          S |                      |¦  «        \  } }| j                             | j        |j        ¦  «        \  }}|                      || j        ¦  «        |                      || j        ¦  «        fS r   )r
   r   r1   r*   r   Údivr   r   )r   r+   ÚqÚrs       r   Ú
__divmod__zDomainScalar.__divmod___   sw   € Ý˜%¥Ñ.Ô.ð 	"Ý!Ð!Ø—j’j Ñ'Ô'‰ˆˆeØŒ{�Š˜tœ|¨U¬]Ñ;Ô;‰ˆˆ1Ø—’˜˜DœKÑ(Ô(¨$¯(ª(°1°d´kÑ*BÔ*BÐCÐCr   c                 ó€   — t          |t          ¦  «        st          S |                      | j        |z  | j        ¦  «        S r   )r
   r8   r1   r   r   r   )r   Úns     r   Ú__pow__zDomainScalar.__pow__f   s6   € Ý˜!�SÑ!Ô!ð 	"Ý!Ð!Ø�xŠx˜œ a™¨¬Ñ5Ô5Ð5r   c                 óD   — |                       | j        
 | j        ¦  «        S r   ©r   r   r   r   s    r   Ú__pos__zDomainScalar.__pos__k   ó   € Ø�xŠx˜œ˜ t¤{Ñ3Ô3Ð3r   c                 óD   — |                       | j         | j        ¦  «        S r   rJ   r   s    r   Ú__neg__zDomainScalar.__neg__n   rL   r   c                 óz   — t          |t          ¦  «        st          S | j        |j        k    o| j        |j        k    S r   )r
   r   r1   r   r   r2   s     r   Ú__eq__zDomainScalar.__eq__q   s7   € Ý˜%¥Ñ.Ô.ð 	"Ý!Ð!ØŒ|˜uœ}Ò,ÐL°´ÀÄÒ1LÐLr   c                 ó,   — | j         | j        j        k    S r   )r   r   Úzeror   s    r   Úis_zerozDomainScalar.is_zerov   s   € ØŒ|˜tœ{Ô/Ò/Ð/r   c                 ó,   — | j         | j        j        k    S r   )r   r   Úoner   s    r   Úis_onezDomainScalar.is_oney   s   € ØŒ|˜tœ{œÒ.Ð.r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úclassmethodr   r   r!   r#   r&   r(   r*   r.   r3   r6   r9   r<   r@   rE   rH   rK   rN   rP   rS   rV   Ú__classcell__)r   s   @r   r   r      s›  ø€ € € € € ðð ð(ð (ð (ð ðð ð ð ñ „[ðð"ð "ð "ð ð(ð (ñ „[ð(ð2ð 2ð 2ð)ð )ð )ð&ð &ð &ð?ð ?ð ?ð"ð "ð "ðCð Cð CðCð Cð CðCð Cð CðSð Sð SðSð Sð SðDð Dð Dð6ð 6ð 6ð
4ð 4ð 4ð4ð 4ð 4ðMð Mð Mð
0ð 0ð 0ð/ð /ð /ð /ð /ð /ð /r   r   N)rZ   Úconstructorr   Úsympy.polys.domainsr   r   r   © r   r   ú<module>r`      sw   ðð
ð 
ð +Ð *Ð *Ð *Ð *Ð *à *Ð *Ð *Ð *Ð *Ð *Ð *Ð *ði/ð i/ð i/ð i/ð i/ñ i/ô i/ð i/ð i/ð i/r   