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

    Ideally, users should not instantiate this class.

    Nc                    s   ddl m} |d u rd|}nt|tr|j}|d u r"d|}nt|tr*|j}t|}t|}t | ||}t||sCt	d|t
ddvrNtd||f|_|jd |j|   |_|_d	| |_||_||_|S )
Nr   )
CoordSys3Dzx{}zx_{}zsystem should be a CoordSys3D   zInvalid index specified.. )Zsympy.vector.coordsysrectr
   format
isinstancer   namer   super__new__	TypeErrorrange
ValueErrorZ_id_nameZ_variable_names_pretty_form_latex_form_system)clsindexsystem
pretty_strZ	latex_strr
   obj	__class__ b/var/www/html/eduruby.in/lip-sync/lip-sync-env/lib/python3.10/site-packages/sympy/vector/scalar.pyr      s,   




zBaseScalar.__new__Tc                 C   s   | hS Nr!   selfr!   r!   r"   free_symbols0      zBaseScalar.free_symbolsc                 C   s   | |krt jS t jS r#   )r   ZOneZZero)r%   sr!   r!   r"   _eval_derivative6   s   zBaseScalar._eval_derivativec                 C      | j S r#   )r   r%   printerr!   r!   r"   _latex;      zBaseScalar._latexc                 C   s
   t | jS r#   )r   r   r+   r!   r!   r"   _pretty>   s   
zBaseScalar._prettyZAtomc                 C   r*   r#   )r   r$   r!   r!   r"   r   C   r'   zBaseScalar.systemc                 C   r*   r#   )r   r+   r!   r!   r"   	_sympystrG   r.   zBaseScalar._sympystr)NNr#   )__name__
__module____qualname____doc__r   kindr   Zis_commutativeZ	is_symbolpropertyr&   Z	_diff_wrtr)   r-   r/   r   
precedencer   r0   __classcell__r!   r!   r   r"   r	      s     



r	   N)Z
sympy.corer   r   r   Zsympy.core.sympifyr   Z sympy.printing.pretty.stringpictr   Zsympy.printing.precedencer   Zsympy.core.kindr   r	   r!   r!   r!   r"   <module>   s    