
    wg                     R    d dl mZmZmZ d dlmZ d dlmZ d dlm	Z	  G d de      Z
y)    )
AtomicExprSymbolS)_sympify)
prettyForm)
PRECEDENCEc                   v     e Zd Zd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.

    c                    ddl m} |dj                  |      }nt        |t              r|j
                  }|dj                  |      }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          X/home/mcse/projects/flask/flask-venv/lib/python3.12/site-packages/sympy/vector/scalar.pyr   zBaseScalar.__new__   s    8e,J
F+#Je,I	6*!I&!goc5&1&*-;<<a#788&/%||c1F4J4J54QQQ	CH
?#
    Tc                     | hS N selfs    r&   free_symbolszBaseScalar.free_symbols-   s	    vr'   c                 L    | |k(  rt         j                  S t         j                  S r)   )r   OneZero)r,   ss     r&   _eval_derivativezBaseScalar._eval_derivative3   s    1955Lvvr'   c                     | j                   S r)   )r   r,   printers     r&   _latexzBaseScalar._latex8   s    r'   c                 ,    t        | j                        S r)   )r   r   r4   s     r&   _prettyzBaseScalar._pretty;   s    $++,,r'   Atomc                     | j                   S r)   )r   r+   s    r&   r!   zBaseScalar.system@   s    ||r'   c                     | j                   S r)   )r   r4   s     r&   	_sympystrzBaseScalar._sympystrD   s    zzr'   )NNr)   )__name__
__module____qualname____doc__r   is_commutative	is_symbolpropertyr-   	_diff_wrtr2   r6   r8   r   
precedencer!   r<   __classcell__)r%   s   @r&   r
   r
      sd    6 NI  I
 - F#J r'   r
   N)
sympy.corer   r   r   sympy.core.sympifyr    sympy.printing.pretty.stringpictr   sympy.printing.precedencer   r
   r*   r'   r&   <module>rK      s     , , ' 7 0> >r'   