a
    {d                     @   s   d dl mZ d dlmZ d dlmZ d dlmZmZ d dl	m
Z
mZmZ d dlmZmZmZmZmZ d dlmZ edZd	d
 Zdd Zdd Zdd ZdS )    )Mul)Rational)S)Symbolsymbols)Quantitylengthmeter)PREFIXESPrefixprefix_unitkilokibi)SIxc                  C   s  t d } t d }t d }tddddd}| | dks8J || |ksHJ d|  |ksXJ ||  |kshJ || d	ksxJ d| tjd ksJ || td
d ksJ || dksJ td} t| tj t| tj ||  d|  ksJ ||  d|  ksJ td }t	|t
sJ |jdtfks0J tt }t	|t
sHJ |jttfks\J td }t	|t
stJ |jtddtfksJ |jtjd tfksJ tt }t	|t
sJ |jdt tfksJ d S )NmkMdodecadd      )base   i  
fake_meter   )r
   r   r   ZOner   r   set_quantity_dimensionset_quantity_scale_factorr   
isinstancer   argsr   r   )r   r   r   r   expr1Zexpr2Zexpr3Zexpr4 r!   p/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/sympy/physics/units/tests/test_prefixes.pytest_prefix_operations   s<    r#   c                  C   s   t ddd} | dt td td td d}t dd	d}t d
dd}t ddd}t|t t|td  t|td  t|td  |||g}t| |}t	|t	|ksJ dd |D t	t
dksJ d S )Nr   r   Zabbrevr   cd)r   r%   r&   Zmillifake_metermmZcentifake_metercmZdecifake_meterdmc                 S   s   h | ]
}|j qS r!   r$   ).0vr!   r!   r"   	<setcomp>K       z#test_prefix_unit.<locals>.<setcomp>zmm,cm,dm)r   Z set_global_relative_scale_factorr	   r
   r   r   r   r   r   setr   )r   ZprefZq1Zq2Zq3resZprefsr!   r!   r"   test_prefix_unit7   s    

r0   c                   C   s    t jdksJ tjdksJ d S )N
      )r   r   r   r!   r!   r!   r"   
test_basesN   s    r3   c                   C   s,   t tttksJ t tttks(J d S )N)evalreprr   r   r!   r!   r!   r"   	test_reprS   s    r6   N)Zsympy.core.mulr   Zsympy.core.numbersr   Zsympy.core.singletonr   Zsympy.core.symbolr   r   Zsympy.physics.unitsr   r   r	   Zsympy.physics.units.prefixesr
   r   r   r   r   Zsympy.physics.units.systemsr   r   r#   r0   r3   r6   r!   r!   r!   r"   <module>   s   *