o
    jg                     @   sz   d Z ddlmZmZmZmZ ddlmZ ddlm	Z	 ddl
mZ ddlmZ ddlmZ eG dd	 d	e	eeZe Zd
S )z6Implementation of :class:`ExpressionRawDomain` class.     )ExprSsympifyAdd)CharacteristicZero)Field)SimpleDomain)CoercionFailed)publicc                   @   sp   e Zd ZdZd ZZeZej	Z
ejZdZdZdZdd Zedd Zd	d
 Zdd Zdd Zdd Zdd ZdS )ExpressionRawDomainzHA class for arbitrary expressions but without automatic simplification. TEXRAWFc                 C   s   d S N selfr   r   _/var/www/html/zoom/venv/lib/python3.10/site-packages/sympy/polys/domains/expressionrawdomain.py__init__   s   zExpressionRawDomain.__init__c                 C   s   t |S r   )r   r   ar   r   r   new   s   zExpressionRawDomain.newc                 C   s   |S )z!Convert ``a`` to a SymPy object. r   r   r   r   r   to_sympy#      zExpressionRawDomain.to_sympyc                 C   s"   t |tstdt|j |S )z)Convert SymPy's expression to ``dtype``. z&Expecting an Expr instance but found: )
isinstancer   r	   type__name__r   r   r   r   
from_sympy'   s   
zExpressionRawDomain.from_sympyc                 C   s
   | |S )z5Convert a domain element from another domain to EXRAW)r   )r   r   Kr   r   r   convert_from-   s   
z ExpressionRawDomain.convert_fromc                 C   s   | S )z*Returns a field associated with ``self``. r   r   r   r   r   	get_field1   r   zExpressionRawDomain.get_fieldc                 C   s   t | S r   )r   )r   itemsr   r   r   sum5   s   zExpressionRawDomain.sumN)r   
__module____qualname____doc__is_SymbolicRawDomainis_EXRAWr   dtyper   ZerozeroOneonerephas_assoc_Ringhas_assoc_Fieldr   classmethodr   r   r   r   r   r    r   r   r   r   r      s"    
r   N)r#   
sympy.corer   r   r   r   &sympy.polys.domains.characteristiczeror   sympy.polys.domains.fieldr    sympy.polys.domains.simpledomainr   sympy.polys.polyerrorsr	   sympy.utilitiesr
   r   r   r   r   r   r   <module>   s    
,