
    ^Mh)                        d Z ddlZddlmZmZ ddlmZ erddl	mZ
 ddlmZmZ 	 g dZej        Zd ej        d          z   d	z  xZZd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(d Z)d!Z*d"Z+d#Z,d$Z-d%Z.d&Z/d'Z0d	d(z  Z1d	d)z  Z2 ed*          xZ3Z4 ed+          Z5 ed,          Z6 ed-          xZ7Z8 ed.          Z9 ed/          xZ:Z; ed0          Z< ed1          xZ=Z> ed2          xZ?Z@ ed3          xZAZB ed4          xZCZD ed5          xZEZF ed6          xZGZH ed7          ZI ed8          ZJdZKdZLd9ZMd:eMz  xZNZOeOe<z  d;z  xZPZQePd<z  ZReOd=z  xZSZTd>eOz  ZUd?eOz  ZVd@eOz  ZWdAeMz  ZXd<eXz  ZYdBZZ edC          xZ[Z\ edD          xZ]Z^ edE          xZ_Z` edF          xZaxZbZcedGz  ZdeddHz  xZeZfeedHz  xZgZhdIZidHeiz  ZjdJejz  ZkdKekz  ZldLekz  ZmdMekz  Znd;Zod<eoz  ZpdNepz  ZqdOeqz  ZreodPz  ZseodQz  xZtZudRZvdSevz  ZwdTZxdZydUZzdZ{dVxZ|Z}ene3z  Z~e|egz  Z edW          xZZdXZedYz  xZZeOe<z  eoeoz  z  ZdZZd[epd	z  z  ZdxZZd\eodNz  z  xZZed]z  xZZd^ez  xZZd_Zed`z  Zdejz  Zerejz  ZdaxZZexejz  ZdbZdcZe>xZZddxZZdeZdfZeOez  ez  eKz  ZeOez  ez  eKz  xZZdez  Zdgepz  eOz  e<z  xZZdhxZZeOe<z  xZZe<xZZdidjdkedledmefdnZdodjdmefdpZdqdjdmefdrZdS )sa  
Collection of physical constants and conversion factors.

Most constants are in SI units, so you can do
print '10 mile per minute is', 10*mile/minute, 'm/s or', 10*mile/(minute*knot), 'knots'

The list is not meant to be comprehensive, but just convenient for everyday use.
    N)TYPE_CHECKINGAny   )value)array_namespace_asarray)Avogadro	BoltzmannBtuBtu_ITBtu_thGJulian_yearN_APlanckRRydbergStefan_BoltzmannWienacrealphaangstromarcmin	arcminutearcsec	arcsecondastronomical_unitatm
atmosphereatomic_massattoaubarbarrelbblblobccalorie
calorie_IT
calorie_thcaratcenticonvert_temperaturedaydecidegreedegree_FahrenheitdekadyndyneeeVelectron_masselectron_voltelementary_charge	epsilon_0ergexaexbifemtofermifine_structurefluid_ouncefluid_ounce_USfluid_ounce_impfootggallon	gallon_US
gallon_impgas_constantgibigigagoldengolden_ratiograingramgravitational_constanthhbarhectarehecto
horsepowerhourhpinchkkgfkibikilokilogram_forcekmhknot	lambda2nulblbf
light_yearliterlitrelong_tonm_em_nm_pm_umachmebimega
metric_tonmicromicronmilmilemilliminutemmHgmphmu_0nanonautical_mileneutron_mass	nu2lambdaounceozparsecpebipetapipicopointpoundpound_forceproton_masspsiptquectoquettaronnaronto	short_tonsigmaslinchslugspeed_of_lightspeed_of_soundstonesurvey_footsurvey_miletebiteraton_TNTtorr
troy_ounce
troy_pounduweekyardyearyobiyoctoyottazebizeptozero_Celsiuszetta      gꌠ9Y>)FgqىEgyCxDgPKDg NgmCg  4&kCg   mBg    eAg    .Ag     @@g      Y@g      $@g?g{Gz?gMbP?gư>g&.>g-q=gV瞯<gC]r2<gO
;gW:g<6S:gKH9i   i   i   @l        l           l            F   P   zspeed of light in vacuumzvacuum mag. permeabilityzvacuum electric permittivityzPlanck constantzreduced Planck constantz!Newtonian constant of gravitationz standard acceleration of gravityzelementary chargezmolar gas constantzfine-structure constantzAvogadro constantzBoltzmann constantzStefan-Boltzmann constantz)Wien wavelength displacement law constantzRydberg constantg̔?iX  g
F%u?         i  i  i  g-C6*?zelectron masszproton masszneutron masszatomic mass constant   <   g      N@      im  g     v@   i  i  H   g;pjځ?i  g     @g|=g  6-]jABzstandard atmosphereg     j@i  g     @i(        *   gr?   g     Hu@gfffffq@grq?g#~j@g:H@gHz>i&  gh㈵>valznpt.ArrayLike	old_scale	new_scalereturnc                    t          |           }t          | |d          }|                                dv r|t          z   }nu|                                dv r|}n\|                                dv r|dz
  dz  dz  t          z   }n2|                                d	v r	|dz  dz  }nt	          d
