a
    kº”h‹$  ã                   @   sR  d dl mZ d dlmZ d dl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mZmZmZmZmZ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, d d	l-m.Z. d d
l/m0Z0 d#dd„Z1eZ2e(Z3dd„ Z4dd„ Z5dd„ Z6dd„ Z7dd„ Z8dd„ Z9dd„ Z:dd„ Z;dd„ Z<d d!„ Z=d"S )$é    )ÚTuple)Úpi)ÚPow©Úsymbols)Úsympify)Ússtr)ÚGÚ
centimeterÚcoulombÚdayÚdegreeÚgramÚhbarÚhourÚinchÚjouleÚkelvinÚkilogramÚ	kilometerÚlengthÚmeterÚmileÚminuteÚnewtonÚplanckÚplanck_lengthÚplanck_massÚplanck_temperatureÚplanck_timeÚradiansÚsecondÚspeed_of_lightÚ	steradianÚtimeÚkm)Ú
convert_toÚcheck_dimensions)Úraises)Úsqrté   c                 K   s   t t| ƒj|fi |¤ŽddS )NT)Z	full_prec)r   r   Zevalf)ÚeÚnÚoptions© r.   úQ/var/www/auris/lib/python3.9/site-packages/sympy/physics/units/tests/test_util.pyÚNS   s    r0   c                   C   s   t t  t ksJ ‚d S ©N)ÚLr.   r.   r.   r/   Útest_dim_simplify_add   s    r3   c                   C   s   t t t t ksJ ‚d S r1   ©r2   ÚTr.   r.   r.   r/   Útest_dim_simplify_mul   s    r6   c                   C   s   t tdƒtd ksJ ‚d S ©Né   )r   r2   r.   r.   r.   r/   Útest_dim_simplify_pow#   s    r9   c                   C   s   t t  t t t ksJ ‚d S r1   r4   r.   r.   r.   r/   Útest_dim_simplify_rec'   s    r:   c                   C   s¢  t dtƒdksJ ‚t ttƒdt d ks,J ‚t tt tƒtd ksFJ ‚t dt t tƒtks`J ‚t dt t tƒdt ks~J ‚t ttt ƒdt t ksœJ ‚t dt tt ƒdt t ks¾J ‚t ttƒdt ksÔJ ‚t dt tƒdt ksîJ ‚t ttƒd	t d
 ks
J ‚t tt tt ƒdt dt  ks2J ‚t dt	 tt ƒdt	 ksRJ ‚t dt	 t
t td  ƒdt t
 td  ks†J ‚t tt tƒdt d
 ks¦J ‚t dt dt  tƒdt d
 ksÎJ ‚t td td ƒdtd  d ksöJ ‚t dtd  tƒdtd  d ksJ ‚t dt t dt t  tt ƒdt dt  ksVJ ‚t dt t dt t  tt ƒdt dt  ksŽJ ‚t ttt  tƒdtd  ks²J ‚t ttƒtksÆJ ‚t ttƒdt t ksâJ ‚t tttgƒdt t ksJ ‚t tt tƒdt ksJ ‚t ttƒdt ks6J ‚t ttd td  ƒtƒttd td  ƒksjJ ‚t td td  d tƒtd td  d ksžJ ‚d S )Né   i:b  i	=  éJxÞé”ð¼#r8   i€Q éx   iÐ é}   iú i  i?  i@x}i½  i`Ð  iÝm  i€A ie  iÀÐ' é´   ç       @)r&   r   r   r   r!   r"   r   r   r   r   r   r   r
   r#   r   r    r   r   r)   r.   r.   r.   r/   Útest_convert_to_quantities,   s6    "( 4 (((88$ 4rB   c                  C   sð  ddl m}  | dƒ\}}ttttgƒdt t ks6J ‚ttttfƒdt t ksTJ ‚tttttƒƒdt t kstJ ‚tttttgƒttd  td  ksœJ ‚ttt	t
tgƒdt	d  t
 td  ksÈJ ‚tdt t tgƒtksäJ ‚ttd tttgƒtt d d ksJ ‚tdt tttgƒdt t ks4J ‚tttttgƒdt ksRJ ‚ttttttgƒd	d
