o
    oÇhª  ã                   @   sL   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„ deƒZ
dS )é    )Ú
AtomicExprÚSymbolÚS)Ú_sympify)Ú
prettyForm)Ú
PRECEDENCEc                       sr   e Zd Zd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.Ú.Ú )Ú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__© úg/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/sympy/vector/scalar.pyr      s,   




zBaseScalar.__new__Tc                 C   s   | hS ©Nr$   ©Úselfr$   r$   r%   Úfree_symbols-   ó   zBaseScalar.free_symbolsc                 C   s   | |krt jS t jS r&   )r   ÚOneÚZero)r(   Úsr$   r$   r%   Ú_eval_derivative3   s   zBaseScalar._eval_derivativec                 C   ó   | j S r&   )r   ©r(   Úprinterr$   r$   r%   Ú_latex8   ó   zBaseScalar._latexc                 C   s
   t | jƒS r&   )r   r   r0   r$   r$   r%   Ú_pretty;   s   
zBaseScalar._prettyÚAtomc                 C   r/   r&   )r   r'   r$   r$   r%   r   @   r*   zBaseScalar.systemc                 C   r/   r&   )r   r0   r$   r$   r%   Ú	_sympystrD   r3   zBaseScalar._sympystr)NNr&   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Úis_commutativeÚ	is_symbolÚpropertyr)   Ú	_diff_wrtr.   r2   r4   r   Ú
precedencer   r6   Ú__classcell__r$   r$   r"   r%   r      s    



r   N)Ú
sympy.corer   r   r   Úsympy.core.sympifyr   Ú sympy.printing.pretty.stringpictr   Úsympy.printing.precedencer   r   r$   r$   r$   r%   Ú<module>   s
    