Ë
    7^(h.M  ã                   ó|  — d dl Z d dlmZ d dlmZmZ d dlmZmZ d dl	m
Z
 d dlmZmZ d dlmZ d dlmZmZ d d	lmZ d d
lmZ d dlmZ d dlmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z% d dl&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZD d dlEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZM d dlNmOZOmPZP d dlQmRZRmSZS d dlTmUZU d dlVmWZW eOd   ZXd„ ZYd„ ZZd„ Z[d„ Z\d„ Z]d„ Z^d„ Z_d„ Z`d„ Zad„ Zbd„ Zcd„ Zdd „ Zed!„ Zfd"„ Zgd#„ Zhd$„ Zid%„ Zjd&„ Zkd'„ Zld(„ Zmd)„ Znd*„ Zod+„ Zpd,„ Zqd-„ Zrd.„ Zsd/„ Ztd0„ Zud1„ Zvd2„ Zwd3„ Zxd4„ Zyy)5é    N)ÚAdd)ÚFunctionÚdiff)ÚNumberÚRational)ÚS)ÚSymbolÚsymbols)ÚAbs)ÚexpÚlog)Úsqrt)Úsin)Ú	integrate)Úamount_of_substanceÚareaÚ
convert_toÚ	find_unitÚvolumeÚ	kilometerÚjouleÚmolar_gas_constantÚvacuum_permittivityÚelementary_chargeÚvoltÚohm)ÚamuÚauÚ
centimeterÚcoulombÚdayÚfootÚgramsÚhourÚinchÚkgÚkmÚmÚmeterÚ
millimeterÚminuteÚquartÚsÚsecondÚspeed_of_lightÚbitÚbyteÚkibibyteÚmebibyteÚgibibyteÚtebibyteÚpebibyteÚexbibyteÚkilogramÚgravitational_constantÚelectron_rest_mass)Ú	DimensionÚchargeÚlengthÚtimeÚtemperatureÚpressureÚenergyÚmass)ÚPREFIXESÚkilo)ÚPhysicalConstantÚQuantity)ÚSI)ÚraisesÚkc                  ó,   — t        t        «      dk(  sJ ‚y )Nr8   )Ústrr&   © ó    úg/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/physics/units/tests/test_quantities.pyÚtest_str_reprrO   #   s   € ÜŒr‹7�jÒ Ð Ñ rM   c                  óX   — dt         z  dt         z  k(  sJ ‚dt         z  dt        z  k7  sJ ‚y )Né
   )r(   r-   rL   rM   rN   Útest_eqrR   '   s*   € àŒa‰4�2”a‘4Š<Ðˆ<ØŒa‰4�2”a‘4Š<Ð‰<rM   c                  ó   — t        d«      } | j                  t        d«      t        «       | j	                  t
        «      dt
        z  k(  sJ ‚t        j                  t
        t        z  «      dt
        z  t        z  k(  sJ ‚t        j                  t        «      dt        z  k(  sJ ‚| j	                  t        «      | k(  sJ ‚t        j                  t
        «      t        k(  sJ ‚t        t        z  }t	        |t        «      }|t        t        z  k(  sJ ‚y )NÚq1éˆ  iJxÞi€Q )rF   Ú set_global_relative_scale_factorr   r)   r   r(   r/   r-   r!   r   r.   )ÚqÚexprÚconvs      rN   Útest_convert_torZ   -   sÒ   € Ü�‹€AØ×&Ñ&¤q¨£w´Ô6à�<‰<œ‹?˜d¤1™fÒ$Ð$Ð$ä×$Ñ$¤Q¬¡UÓ+¨y¼1©}¼qÑ/@Ò@Ð@Ð@Ü�>‰>œ!Ó ¤a¡Ò'Ð'Ð'ð �<‰<œ‹?˜aÒÐÐÜ×$Ñ$¤QÓ'¬>Ò9Ð9Ð9ä”‰<€DÜ�dœEÓ"€DØ”5œ‘<ÒÐÑrM   c                  ó:  — t        dd¬«      } | j                  dt        «       t        dd¬«      }|j                  dt        «       t        d«      } |j                  t        t        «       t        d«      }|j                  dt        z  t        «       | j
                  dk(  sJ ‚| j                  t        k(  sJ ‚| j                  t        d«      k(  sJ ‚|j                  t        k(  sJ ‚|j
                  dk(  sJ ‚|j                  t        d«      k(  sJ ‚|j
                  d	k(  sJ ‚ |j                  |j                  Ž |k(  sJ ‚ |j                  |j                  Ž j                  |j                  k(  sJ ‚|j                  t        k(  sJ ‚|j
                  d
k(  sJ ‚y )NÚs10Úsabbr©ÚabbrevrQ   ÚuÚdamr'   é   éè  rU   )rF   rV   r.   r)   rD   Úscale_factorÚ	dimensionr>   r_   r	   r=   ÚfuncÚargs)rW   r`   r'   Úvs       rN   Útest_Quantity_definitionri   ?   s`  € Ü�˜wÔ'€AØ×&Ñ& r¬6Ô2Ü�˜UÔ#€AØ×&Ñ& r¬5Ô1Ü	�$‹€BØ'€B×'Ñ'¬¬eÔ4Ü�‹€AØ×&Ñ& q¬¡v¬uÔ5à�>‰>˜RÒÐÐØ�;‰;œ$ÒÐÐØ�8‰8”v˜g“Ò&Ð&Ð&à�;‰;œ&Ò Ð Ð Ø�>‰>˜RÒÐÐØ�8‰8”v˜e“}Ò$Ð$Ð$à�?‰?˜dÒ"Ð"Ð"Øˆ2�7‰7�B—G‘GÐ Ò"Ð"Ð"Øˆ2�7‰7�B—G‘GÐ×!Ñ! R§W¡WÒ,Ð,Ð,à�;‰;œ&Ò Ð Ð Ø�>‰>˜TÒ!Ð!Ñ!rM   c                  óŽ  — t        d«      } | j                  t        j                  t        «       | j
                  t        d«      k(  sJ ‚| j                  t        d«      k(  sJ ‚t        dd¬«      } | j                  t        d«      t        «       | j
                  t        d«      k(  sJ ‚| j                  t        d«      k(  sJ ‚| j                  dk(  sJ ‚t        | j                  t        «      sJ ‚t        dd¬«      } | j                  dt        z  t        «       | j                  t        d«      k(  sJ ‚| j                  dk(  sJ ‚y )Nr`   Úomr^   é   Úikmé   é¸  )rF   rV   r   ÚOner)   Únamer	   r_   rd   Ú
isinstancer   rD   ©r`   s    rN   Útest_abbrevrt   Y   s  € Ü�‹€AØ×&Ñ&¤q§u¡u¬eÔ4à�6‰6”V˜C“[Ò Ð Ð Ø�8‰8”v˜c“{Ò"Ð"Ð"ä�˜TÔ"€AØ×&Ñ&¤q¨£t¬UÔ3à�6‰6”V˜C“[Ò Ð Ð Ø�8‰8”v˜d“|Ò#Ð#Ð#Ø�>‰>˜QÒÐÐÜ�a—n‘n¤fÔ-Ð-Ð-ä�˜UÔ#€AØ×&Ñ& q¬¡v¬uÔ5à�8‰8”v˜e“}Ò$Ð$Ð$Ø�>‰>˜TÒ!Ð!Ñ!rM   c                  ó^   — t        dd¬«      } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚y )NÚunitnamera   r^   )rF   ÚreprrK   rs   s    rN   Ú
test_printrx   o   s2   € Ü� EÔ*€AÜ�‹7�jÒ Ð Ð Üˆq‹6�ZÒÐÑrM   c                  ó’   — t        dd¬«      } t        d«      }| |k7  sJ ‚t        dd¬«      }| |k7  sJ ‚t        dd¬«      }| |k7  sJ ‚y )	Nr`   ra   r^   Úv1Úv2ÚdsÚv3Údm)rF   )r`   rh   s     rN   Útest_Quantity_eqr   u   sP   € Ü�˜UÔ#€AÜ�‹€AØ�Š6€Mˆ6Ü�˜dÔ#€AØ�Š6€Mˆ6Ü�˜dÔ#€AØ�Š6€M‰6rM   c                  ó  — t        d«      } t        d«      }t        d«      }| j                  t        d«      t        «       |j                  t        d«      t        «       |j                  t        d«      t        «       t        | |z   t        «      sJ ‚| |j                  | «      z   dt        j                  z   | z  k(  sJ ‚t        | |z
  t        «      sJ ‚| |j                  | «      z
  t        j                  | z  k(  sJ ‚y )Nr`   rh   ÚwrQ   rb   rl   é   )	rF   rV   r   r)   r.   rr   r   r   ÚHalf)r`   rh   r�   s      rN   Útest_add_subr„      sË   € Ü�‹€AÜ�‹€AÜ�‹€Aà×&Ñ&¤q¨£u¬eÔ4Ø×&Ñ&¤q¨£t¬UÔ3Ø×&Ñ&¤q¨£t¬VÔ4ä�a˜!‘eœSÔ!Ð!Ð!Ø�—‘˜Q“Ñ Q¬¯©¡Z°¡NÒ2Ð2Ð2Ü�a˜!‘eœSÔ!Ð!Ð!Ø�—‘˜Q“Ñ¤A§F¡F¨1¡HÒ,Ð,Ñ,rM   c                  óN  — t        d«      } t        d«      }t        d«      }| j                  dt        t        z  «       |j                  dt        t        z  «       |j                  dt        t        z  «       |t	        | |z
  «      z
  }t        j                  | «      t        t        z  j                  k(  sJ ‚t        t        j                  |«      «      }t        j                  «       j                  |«      t        dt        dik(  sJ ‚t        t        t        dz  «      k(  sJ ‚y )NÚv_w1Úv_w2Úv_w3r‚   éÿÿÿÿrl   )rF   rV   r)   r.   r   rG   Úget_dimensional_exprr=   r>   rq   r;   Úget_dimension_systemÚget_dimensional_dependenciesr   )r†   r‡   rˆ   rX   ÚDqs        rN   Útest_quantity_absrŽ   Ž   sõ   € Ü�FÓ€DÜ�FÓ€DÜ�FÓ€Dà×)Ñ)¨!¬U´6©\Ô:Ø×)Ñ)¨!¬U´6©\Ô:Ø×)Ñ)¨!¬U´6©\Ô:à”#�d˜T‘kÓ"Ñ"€Dä×"Ñ" 4Ó(¬V´D©[×,>Ñ,>Ò>Ð>Ð>ä	”2×*Ñ*¨4Ó0Ó	1€Bä×"Ñ"Ó$×AÑAÀ"ÓEÜ�ÜˆbðJò ð ð ô ”Dœ ™“NÒ"Ð"Ñ"rM   c                  óÚ  ‡‡‡— t        d«      Št        d«      } t        d«      Š‰j                  t        d«      t        «       | j                  t        d«      t        «       ‰j                  t        d«      t        «       d„ Št        t        ˆˆˆfd„«       t        t        ˆˆˆfd	„«       t        t        ˆˆfd