dkstJ ‚ttttƒd	d
dksJ ‚ttttƒd	d
dks¬J ‚ttttƒdd
dksÈJ ‚ttttƒd	d
dksäJ ‚tttttttgƒtƒdd
dksJ ‚tttd td  ƒttgƒttd td  ƒksDJ ‚ttd td  d ttgƒtd td  d ks|J ‚td|t t  dt ƒd|t t  ks¬J ‚td|t |t   dt ƒdt| d |t d   ksìJ ‚d S )Nr   r   z
alpha betar<   r8   é€–˜ r=   g      ð?é   )r,   zW6.187142e+34*gravitational_constant**0.5000000*hbar**0.5000000/speed_of_light**1.500000z2.176434e-8*kilogramz1.616255e-35*meteré   z5.39125e-44*secondz1.416784e+32*kelviné
   z1.000000000*meterrA   é   éè  )Úsympy.core.symbolr   r&   r"   r   r!   r   r   r   r
   r   r	   r   r0   r   r   r   r   r   r   r)   r   )r   ÚalphaÚbetar.   r.   r/   Ú$test_convert_to_tuples_of_quantitiesN   s*     (,*&"(880rL   c            	      C   s,  ddl m} m}m}m}m}m} ddlm} |dƒ\}}| |  	¡ dksLJ ‚||  	¡ dks`J ‚||   	¡ dkstJ ‚d| | |d  | |   	¡ d	| t
 ks¤J ‚| | |  	¡ d
dt  ksÄJ ‚d| t  	¡ dt ksàJ ‚d| t dt   	¡ dksJ ‚dtd  |t d   	¡ dks(J ‚d S )Nr   )ÚcmÚmmr%   ÚmÚKÚkilor   úx yrF   rH   i † r8   i Êš;rG   rC   r;   i¸  é   )Úsympy.physics.unitsrM   rN   r%   rO   rP   rQ   rI   r   Zsimplifyr   r
   r   r   )	rM   rN   r%   rO   rP   rQ   r   ÚxÚyr.   r.   r/   Útest_eval_simplifym   s     0 "rW   c                  C   sH  ddl m}  ddlm}m} ddlm} |dƒ\}}| |d| t t |  ƒ|dt t |  kshJ ‚| |t	 |t	  ƒ|d ||d	   d	 ks˜J ‚| |t	 || t	|t	    ƒ|d |d |d	 ||d	     d	 ksäJ ‚| d|t	 | d
  t	 ƒd| d	 ksJ ‚| |d t	 t	d |  ƒd|d  d ksDJ ‚d S )Nr   ©Úquantity_simplify)rQ   Úfootr   rR   é   i@  r8   é   rH   i   é   r;   é   )
Úsympy.physics.units.utilrY   rT   rQ   rZ   rI   r   r   r   r   )rY   rQ   rZ   r   rU   rV   r.   r.   r/   Útest_quantity_simplify~   s    40L.r`   c                  C   s€  ddl m}  ddlm}m}m}m}m}m}m	}m
}m}	m}
m}m}m}m} | || ddd|ksfJ ‚| d| | dddd| ksˆJ ‚| || ddd|ks¢J ‚| || ddd|ks¼J ‚| |td  ddd|ksÚJ ‚| || ddd|ksôJ ‚| || ddd|ksJ ‚| td | dddtd | ks8J ‚| || ddd|ksTJ ‚| |t ddd|kspJ ‚| || ddd|ksŒJ ‚| || ddd|	ks¨J ‚| t| ddd|ksÄJ ‚| || | ddd|
ksäJ ‚| || td	  ddd|ksJ ‚| || ddd|ks$J ‚| d
t | ddddt d|  ksPJ ‚| d
t t |d	  dddd
| ks|J ‚d S )Nr   rX   )ÚampereÚohmÚvoltr   ÚpascalÚfaradr!   ÚwattÚsiemensÚhenryÚteslaÚweberr   r   TZSI)Zacross_dimensionsZunit_systemrE   r;   r8   é   é   é   )r_   rY   rT   ra   rb   rc   r   rd   re   r!   rf   rg   rh   ri   rj   r   r   r   r   r   r   )rY   ra   rb   rc   r   rd   re   r!   rf   rg   rh   ri   rj   r   r   r.   r.   r/   Ú(test_quantity_simplify_across_dimensions‹   s(    @"( $,rn   c                  C   sè   t dƒ} tt|  ƒt|  ks J ‚tt|  ƒt|  ks8J ‚tt|   | t¡ƒtksTJ ‚ttt t ƒttt  kstJ ‚tt	dd„ ƒ tt	dd„ ƒ tt	dd„ ƒ tt	dd„ ƒ tt	dd„ ƒ tt	dd„ ƒ tt	d	d„ ƒ tt	d
d„ ƒ d S )NrU   c                   S   s   t td ƒS ©NrG   )r'   r   r.   r.   r.   r/   Ú<lambda>«   ó    z'test_check_dimensions.<locals>.<lambda>c                   S   s   t td ƒS ro   )r'   r   r.   r.   r.   r/   rp   ¬   rq   c                   S   s   t tt ƒS r1   )r'   r   r$   r.   r.   r.   r/   rp   ­   rq   c                   S   s   t tt ƒS r1   ©r'   r   r!   r.   r.   r.   r/   rp   ®   rq   c                   S   s   t dt t ƒS r7   rr   r.   r.   r.   r/   rp   ¯   rq   c                   S   s   t dt dt  ƒS )Nr8   r;   rr   r.   r.   r.   r/   rp   °   rq   c                   S   s   t dt dt  ƒS ro   )r'   r!   r   r.   r.   r.   r/   rp   ±   rq   c                   S   s   t dt tt  t ƒS r7   )r'   r   r   r
   r%   r.   r.   r.   r/   rp   ²   rq   )
r   r'   r   r   Úsubsr   r   r   r(   Ú
ValueError)rU   r.   r.   r/   Útest_check_dimensions¤   s     ru   N)r*   )>Zsympy.core.containersr   Zsympy.core.numbersr   Zsympy.core.powerr   rI   r   Zsympy.core.sympifyr   Zsympy.printing.strr   rT   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r_   r&   r'   Zsympy.testing.pytestr(   Z(sympy.functions.elementary.miscellaneousr)   r0   r2   r5   r3   r6   r9   r:   rB   rL   rW   r`   rn   ru   r.   r.   r.   r/   Ú<module>   s,   |
"