a
    {d!                     @   sF  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dZ/eZ0e(Z1dd Z2dd Z3dd Z4dd Z5dd Z6dd Z7dd Z8dd Z9d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   c                 K   s   t t| j|fi |ddS )NT)Z	full_prec)r   r   Zevalf)enoptions r-   l/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/sympy/physics/units/tests/test_util.pyNS   s    r/   c                   C   s   t t  t ksJ d S N)Lr-   r-   r-   r.   test_dim_simplify_add   s    r2   c                   C   s   t t t t ksJ d S r0   r1   Tr-   r-   r-   r.   test_dim_simplify_mul   s    r5   c                   C   s   t tdtd ksJ d S N   )r   r1   r-   r-   r-   r.   test_dim_simplify_pow"   s    r8   c                   C   s   t t  t t t ksJ d S r0   r3   r-   r-   r-   r.   test_dim_simplify_rec&   s    r9   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sJ t dt tt dt t ksJ t ttdt ksJ t dt tdt ksJ 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sJ t tt tdt d
 ksJ t dt dt  tdt d
 ksJ t td td dtd  d ksJ 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sJ t ttt  tdtd  ksJ t tttksJ t ttdt t ksJ 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 d S )N   i:b  i	=  Jx#r7   iQ x   i }   i i  i?  i@x}i  i`  im  iA ie  i'    )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+   s2    "( 4 (((88$ r@   c                   C   s  t tttgdt t ksJ t tttfdt t ks<J t ttttdt t ks\J t ttttgttd  td  ksJ t ttttgdtd  t td  ksJ t dt t tgtksJ t td tttgtt d d ksJ t dt tttgdt t ksJ t t	t	tt
gdt	 ks8J tt tt	ttgdddksZJ tt ttddd	ksvJ tt ttddd
ksJ tt ttdddksJ tt ttdddksJ tt t tt	tt
gtdddksJ d S )Nr;   r7   逖 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*meter)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_tuples_of_quantitiesI   s     (,(&"rE   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sJ | | | 	 d
dt  ksJ d| t 	 dt ksJ 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 yrD     i r7   i ʚ;   rA   r:   i     )sympy.physics.unitsrF   rG   r%   rH   rI   rJ   sympy.core.symbolr   Zsimplifyr   r
   r   r   )	rF   rG   r%   rH   rI   rJ   r   xyr-   r-   r.   test_eval_simplify]   s     0 "rS   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sJ | |t	 || t	|t	    |d |d |d	 ||d	     d	 ksJ | d|t	 | d
  t	 d| d	 ksJ | |d t	 t	d |  d|d  d ksDJ d S )Nr   quantity_simplify)rJ   footr   rK      i@  r7      rL   i      r:      )
sympy.physics.units.utilrU   rO   rJ   rV   rP   r   r   r   r   )rU   rJ   rV   r   rQ   rR   r-   r-   r.   test_quantity_simplifyn   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sJ | || ddd|ksJ | || ddd|ksJ | |td  ddd|ksJ | || ddd|ksJ | || 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sJ | || ddd|	ksJ | t| ddd|ksJ | || | ddd|
ksJ | || 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   rT   )ampereohmvoltr   pascalfaradr!   wattsiemenshenryteslaweberr   r   TZSI)Zacross_dimensionsZunit_systemrC   r:   r7            )r[   rU   rO   r]   r^   r_   r   r`   ra   r!   rb   rc   rd   re   rf   r   r   r   r   r   r   )rU   r]   r^   r_   r   r`   ra   r!   rb   rc   rd   re   rf   r   r   r-   r-   r.   (test_quantity_simplify_across_dimensions{   s(    @"( $,rj   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 )NrQ   c                   S   s   t td S NrM   )r'   r   r-   r-   r-   r.   <lambda>       z'test_check_dimensions.<locals>.<lambda>c                   S   s   t td S rk   )r'   r   r-   r-   r-   r.   rl      rm   c                   S   s   t tt S r0   )r'   r   r$   r-   r-   r-   r.   rl      rm   c                   S   s   t tt S r0   r'   r   r!   r-   r-   r-   r.   rl      rm   c                   S   s   t dt t S r6   rn   r-   r-   r-   r.   rl      rm   c                   S   s   t dt dt  S )Nr7   r:   rn   r-   r-   r-   r.   rl      rm   c                   S   s   t dt dt  S rk   )r'   r!   r   r-   r-   r-   r.   rl      rm   c                   S   s   t dt tt  t S r6   )r'   r   r   r
   r%   r-   r-   r-   r.   rl      rm   )
r   r'   r   r   subsr   r   r   r(   
ValueError)rQ   r-   r-   r.   test_check_dimensions   s     rq   N)r)   )<Zsympy.core.containersr   Zsympy.core.numbersr   Zsympy.core.powerr   rP   r   Zsympy.core.sympifyr   Zsympy.printing.strr   rO   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(   r/   r1   r4   r2   r5   r8   r9   r@   rE   rS   r\   rj   rq   r-   r-   r-   r.   <module>   s*   |