„«       t        t        ˆˆfd„«       t        t        ˆˆˆfd„«       y )Nr`   rh   r�   rQ   rb   rl   c                 ó.   — t        j                  | «       y ©N)rG   Ú_collect_factor_and_dimension)rX   s    rN   Úcheck_unit_consistencyz;test_check_unit_consistency.<locals>.check_unit_consistency­   s   € Ü
×(Ñ(¨Õ.rM   c                  ó   •—  ‰ ‰‰z   «      S r‘   rL   ©r“   r`   r�   s   €€€rN   ú<lambda>z-test_check_unit_consistency.<locals>.<lambda>°   ó   ø€ Ñ5°a¸!±eÓ<€ rM   c                  ó   •—  ‰ ‰‰z
  «      S r‘   rL   r•   s   €€€rN   r–   z-test_check_unit_consistency.<locals>.<lambda>±   r—   rM   c                  ó   •—  ‰ ‰dz   «      S ©Nr‚   rL   ©r“   r`   s   €€rN   r–   z-test_check_unit_consistency.<locals>.<lambda>²   r—   rM   c                  ó   •—  ‰ ‰dz
  «      S rš   rL   r›   s   €€rN   r–   z-test_check_unit_consistency.<locals>.<lambda>³   r—   rM   c                  ó2   •—  ‰ dt        ‰‰z  «      z
  «      S rš   )r   r•   s   €€€rN   r–   z-test_check_unit_consistency.<locals>.<lambda>´   s   ø€ Ñ5°a¼#¸aÀ!¹e»*±nÓE€ rM   )rF   rV   r   r)   r.   rH   Ú
ValueError)rh   r“   r`   r�   s    @@@rN   Útest_check_unit_consistencyrŸ   ¤   s˜   ú€ Ü�‹€AÜ�‹€AÜ�‹€Aà×&Ñ&¤q¨£u¬eÔ4Ø×&Ñ&¤q¨£t¬UÔ3Ø×&Ñ&¤q¨£t¬VÔ4ò/ô Œ:Õ<Ô=Ü
Œ:Õ<Ô=Ü
Œ:Ô<Ô=Ü
Œ:Ô<Ô=Ü
Œ:ÕEÕFrM   c                  ón  — t        d«      } t        d«      }t        d«      }t        d«      }t        d«      }| j                  t        d«      t        «       |j                  t        d«      t        «       |j                  t        d«      t        «       |j                  t        d«      t        t        z  «       |j                  t        d«      t        t        z  «       d	| z  | d
z  k(  sJ ‚| d	z  | k(  sJ ‚| |z  }|}||k7  sJ ‚||j                  |«      k(  sJ ‚| d	z  | k(  sJ ‚| |z  }|}||k7  sJ ‚||j                  |«      k(  sJ ‚t        d«      }|j                  t        d«      d	t        z  «       | |z  dk7  sJ ‚| dz  d	k(  sJ ‚| d	z  | k(  sJ ‚t        d«      }	t        d«      }
|	j                  t        d«      t        dz  «       |
j                  t        d	d«      d	t        z  «       | dz  |	k7  sJ ‚| d
z  |
k7  sJ ‚| dz  |	j                  | «      k(  sJ ‚| d
z  |
j                  | «      k(  sJ ‚y )Nr`   rh   ÚtÚutrQ   rb   rl   é   r‚   r‰   Úlp1r   Úu2Úu3éd   )rF   rV   r   r)   r.   r   r   )r`   rh   r¡   r¢   r{   rz   Úut1Úut2r¤   r¥   r¦   s              rN   Útest_mul_divrª   ·   s'  € Ü�‹€AÜ�‹€AÜ�‹€AÜ	�$‹€BÜ	�#‹€Bà×&Ñ&¤q¨£u¬eÔ4Ø×&Ñ&¤q¨£t¬UÔ3Ø×&Ñ&¤q¨£t¬VÔ4Ø×'Ñ'¬¨"«¬u´V©|Ô<Ø×'Ñ'¬¨!«¬e´F©lÔ;àˆq‰5�A˜‘GÒÐÐØˆq‰5�AŠ:Ðˆ:à	
ˆQ‰€BØ	
€Bð �Š8€Oˆ8Ø�—‘˜rÓ"Ò"Ð"Ð"ð ˆq‰5�AŠ:Ðˆ:à
ˆa‰%€CØ
€Cð �#Š:Ðˆ:Ø�#—.‘. Ó%Ò%Ð%Ð%ô �5‹/€CØ×(Ñ(¬¨1«¨q´©wÔ7Øˆs‰7�bŠ=Ðˆ=àˆa‰4�1Š9Ðˆ9Øˆa‰4�1Š9Ðˆ9ô 
�$‹€BÜ	�$‹€BØ×'Ñ'¬¨#«´°q±Ô9Ø×'Ñ'¬°°B«¸¼5¹ÔAà�‰6�RŠ<Ðˆ<Ø�‰7�bŠ=Ðˆ=à�‰6�R—]‘] 1Ó%Ò%Ð%Ð%Ø�‰7�b—m‘m AÓ&Ò&Ð&Ñ&rM   c                  ó\  — t        dt        z  t        z  t        z  t        z  d«      dk(  sJ ‚t        t
        t        z  t        «      t        dd«      k(  sJ ‚t        t        t        t        z  t        «      j                  d«      «      dk(  sJ ‚dt        z  t        z  t        z  } t        t        | t        t        z  «      t        «      } | j                  «       t        dd	«      k(  sJ ‚t!        t        dz  «      t        k(  sJ ‚t!        t        «      dz  t        k(  sJ ‚t#        d
«      } t%        | t        z  t        z  | dt        z  dt        z  f«      dt        z  t        z  k(  sJ ‚| t        z  t        z  j%                  | dt        z  dt        z  f«      dt        z  t        z  k(  sJ ‚y )Nrb   r‚   i°  iè  i'  rl   z6.0e+23l   !|8. l   ÈeÂJ r¡   é   )r   r(   r-   r!   r'   r"   r)   r   rK   r#   r   Únr   r/   r+   Úsimplifyr   r	   r   )r¡   s    rN   Ú
test_unitsr¯   ð   sY  € Ü�qœ‘sœ1‘uœs‘{¤bÑ(¨!Ó,°Ò3Ð3Ð3Ü”dœU‘l¤EÓ*¬h°t¸UÓ.CÒCÐCÐCô Œzœ%¤™)¤UÓ+×-Ñ-¨aÓ0Ó1°YÒ>Ð>Ð>ð 
Œ2‰”Ñ	¤&Ñ(€Aä”:˜a¤¬¡Ó0´%Ó8€AØ�:‰:‹<œ8 K°Ó<Ò<Ð<Ð<ô ”�1‘‹:œŠ?Ðˆ?Ü”‹G�a‰<œ1ÒÐÐäˆs‹€AÜ�Q”q‘Sœ‘U˜Q ¤!¡ Q¤q¡S˜MÓ*¨b´©d´1©fÒ4Ð4Ð4Ø”‰E”!‰G×Ñ  1¤Q¡3¨¬!©˜}Ó-°´A±´a±Ò7Ð7Ñ7rM   c                  óœ   — t        dt        z  t        dz  z  t        «      dk(  sJ ‚t        dt        z  t        dz  z  t        «      dk(  sJ ‚y )Né   rn   éç   )r   r,   r%   r)   r*   rL   rM   rN   Útest_issue_quartr³     sF   € Ü�aœ%‘i¤$¨!¡)Ñ+¬UÓ3°sÒ:Ð:Ð:Ü�aœ%‘i¤$¨!¡)Ñ+¬ZÓ8¸CÒ?Ð?Ñ?rM   c                  ó„   — t        t        t        «      dt        z  k(  sJ ‚t        t        t        «      dt        z  k(  sJ ‚y )Ngí·¶ÈÜy²9g�oœR:)r   r:   r8   r#   rL   rM   rN   Útest_electron_rest_massrµ   
  s:   € ÜÔ(¬(Ó3Ð7GÌÑ7PÒPÐPÐPÜÔ(¬%Ó0Ð4DÄUÑ4JÒJÐJÑJrM   c                  ó6   — t         t        k  j                  sJ ‚y r‘   )r(   r-   Úis_RelationalrL   rM   rN   Útest_issue_5565r¸     s   € Ü”‰E× Ò Ð Ñ rM   c                  óÄ  — t        d«      g d¢k(  sJ ‚t        t        «      g d¢k(  sJ ‚t        t        «      g d¢k(  sJ ‚t        t        «      g d¢k(  sJ ‚t        t        dz  «      g d¢k(  sJ ‚t        t        dz  «      g d¢k(  sJ ‚t        t        dz  «      g d¢k(  sJ ‚t        t        d	z  «      g d
¢k(  sJ ‚t        d«      g d¢k(  sJ ‚t        t
        «      g d¢k(  sJ ‚y )Nr    )r    ÚcoulombsÚcoulomb_constant)ÚCr    rº   Úplanck_charger   )1r(   r   Úcmr~   Úftr'   ÚlyÚmiÚmmÚnmÚpmÚumÚydÚnmiÚfeetr"   r%   ÚmileÚyardr)   ÚmilesÚyardsÚinchesÚmetersÚmicronÚmicronsÚangstromÚ	angstromsÚ	decimeterr   Ú	lightyearÚ	nanometerÚ	picometerr   Ú
decimetersÚ
kilometersÚ
lightyearsÚ
micrometerr*   Ú
nanometersÚ
picometersÚcentimetersÚmicrometersÚmillimetersÚnautical_mileÚplanck_lengthÚnautical_milesÚastronomical_unitÚastronomical_unitsr‰   )ÚDÚdioptreÚoptical_powerrl   )ÚhaÚhectareÚplanck_arearn   )ÚLÚlÚcLÚclÚdLÚdlÚmLÚmlÚliterr,   ÚlitersÚquartsÚ	deciliterÚ
centiliterÚ
decilitersÚ
milliliterÚcentilitersÚmillilitersÚplanck_volumeÚvoltage)ÚVrh   r   ÚvoltsÚplanck_voltage)Úgr¡   ÚDar&   ÚmeÚmgÚugr   ÚmmuÚamusÚgramÚmmusr#   ÚpoundÚtonneÚdaltonÚpoundsr8   Ú	kilogramsÚ	microgramÚ	milligramÚ
metric_tonÚ
microgramsÚ
milligramsÚplanck_massÚmilli_mass_unitÚatomic_mass_unitr:   Úatomic_mass_constant)r   r    r<   r%   r=   r#   rL   rM   rN   Útest_find_unitr    sý   € Ü�YÓÒ#NÒNÐNÐNÜ”WÓÒ!cÒcÐcÐcÜ”VÓÒ bÒbÐbÐbÜ”T‹?ò Eò Eð Eð Eô ”T˜2‘XÓÒ"CÒCÐCÐCÜ”V˜R‘ZÓ Ò$EÒEÐEÐEÜ”T˜Q‘YÓÒ#CÒCÐCÐCÜ”T˜Q‘YÓò $7ò 7ð 7ð 7ô �YÓÒ#PÒPÐPÐPÜ”UÓò  Nò Nð Nñ NrM   c                  ó&  — t        d«      } t        | t        z  | «      t        k(  sJ ‚t        | dz  t        dz  z  | «      d| dz  z  t        dz  z  k(  sJ ‚t        t        t        «      dk(  sJ ‚t        t        dz  t        «      dt        z  k(  sJ ‚y )NÚxrn   rl   r‚   )r
   r   r)   )r  s    rN   Útest_Quantity_derivativer  -  s‡   € Ü�‹€AÜ�”%‘˜ÓœuÒ$Ð$Ð$Ü��1‘”U˜A‘X‘˜qÓ! Q q¨!¡t¡V¬E°1©H¡_Ò4Ð4Ð4Ü””uÓ Ò"Ð"Ð"Ü”�q‘œ%Ó  A¤e¡GÒ+Ð+Ñ+rM   c            	      óÚ  — t        d«      } t        d«      }t        j                  | t        t        dz  z  t
        z  t        z  «       t        j                  |t        t        z  t
        z  t        dz  t        z  z  «       | |z   sJ ‚| |z   }t        t        j                  |«      «      }t        j                  «       j                  |«      t        dt        dt
        dt        dik(  sJ ‚y )NrT   Úq2rl   r‰   r‚   éûÿÿÿ)rF   rG   Úset_quantity_dimensionr=   r@   r?   r>   rA   r;   rŠ   r‹   rŒ   rB   )rT   r  rW   r�   s       rN   Útest_quantity_postprocessingr   5  sÆ   € Ü	�$‹€BÜ	�$‹€Bä×Ñ˜b¤&¬°1©Ñ"4´[Ñ"@ÄÑ"EÔFÜ×Ñ˜b¤&¬¡/´+Ñ"=¼vÀq¹yÌ¹~Ñ"NÔOà�Š7€Nˆ7Ø
ˆR‰€AÜ	”2×*Ñ*¨1Ó-Ó	.€BÜ×"Ñ"Ó$×AÑAÀ"ÓEÜ�ÜˆaÜ�QÜˆbð	Jò ð ñ rM   c                  ó  — dt        d«      ft        j                  d«      k(  sJ ‚dt        ft        j                  t        t
        z   «      k(  sJ ‚dt        t        z  ft        j                  t        t        z  dt
        z  dt        z  z  z   «      k(  sJ ‚t        d«      \  } }| |dz  z   t        ft        j                  | t        z  |t        z  z   «      k(  sJ ‚t        d	«      }t        j                  |t        t        z  «       t!        |«       }dt        t        z  ft        j                  t#        |«      «      k(  sJ ‚t        d
