+
    i?                     r    R t ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
  ! R R]4      t ! R R	]4      tR
# )z
Physical quantities.
)
AtomicExpr)Symbol)sympify)_QuantityMapper)Prefixc                      a  ] tR t^t o RtRtRtRtRtRt	Rt
RR ltR tR t]R 4       t]R	 4       t]R
 4       t]R 4       tR tR tR tR tR tRR lt]R 4       t]R 4       tRtV tR# )QuantityzP
Physical quantity: can be a unit of measure, a constant or a generic quantity.
TFNc                &   \        V\        4      '       g   \        V4      pVf   TpM!\        V\        4      '       d   \        V4      pWpn        \        P
                  ! WV4      p	Wn        W)n        W9n        WIn	        WYn
        Win        Wyn        V	# N)
isinstancer   str_is_prefixedr   __new___name_abbrev_latex_repr_unicode_repr_ascii_repr_mathml_repr)
clsnameabbrev
latex_reprpretty_unicode_reprpretty_ascii_reprmathml_presentation_repris_prefixedassumptionsobjs
   &&&&&&&&, \/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/physics/units/quantities.pyr   Quantity.__new__   s     $''$<D>F$$F^F '  F3	$/+3&
    c                ,    V\         P                  V &   R # r
   )r   _quantity_dimension_global)self	dimensions   &&r   set_global_dimensionQuantity.set_global_dimension3   s    ;D2248r!   c                    ^ RI Hp \        V4      p\        V\        4      '       d   RV n        VP                  R R 4      p\        V4      pW3VP                  V &   W#P                  V &   R# )z>
Setting a scale factor that is valid across all unit system.

UnitSystemTc                 "    \        V \        4      # r
   )r   r   xs   &r   <lambda>;Quantity.set_global_relative_scale_factor.<locals>.<lambda>@   s    jF+r!   c                     V P                   # r
   )scale_factorr,   s   &r   r.   r/   A   s    annr!   N)	sympy.physics.unitsr*   r   r   r   r   replace_quantity_scale_factors_global,_quantity_dimensional_equivalence_map_global)r$   r1   reference_quantityr*   s   &&& r    set_global_relative_scale_factor)Quantity.set_global_relative_scale_factor6   si     	3|,lF++ $D#+++$
 |,;G:\
11$7HZ??Er!   c                    V P                   # r
   )r   r$   s   &r   r   Quantity.nameG   s    zzr!   c                P    ^ RI Hp VP                  4       pVP                  V 4      # )    r)   )r2   r*   get_default_unit_systemget_quantity_dimensionr$   r*   unit_systems   &  r   r%   Quantity.dimensionK   s$    2 88:11$77r!   c                    V P                   # )zg
Symbol representing the unit name.

Prepend the abbreviation with the prefix symbol if it is defines.
)r   r:   s   &r   r   Quantity.abbrevQ   s     ||r!   c                P    ^ RI Hp VP                  4       pVP                  V 4      # )zG
Overall magnitude of the quantity as compared to the canonical units.
r)   )r2   r*   r>   get_quantity_scale_factorr@   s   &  r   r1   Quantity.scale_factorZ   s&    
 	3 88:44T::r!   c                    R # T r:   s   &r   _eval_is_positiveQuantity._eval_is_positivec       r!   c                    R # rI   rJ   r:   s   &r   _eval_is_constantQuantity._eval_is_constantf   rM   r!   c                    V # r
   rJ   r:   s   &r   	_eval_AbsQuantity._eval_Absi   s    r!   c                F    \        V\        4      '       d   W8w  d   V # R # R # r
   )r   r   )r$   oldnews   &&&r   
_eval_subsQuantity._eval_subsl   s     c8$$K *5$r!   c                    V P                   '       d   V P                   # R P                  \        V P                  4      ^8  d   V P                  ^,          4      # V P                  ^ ,          4      # )z\text{{{}}})r   formatlenargs)r$   printers   &&r   _latexQuantity._latexp   sc    ###!(( ^q0 *.1 D D6:iilD Dr!   c                     ^RI Hp V! WV4      # )aQ  
Convert the quantity to another quantity of same dimensions.

Examples
========

>>> from sympy.physics.units import speed_of_light, meter, second
>>> speed_of_light
speed_of_light
>>> speed_of_light.convert_to(meter/second)
299792458*meter/second

>>> from sympy.physics.units import liter
>>> liter.convert_to(meter**3)
meter**3/1000
)
convert_to)utilra   )r$   otherrA   ra   s   &&& r   ra   Quantity.convert_tow   s    " 	%${33r!   c                    \        4       # )z"Return free symbols from quantity.)setr:   s   &r   free_symbolsQuantity.free_symbols   s     ur!   c                    V P                   # )zWWhether or not the quantity is prefixed. Eg. `kilogram` is prefixed, but `gram` is not.r   r:   s   &r   r   Quantity.is_prefixed   s        r!   rj   )NNNNNF)SI)__name__
__module____qualname____firstlineno____doc__is_commutativeis_real	is_number
is_nonzerois_physical_constant	_diff_wrtr   r&   r7   propertyr   r%   r   r1   rK   rO   rR   rW   r^   ra   rg   r   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s      NGIJ I6E["   8 8
   ; ;D4(   ! !r!   r   c                       ] tR t^tRtRtRtR# )PhysicalConstantzLRepresents a physical constant, eg. `speed_of_light` or `avogadro_constant`.TrJ   N)rm   rn   ro   rp   rq   rv   ry   rJ   r!   r   r}   r}      s    Vr!   r}   N)rq   sympy.core.exprr   sympy.core.symbolr   sympy.core.sympifyr   sympy.physics.units.dimensionsr   sympy.physics.units.prefixesr   r   r}   rJ   r!   r   <module>r      s6    ' $ & : /G!z G!R x  r!   