|d          |                                dv r|t          z
  }nu|                                dv r|}n\|                                dv r|t          z
  dz  dz  dz   }n2|                                d	v r	|dz  dz  }nt	          d|d          |S )a]  
    Convert from a temperature scale to another one among Celsius, Kelvin,
    Fahrenheit, and Rankine scales.

    Parameters
    ----------
    val : array_like
        Value(s) of the temperature(s) to be converted expressed in the
        original scale.
    old_scale : str
        Specifies as a string the original scale from which the temperature
        value(s) will be converted. Supported scales are Celsius ('Celsius',
        'celsius', 'C' or 'c'), Kelvin ('Kelvin', 'kelvin', 'K', 'k'),
        Fahrenheit ('Fahrenheit', 'fahrenheit', 'F' or 'f'), and Rankine
        ('Rankine', 'rankine', 'R', 'r').
    new_scale : str
        Specifies as a string the new scale to which the temperature
        value(s) will be converted. Supported scales are Celsius ('Celsius',
        'celsius', 'C' or 'c'), Kelvin ('Kelvin', 'kelvin', 'K', 'k'),
        Fahrenheit ('Fahrenheit', 'fahrenheit', 'F' or 'f'), and Rankine
        ('Rankine', 'rankine', 'R', 'r').

    Returns
    -------
    res : float or array of floats
        Value(s) of the converted temperature(s) expressed in the new scale.

    Notes
    -----
    .. versionadded:: 0.18.0

    Examples
    --------
    >>> from scipy.constants import convert_temperature
    >>> import numpy as np
    >>> convert_temperature(np.array([-40, 40]), 'Celsius', 'Kelvin')
    array([ 233.15,  313.15])

    Txpsubok)celsiusr'   )kelvinrY   )
fahrenheitf    r   	   )rankinerz
old_scale=zN is unsupported: supported scales are Celsius, Kelvin, Fahrenheit, and Rankinez
new_scale=zV is unsupported: supported scales are 'Celsius', 'Kelvin', 'Fahrenheit', and 'Rankine')r   r   lowerr   NotImplementedError)r   r   r   r   _valtemporess          Z/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/scipy/constants/_constants.pyr-   r-      s   X 
		BCBd+++D,,,|#			o	-	-			1	1	1a!#l2			.	.	.q1! #-Y #- #- #- . . 	. ,,,l"			o	-	-			1	1	1|#q(1,r1			.	.	.ai!m! #AY #A #A #A B B 	B J    lambda_c                 T    t          |           }t          t          | |d          z  S )aL  
    Convert wavelength to optical frequency

    Parameters
    ----------
    lambda_ : array_like
        Wavelength(s) to be converted.

    Returns
    -------
    nu : float or array of floats
        Equivalent optical frequency.

    Notes
    -----
    Computes ``nu = c / lambda`` where c = 299792458.0, i.e., the
    (vacuum) speed of light in meters/second.

    Examples
    --------
    >>> from scipy.constants import lambda2nu, speed_of_light
    >>> import numpy as np
    >>> lambda2nu(np.array((1, speed_of_light)))
    array([  2.99792458e+08,   1.00000000e+00])

    Tr   r   r'   r   )r   r   s     r   r`   r`   3  s+    6 
	!	!BxBd33333r   nuc                 T    t          |           }t          t          | |d          z  S )aL  
    Convert optical frequency to wavelength.

    Parameters
    ----------
    nu : array_like
        Optical frequency to be converted.

    Returns
    -------
    lambda : float or array of floats
        Equivalent wavelength(s).

    Notes
    -----
    Computes ``lambda = c / nu`` where c = 299792458.0, i.e., the
    (vacuum) speed of light in meters/second.

    Examples
    --------
    >>> from scipy.constants import nu2lambda, speed_of_light
    >>> import numpy as np
    >>> nu2lambda(np.array((1, speed_of_light)))
    array([  2.99792458e+08,   1.00000000e+00])

    Tr   r   )r   r   s     r   r{   r{   R  s+    6 
		Bxr.....r   )__doc__math_mathtypingr   r   _codatar   _cdnumpy.typingnptscipy._lib._array_apir   r   __all__r   sqrtrL   rM   r   r   r   r   r<   r   r   rK   rm   r\   rT   r2   r/   r,   rs   ro   rx   r   r>   r!   r   r   r   r   r[   rl   rJ   r   r   r=   r   r   r'   r   rw   r:   rQ   r   rR   r   rP   rE   r5   r9   r   rI   r   r@   r   r	   rY   r
   r   r   r   r   rO   rn   rN   ra   r   r&   r   r   r}   r|   r   rf   r   r   r   r+   rg   r7   ri   r   rh   rz   rj   r   r    r0   r   r   r   r   rt   rV   r.   r   r   r   rX   rD   r   rr   rq   r   r   r   r   ry   r?   r   rp   r"   r   rc   r~   r   r   r#   r   ru   r   rS   r   re   rd   rF   rG   rA   rB   r%   r$   rH   rC   r^   rv   rk   r   r_   r   r1   r6   r8   r(   r*   r)   r;   r   r   r   r   rW   rU   r3   r4   rb   r   rZ   r]   strr-   r`   r{    r   r   <module>r      s        % % % % % % % % ! ! ! ! ! !  ; ; ; ; ; ; ; ;# # #N XZUZ]]*a/ / 





	 "u"u S344 4N
s%&&C.//	S"## #F
s$%% S!DEE EC*++/00 03+,, ,L677 7()) )h()) )I3:;; ;
s677
# 
!
! 
E\ U	F" "vbyRZ U
U
%<5L	5[
*_
c/** *mC&& &kS(( (l233 3 3a+ 
cb[  b[   
	F{4i3w
Sysl 	Dy4xd{
TkBY U[ 	' '1_
	f 3,-- -j	Ci tai4$; tQw  47] "(3 .nI~ f
s" 
Dj
Tk ~t   ' &] *

	"	"Z	/$	6((:5< <f


 *u$q( (Z  dAI k n
I	II I 		I I I I^4 43 4 4 4 4>// /c / / / / / /r   