«      }t        d«      }|j%                  t'        dd«      t        t        z  «       |j%                  dt        t        z  «       t)        |dz  |z
  «      }t'        dd«      t        t        z  ft        j                  |«      k(  sJ ‚t'        dd«      t        z  t        z  |z  dz
  }dt'        dd«      z    t        d«      ft        j                  |«      k(  sJ ‚|||z  z  }t'        dd«      t'        dd«      z  t        t        z  t'        dd«      z  ft        j                  |«      k(  sJ ‚y )Nro   r‚   ié  rl   é$   rQ   zx yr§   ÚcHr†   r‡   rn   rb   r±   i´  )r;   rG   r’   r=   r)   r'   r>   r.   r$   r
   r(   r   rF   r  r   r   r   r   rV   r   r   )r  Úyr#  ÚpHr†   r‡   rX   s          rN   Útest_factor_and_dimensionr&  G  s_  € Ø”)˜A“,Ð¤2×#CÑ#CÀDÓ#IÒIÐIÐIØ”&ˆ>œR×=Ñ=¼eÄb¹jÓIÒIÐIÐIØŒv”d‰{Ðœr×?Ñ?ÜŒf‰�rœ"‘u˜b¤™g‘Ñ&ó (ò (ð (ð (ô �5‹>�D€A€qØ��#‘‰I”vÐ¤"×"BÑ"BØ	Œ!‰ˆa”
