o
    ݹi                     @   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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W)PREFIXESPrefixprefix_unitkilokibi)SIxc                  C   s  t d } t d }t d }tddddd}| | tju sJ | t td	 ks'J || |ks/J d|  |ks7J ||  |ks?J || d
ksGJ d| tjd ksRJ || td	d ks^J || tju sgJ td} t| tj t| tj ||  d|  ksJ ||  d|  ksJ t	d }t
|tsJ |jdt	fksJ t	t }t
|tsJ |jtt	fksJ t	d }t
|tsJ |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      )basei     
fake_meter   )r   r   r   Oner
   r   r   set_quantity_dimensionset_quantity_scale_factorr   
isinstancer   argsr   r   )r   r   r   r   expr1expr2expr3expr4 r&   d/home/ubuntu/veenaModal/venv/lib/python3.10/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s\J dd |D t	t
dkskJ d S )Nr   r   abbrevr   cd)r   r+   r,   millifake_metermmcentifake_metercmdecifake_meterdmc                 S   s   h | ]}|j qS r&   r)   ).0vr&   r&   r'   	<setcomp>L   s    z#test_prefix_unit.<locals>.<setcomp>zmm,cm,dm)r    set_global_relative_scale_factorr	   r   r   r   r   r   r   setr   )r   prefq1q2q3resprefsr&   r&   r'   test_prefix_unit8   s   

"r>   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_basesO   s   rA   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_reprT   s   rD   N)sympy.core.mulr   sympy.core.numbersr   sympy.core.singletonr   sympy.core.symbolr   r   sympy.physics.unitsr   r   r	   r
   sympy.physics.units.prefixesr   r   r   r   r   sympy.physics.units.systemsr   r   r(   r>   rA   rD   r&   r&   r&   r'   <module>   s    +