
    Xh                     f    d dl 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  G d de          ZdS )	    )
AtomicExprSymbolS)_sympify)
prettyForm)
PRECEDENCE)
NumberKindc                        e Zd ZdZeZd fd	ZdZdZe	d             Z
dZd ZddZddZed	         Ze	d
             Zd Z xZS )
BaseScalarzb
    A coordinate symbol/base scalar.

    Ideally, users should not instantiate this class.

    Nc                 p   ddl m} |d                    |          }nt          |t                    r|j        }|d                    |          }nt          |t                    r|j        }t          |          }t          |          }t                                          | ||          }t          ||          st          d          |t          dd          vrt          d          ||f|_        |j        dz   |j        |         z   x|_        |_        d	|z   |_        ||_        ||_        |S )
Nr   )
CoordSys3Dzx{}zx_{}zsystem should be a CoordSys3D   zInvalid index specified.. )sympy.vector.coordsysrectr   format
isinstancer   namer   super__new__	TypeErrorrange
ValueError_id_name_variable_names_pretty_form_latex_form_system)clsindexsystem
pretty_str	latex_strr   obj	__class__s          e/var/www/tools.fuzzalab.pt/emblema-extractor/venv/lib/python3.11/site-packages/sympy/vector/scalar.pyr   zBaseScalar.__new__   s9   888888e,,JJ
F++ 	)#Je,,II	6** 	'!I&!!ggooc5&11&*-- 	=;<<<a##7888&/%|c1F4J54QQQ	CH
?#
    Tc                     | hS N selfs    r'   free_symbolszBaseScalar.free_symbols0   s	    vr(   c                 >    | |k    rt           j        S t           j        S r*   )r   OneZero)r-   ss     r'   _eval_derivativezBaseScalar._eval_derivative6   s    1995Lvr(   c                     | j         S r*   )r   r-   printers     r'   _latexzBaseScalar._latex;   s    r(   c                 *    t          | j                  S r*   )r   r   r5   s     r'   _prettyzBaseScalar._pretty>   s    $+,,,r(   Atomc                     | j         S r*   )r   r,   s    r'   r"   zBaseScalar.systemC   s
    |r(   c                     | j         S r*   )r   r5   s     r'   	_sympystrzBaseScalar._sympystrG   s
    zr(   )NNr*   )__name__
__module____qualname____doc__r	   kindr   is_commutative	is_symbolpropertyr.   	_diff_wrtr3   r7   r9   r   
precedencer"   r=   __classcell__)r&   s   @r'   r   r      s          D     6 NI  X I  
       - - - - F#J  X      r(   r   N)
sympy.corer   r   r   sympy.core.sympifyr    sympy.printing.pretty.stringpictr   sympy.printing.precedencer   sympy.core.kindr	   r   r+   r(   r'   <module>rN      s    , , , , , , , , , , ' ' ' ' ' ' 7 7 7 7 7 7 0 0 0 0 0 0 & & & & & &@ @ @ @ @ @ @ @ @ @r(   