+
    i                     :    R t ^RIHt ^ RIHtHt  ! R R4      tR# )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                      a a ] tR t^t oRtR t]V 3R l4       tR t]R 4       t	R t
R tR tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tRtVtV ;t# )DomainScalarz
docstring
c                    \        V\        4      '       g   \        R 4      hVP                  V4      '       g   \        RV: RV: 24      hV P	                  W4      # )zdomain should be of type Domainzelement z should be in domain )
isinstancer   	TypeErrorof_typenew)clselementdomains   &&&ځ/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/sympy/polys/matrices/domainscalar.py__new__DomainScalar.__new__   sI    &&))=>>~~g&&7FSTTwww''    c                >   < \         SV `  V 4      pWn        W#n        V# N)superr   r   r   )r   r   r   obj	__class__s   &&& r   r   DomainScalar.new   s     goc"

r   c                ,    \        V P                  4      # r   )reprr   selfs   &r   __repr__DomainScalar.__repr__$       DLL!!r   c                F    \        V.4      w  pw  pV P                  W24      # r   )r   r   )r   exprr   r   s   &&  r   
from_sympyDomainScalar.from_sympy'   s$    .v6'www''r   c                L    V P                   P                  V P                  4      # r   )r   to_sympyr   r   s   &r   r%   DomainScalar.to_sympy,   s    {{##DLL11r   c                p    VP                  V P                  V P                  4      pV P                  W!4      # r   )convert_fromr   r   r   )r   r   r   s   && r   	to_domainDomainScalar.to_domain/   s+    %%dllDKK@xx((r   c                $    V P                  V4      # r   )r)   )r   r   s   &&r   
convert_toDomainScalar.convert_to3   s    ~~f%%r   c                    V P                   P                  VP                   4      pV P                  V4      VP                  V4      3# r   )r   unifyr)   )r   otherr   s   && r   r/   DomainScalar.unify6   s7    ""5<<0~~f%uv'>>>r   c                ,    \        V P                  4      # r   )boolr   r   s   &r   __bool__DomainScalar.__bool__:   r   r   c                    \        V\        4      '       g   \        # V P                  V4      w  rV P	                  V P
                  VP
                  ,           V P                  4      # r   r   r   NotImplementedr/   r   r   r   r   r0   s   &&r   __add__DomainScalar.__add__=   G    %..!!jj'xxu}}4dkkBBr   c                    \        V\        4      '       g   \        # V P                  V4      w  rV P	                  V P
                  VP
                  ,
          V P                  4      # r   r7   r9   s   &&r   __sub__DomainScalar.__sub__C   r<   r   c                .   \        V\        4      '       g7   \        V\        4      '       d   \        \        V4      \        4      pM\        # V P                  V4      w  rV P                  V P                  VP                  ,          V P                  4      # r   )	r   r   intr   r8   r/   r   r   r   r9   s   &&r   __mul__DomainScalar.__mul__I   sd    %..%%%$RY3%%jj'xxu}}4dkkBBr   c                    \        V\        4      '       g   \        # V P                  V4      w  rV P	                  V P
                  P                  V P                  VP                  4      V P
                  4      # r   )r   r   r8   r/   r   r   quor   r9   s   &&r   __floordiv__DomainScalar.__floordiv__S   Q    %..!!jj'xxemmDdkkRRr   c                    \        V\        4      '       g   \        # V P                  V4      w  rV P	                  V P
                  P                  V P                  VP                  4      V P
                  4      # r   )r   r   r8   r/   r   r   remr   r9   s   &&r   __mod__DomainScalar.__mod__Y   rH   r   c                0   \        V\        4      '       g   \        # V P                  V4      w  rV P                  P                  V P                  VP                  4      w  r#V P                  W P                  4      V P                  W0P                  4      3# r   )r   r   r8   r/   r   divr   r   )r   r0   qrs   &&  r   
__divmod__DomainScalar.__divmod___   sh    %..!!jj'{{t||U]];KK($((1kk*BCCr   c                    \        V\        4      '       g   \        # V P                  V P                  V,          V P
                  4      # r   )r   rA   r8   r   r   r   )r   ns   &&r   __pow__DomainScalar.__pow__f   s2    !S!!!!xxa55r   c                P    V P                  V P                  5V P                  4      # r   r   r   r   r   s   &r   __pos__DomainScalar.__pos__k       xxt{{33r   c                P    V P                  V P                  ) V P                  4      # r   rX   r   s   &r   __neg__DomainScalar.__neg__n   r[   r   c                    \        V\        4      '       g   \        # V P                  VP                  8H  ;'       d    V P                  VP                  8H  # r   )r   r   r8   r   r   r9   s   &&r   __eq__DomainScalar.__eq__q   s=    %..!!||u}},LL1LLr   c                H    V P                   V P                  P                  8H  # r   )r   r   zeror   s   &r   is_zeroDomainScalar.is_zerov   s    ||t{{////r   c                H    V P                   V P                  P                  8H  # r   )r   r   oner   s   &r   is_oneDomainScalar.is_oney   s    ||t{{..r    )__name__
__module____qualname____firstlineno____doc__r   classmethodr   r   r"   r%   r)   r,   r/   r4   r:   r>   rB   rF   rK   rQ   rU   rY   r]   r`   rd   rh   __static_attributes____classdictcell____classcell__)r   __classdict__s   @@r   r   r      s     (  " ( (2)&?"CCCSSD6
44M
0/ /r   r   N)ro   constructorr   sympy.polys.domainsr   r   r   rj   r   r   <module>rw      s   
 + *i/ i/r   