‰lÑó#ò ð ð ô 
�$‹€BÜ×Ñ˜bÔ"5´fÑ"<Ô=ä
ˆb‹'ˆ€BàŒvÔ)Ñ)Ð*¬b×.NÑ.NÜˆB‹ó/ò ð ð ô �FÓ€DÜ�FÓ€Dà×)Ñ)¬(°1°a«.¼%Ä¹,ÔGØ×)Ñ)¨!¬U´6©\Ô:äˆt�A‰v˜‰}Ó€DÜ�Q˜‹NœF¤4™KÐ(Ü
×(Ñ(¨Ó.ò/ð /ð /ô �A�q‹>œ&Ñ ¤Ñ& tÑ+¨dÑ2€DØ”X˜a “^Ñ#Ð$¤i°£lÐ3Ü
×(Ñ(¨Ó.ò/ð /ð /ð �$�t‘)Ñ€DÜ�a˜‹^œh q¨!›nÑ,¬v´d©{¼XÀaÈ»^Ñ.KÐLÜ
×(Ñ(¨Ó.ò/ð /ñ /rM   c                  óº  — t        d«      } t        d«      }t        d«      }| j                  dt        «       |j                  dt        «       |j                  dt        «       t        d«      }t        d«      }t        d«      } |||«      j                  ||«      }|j                   |||«      | ||||i«      }t        j                  |«      t        j                  | |z  |z  «      cxk(  rt        d	«      t        d
«      dz  z  k(  sJ ‚ J ‚t        j                  |«      t        j                  | |z  |z  «      cxk(  rdt        t        dz  z  fk(  sJ ‚ J ‚y )Nrì   r¡   Út1r"  r‚   r  r$  Úfr=   r>   rl   rQ   )rF   rV   r'   r$   r.   r	   r   r   ÚsubsrG   rŠ   r’   r=   r>   )rì   r¡   r(  r  r$  r)  ÚdfdxÚdl_dts           rN   Ú#test_dimensional_expr_of_derivativer-  l  sK  € Ü�‹€AÜ�‹€AÜ	�$‹€BØ×&Ñ& r¬2Ô.Ø×&Ñ& q¬$Ô/Ø×'Ñ'¨¬6Ô2Üˆs‹€AÜˆs‹€AÜ�‹€AÙˆQ�‹7�<‰<˜˜1Ó€DØ�I‰I‘q˜˜A“w  1 a¨¨BÐ/Ó0€EÜ×"Ñ" 5Ó)Ü
×Ñ  A¡¨¡
Ó+ô+äˆxÓœ ›¨Ñ*Ñ*ò+ð +ñ +ð +ð +ô ×+Ñ+¨EÓ2Ü
×(Ñ(¨¨Q©°©Ó4ôà	ŒV”D˜!‘G‰^Ðòð ñ ð ñ rM   c                  ón  — t        d«      } t        d«      }| j                  dt        t        z  «       |j                  dt        t        z  «       t	        j
                  t        | «      «      t        t	        j
                  | «      «      k(  sJ ‚t	        j
                  t        | |z  «      «      dk(  sJ ‚y )Nr†   r‡   r‚   )rF   rV   r)   r.   rG   rŠ   r   )r†   r‡   s     rN   Ú'test_get_dimensional_expr_with_functionr/  €  s“   € Ü�FÓ€DÜ�FÓ€DØ×)Ñ)¨!¬U´6©\Ô:Ø×)Ñ)¨!¬U´6©\Ô:ä×"Ñ"¤3 t£9Ó-ÜŒB×#Ñ# DÓ)Ó*ò+ð +ð +ä×"Ñ"¤3 t¨D¡y£>Ó2°aÒ7Ð7Ñ7rM   c                  ó  — t        t        t        «      dt        z  k(  sJ ‚t        t        t        «      dt        z  k(  sJ ‚t        t        t        «      dt        z  k(  sJ ‚t        t
        t        «      dt        z  k(  sJ ‚t        t        t        «      dt        z  k(  sJ ‚t        t        t        «      dt        z  k(  sJ ‚t        j                   t        «      dt        z  k(  sJ ‚t        j                   t        «      dt        z  k(  sJ ‚d	t        z  t        z  } t        | t        «      d
t        z  t        z  k(  sJ ‚t        | t        «      dt        z  t        z  k(  sJ ‚t        | t        t        g«      dt        z  t        z  k(  sJ ‚y )Ni   i   i   @l        l           l            i    é   rQ   i (  iX  i `	 )r   r2   r1   r3   r4   r5   r6   r7   r0   r$   r+   )Úas    rN   Útest_binary_informationr3  ‹  s;  € Ü”h¤Ó%¨¬d©Ò2Ð2Ð2Ü”h¤Ó%¨´©Ò5Ð5Ð5Ü”h¤Ó%¨´©Ò5Ð5Ð5Ü”h¤Ó%¨´©Ò5Ð5Ð5Ü”h¤Ó%¨´©Ò5Ð5Ð5Ü”h¤Ó%¨´©Ò5Ð5Ð5ä×ÑœsÓ# v¬c¡zÒ1Ð1Ð1Ü�?‰?œ3Ó 1¤S¡5Ò(Ð(Ð(à
Œ8‰”DÑ€Aä�aœÓ %¬¡*¬T¡/Ò1Ð1Ð1Ü�aœÓ  C¬¡L´Ñ$7Ò7Ð7Ð7Ü�aœ$¤˜Ó(¨F´4©K¼Ñ,>Ò>Ð>Ñ>rM   c                  óè  — t        d«      } t        d«      }t        d«      }|j                  d| «       |j                  t        j                  dz  |«       t        d«      }t        d«      }t        d«      }|j                  t        j                  dz  |«       |j                  d	|«       t	        ||z  t
        z  ||t        g«      t        j                  dz  d
z  dz  |z  |z  t        z  k(  sJ ‚y )NÚ
good_gradeÚkilo_good_gradeÚcenti_good_graderc   i † Úcharity_pointsÚmilli_charity_pointsÚmissionséû   ixÔ rQ   )rF   rV   r   rp   r   r*   r   )r5  r6  r7  r8  r9  r:  s         rN   Ú-test_conversion_with_2_nonstandard_dimensionsr<  �  sí   € Ü˜,Ó'€JÜÐ0Ó1€OÜÐ 2Ó3Ðà×4Ñ4°T¸:ÔFØ×5Ñ5´a·e±e¸E±kÀ?ÔSäÐ.Ó/€NÜ#Ð$:Ó;ÐÜ˜
Ó#€Hà×9Ñ9¼!¿%¹%À¹*ÀnÔUØ×-Ñ-¨c°>ÔBäØÐ,Ñ,¬ZÑ7Ø	˜8¤ZÐ0óô 
�‰�‰˜(Ñ	# bÑ	(Ð+;Ñ	;¸HÑ	DÄZÑ	OòPð Pñ PrM   c                  ób  — t        d«      \  } }}| |z  }| t        t        dz  z  t        dz  z  |t        i}|j	                  |«      t        dz  t        dz  z  k(  sJ ‚||z  }|t
        t        dz  z  t        dz  z  |t        i}|j	                  |«      t
        t        z  t        dz  z  k(  sJ ‚y )Nzenergy mass forcerl   )r
   r8   r)   r.   r*  r9   )rA   rB   ÚforceÚexpr1ÚunitsÚexpr2s         rN   Útest_eval_subsrB  ²  s±   € Ü!Ð"5Ó6Ñ€FˆD�%Ø�4‰K€EØ”Xœe Q™hÑ&¤v¨q¡yÑ0°$¼ÐA€EØ�:‰:�eÓ¤ q¡¬°©Ñ 2Ò2Ð2Ð2Ø�$‰J€EØÔ)¬(°A©+Ñ5´e¸Q±hÑ>ÀÄXÐN€EØ�:‰:�eÓÔ 6´xÑ ?ÄÀqÁÑ HÒHÐHÑHrM   c                  óŽ  — t        t        «      t        d«      z
  j                  «       t        t        dz  «      k(  sJ ‚t        t        «      t        t        «      z
  j                  «       t        d«       k(  sJ ‚t	        dd¬«      } t        t        «      t        | «      z
  j                  «       t        t        | z  «      k(  sJ ‚y )Nrl   r¬   ÚpT)Úpositive)r   r%   r®   r"   r
   )rD  s    rN   Útest_issue_14932rF  ¼  s�   € Ü”‹Iœ˜A›Ñ×(Ñ(Ó*¬c´$°q±&«kÒ9Ð9Ð9Ü”‹IœœD›	Ñ!×+Ñ+Ó-´#°b³'°Ò9Ð9Ð9Ü�˜dÔ#€AÜ”‹Iœ˜A›Ñ×(Ñ(Ó*¬c´$°q±&«kÒ9Ð9Ñ9rM   c                  ó8  — ddl m} m} ddlm} t        | «      j                  �J ‚t        | «      j                  �J ‚t        | «      j                  �J ‚t        | «      j                  �J ‚t        | «      j                  �J ‚t        | «      j                  �J ‚ |t        | «      t        |«      «      €J ‚t        d«      }| |z   }|j                  rt        |j                  «      | |hk(  sJ ‚| dz   }|j                  rt        |j                  «      | dhk(  sJ ‚y )Nr   )r"   r%   )ÚEqr  r‚   )Úsympy.physics.unitsr"   r%   Úsympy.core.relationalrH  r   Úis_zeroÚis_positiveÚis_nonnegativeÚis_negativeÚis_algebraicÚis_rationalr	   Úis_AddÚsetrg   )r"   r%   rH  r  Úes        rN   Útest_issue_14547rT  Ã  s  € ÷ /Ý(Üˆt‹9×ÑÐ$Ð$Ð$Üˆt‹9× Ñ Ð(Ð(Ð(Üˆt‹9×#Ñ#Ð+Ð+Ð+Üˆt‹9× Ñ Ð(Ð(Ð(Üˆt‹9×!Ñ!Ð)Ð)Ð)Üˆt‹9× Ñ Ð(Ð(Ð(áŒc�$‹iœ˜T›Ó#Ð/Ð/Ð/äˆs‹€AØˆq‰€AØ�8Š8œ˜AŸF™F›¨¨a yÒ0Ð0Ð0Øˆq‰€AØ�8Š8œ˜AŸF™F›¨¨a yÒ0Ð0Ð0Ð0rM   c                  óN  — t        j                  d«       t        d«      } t        j                  | t
        «       t        j                  | d«       t        d«      }t        j                  |t
        «       t        j                  |d«       | |z  }t        j                  |«       y )NÚerrorr~   r‚   Úbad_exp)ÚwarningsÚsimplefilterrF   rG   r  r=   Úset_quantity_scale_factorr’   )r~   rW  rX   s      rN   Útest_issue_22164r[  Ù  s|   € Ü×Ñ˜'Ô"Ü	�$‹€BÜ×Ñ˜b¤&Ô)Ü× Ñ   QÔ'ä�yÓ!€GÜ×Ñ˜g¤vÔ.Ü× Ñ  ¨!Ô,à�‰=€Dô ×$Ñ$ TÕ*rM   c                  ó¸   — ddl m} m}m} ddlm} | j                  |«      d|z  k(  sJ ‚|j                  t        «      t        dik(  sJ ‚|j                  dk(  sJ ‚y )Nr   )r  r  r  )Ú	dimsys_SIi@B rl   g/Ú¬K ;)rI  r  r  r  Úsympy.physics.units.systems.sir]  r   rŒ   r   r=   rd   )r  r  r  r]  s       rN   Útest_issue_22819r_  é  sX   € ß3Ñ3Ý8Ø×Ñ˜DÓ! W¨T¡\Ò1Ð1Ð1Ø×1Ñ1´$Ó7¼FÀA¸;ÒFÐFÐFØ�?‰?Ð2Ò2Ð2Ñ2rM   c                  óv  — ddl m}  ddlm} t	        d«      }t	        d«      }t        j                  ||«       t        j                  ||«       |j                  dt        «       |j                  dt        «       dt        |dz  |dz  z  «      z   }t        j                  |«      d| z   t        d«      fk(  sJ ‚y )Nr   ©ÚE)rA   r`   rh   r‚   rl   )Úsympy.core.numbersrb  rI  rA   rF   rG   r  rV   r   r   r’   r;   )rb  rA   r`   rh   rX   s        rN   Útest_issue_20288rd  ñ  sš   € Ý$Ý*Ü�‹€AÜ�‹€AÜ×Ñ˜a Ô(Ü×Ñ˜a Ô(Ø×&Ñ& q¬%Ô0Ø×&Ñ& q¬%Ô0ØŒs�1�a‘4˜˜1™‘9‹~Ñ€DÜ×+Ñ+¨DÓ1°a¸!±e¼YÀq»\Ð5JÒJÐJÑJrM   c                  óX  — ddl m}  ddlm}m}m}m}m}m} t        d«      }t        d«      }t        d«      }	t        j                  ||«       t        j                  ||«       t        j                  |	|«       |j                  d|«       |j                  d|«       |	j                  d|«       |	||z  z  }
t        j                  |
«      d   }t        j                  «       j                  |«      sJ ‚dt!        |
«      z   }t        j                  |«      d| z   t#        d«      fk(  sJ ‚y )Nr   ra  )Ú	impedanceÚcapacitancer>   r   Úfaradr.   ÚRr¼   ÚTr‚   )rc  rb  rI  rf  rg  r>   r   rh  r.   rF   rG   r  rV   r’   r‹   Úis_dimensionlessr   r;   )rb  rf  rg  r>   r   rh  r.   ri  r¼   rj  rX   ÚdimÚexp_exprs                rN   Útest_issue_24062rn  þ  sø   € Ý$ßT×Tä�‹€AÜ�‹€AÜ�‹€AÜ×Ñ˜a Ô+Ü×Ñ˜a Ô-Ü×Ñ˜a Ô&Ø×&Ñ& q¨#Ô.Ø×&Ñ& q¨%Ô0Ø×&Ñ& q¨&Ô1Ø��A‘‰;€DÜ
×
*Ñ
*¨4Ó
0°Ñ
3€CÜ×"Ñ"Ó$×5Ñ5°cÔ:Ð:Ð:à”3�t“9‰}€HÜ×+Ñ+¨HÓ5¸!¸a¹%ÄÈ1ÃÐ9NÒNÐNÑNrM   c                  óÈ  — ddl m} m}m}m}m} t        d«      }t        j                  ||«       t        j                  |d|z  |z  «       t        d«      }t        j                  ||«       t        j                  |d|z  |dz  z  «       t        d«      }t        j                  || «       t        j                  |d|z  «       ||z  |z   }t        j                  |«       y )Nr   )r>   ÚvelocityÚaccelerationr.   r)   ÚV1r‚   ÚA1rl   ÚT1)rI  r>   rp  rq  r.   r)   rF   rG   r  rZ  r’   )	r>   rp  rq  r.   r)   rr  rs  rt  rX   s	            rN   Útest_issue_24211ru    s¸   € ßOÕOÜ	�$‹€BÜ×Ñ˜b (Ô+Ü× Ñ   Q¨¡Y°Ñ%7Ô8Ü	�$‹€BÜ×Ñ˜b ,Ô/Ü× Ñ   Q¨¡Y°¸±Ñ%:Ô;Ü	�$‹€BÜ×Ñ˜b $Ô'Ü× Ñ   Q¨¡ZÔ0àˆb‰5�2‰:€Dä×$Ñ$ TÕ*rM   c                  ól  — t         j                  rJ ‚t        j                  rJ ‚t        j                  rJ ‚t        j                  rJ ‚t
        j                  rJ ‚t        j                  rJ ‚t        j                  sJ ‚t        j                  sJ ‚t        j                  sJ ‚t        j                  sJ ‚y r‘   )r)   Úis_prefixedr   r!   r.   r   r   r   r   r8   r6   rL   rM   rN   Útest_prefixed_propertyrx  #  s”   € Ü× Ò Ð Ð Ü× Ò Ð Ð Ü�ŠÐÐÜ×!Ò!Ð!Ð!Ü×ÒÐÐÜ�ŠÐÐÜ×!Ò!Ð!Ð!Ü× Ò Ð Ð Ü×ÒÐÐÜ×ÒÐÑrM   c                  ó  — ddl m}  t        | «      D ]l  }t        | |«      }t	        |t
        «      sŒ |j                  d«      sŒ2t	        |t        «      sJ |› dt        |«      › �«       ‚|j                  rŒdJ |› d�«       ‚ t        t        t        t        t        fD ]=  }t	        |t        «      sJ |› dt        |«      › �«       ‚|j                  rŒ5J |› d�«       ‚ t        j                  rJ ‚t         j                  rJ ‚y )Nr   )ÚdefinitionsÚ	_constantz" must be PhysicalConstant, but is z4 is not marked as physics constant when it should be)rI  rz  ÚdirÚgetattrrr   rF   ÚendswithrE   ÚtypeÚis_physical_constantr9   r   r   r/   r   r)   r   )rz  rq   ÚquantityÚconsts       rN   Útest_physics_constantrƒ  /  s  € Ý/ä�KÓ ò pˆÜ˜;¨Ó-ˆÜ˜(¤HÔ-ØØ�=‰=˜Õ%Ü˜hÔ(8Ô9Ðz¸h¸ZÐGiÔjnÐowÓjxÐiyÐ;zÓzÐ9Ø×0Ó0Ðo°T°FÐ:nÐ2oÓoÐ0ðpô )Ô*<Ô>QÔSaÔctÐuò jˆÜ˜%Ô!1Ô2Ðm°u°gÐ=_Ô`dÐejÓ`kÐ_lÐ4mÓmÐ2Ø×)Ó)Ði¨e¨WÐ4hÐ+iÓiÐ)ðjô ×)Ò)Ð)Ð)Ü×)Ò)Ð)Ð)Ð)rM   )zrX  Úsympy.core.addr   Úsympy.core.functionr   r   rc  r   r   Úsympy.core.singletonr   Úsympy.core.symbolr	   r
   Ú$sympy.functions.elementary.complexesr   Ú&sympy.functions.elementary.exponentialr   r   Ú(sympy.functions.elementary.miscellaneousr   Ú(sympy.functions.elementary.trigonometricr   Úsympy.integrals.integralsr   rI  r   r   r   r   r   r   r   r   r   r   r   r   Úsympy.physics.units.definitionsr   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   Ú5sympy.physics.units.definitions.dimension_definitionsr;   r<   r=   r>   r?   r@   rA   rB   Úsympy.physics.units.prefixesrC   rD   Úsympy.physics.units.quantitiesrE   rF   Úsympy.physics.units.systemsrG   Úsympy.testing.pytestrH   rI   rO   rR   rZ   ri   rt   rx   r   r„   rŽ   rŸ   rª   r¯   r³   rµ   r¸   r  r  r   r&  r-  r/  r3  r<  rB  rF  rT  r[  r_  rd  rn  ru  rx  rƒ  rL   rM   rN   ú<module>r“     s7  ðÛ å ß 0ß 1Ý "ß /Ý 4ß =Ý 9Ý 8Ý /÷&÷ &÷ &ó &÷:÷ :÷ :÷ :÷ :÷ :÷ :÷ :÷÷ ó ÷ 8ß EÝ *Ý 'àˆS�M€ò!òò ò$"ò4"ò, òò-ò#ò,Gò&6'òr8ò,@òKò!òNò6,òò$"/òJò(8ò?ò$Pò*Iò:ò1ò,+ò 3ò
KòOò(+ò"
 ó*rM   