
    MZd                         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	 Zd
 Zd Zd Zy)    )Mul)Rational)S)Symbolsymbols)Quantitylengthmeter)PREFIXESPrefixprefix_unitkilokibi)SIxc                  &   t         d   } t         d   }t         d   }t        dddd      }| |z  dk(  sJ ||z  |k(  sJ d| z  |k(  sJ || z  |k(  sJ ||z  d	k(  sJ d|z  t        j                  dz  k(  sJ ||z  t        d
      dz  k(  sJ ||z  dk(  sJ t	        d      } t        j                  | t        j                         t        j                  | t        j                         || z  d| z  k(  sJ || z  d| z  k(  sJ t        dz  }t        |t              sJ |j                  dt        fk(  sJ t        t        z  }t        |t              sJ |j                  t        t        fk(  sJ t        dz  }t        |t              sJ |j                  t        dd      t        fk(  sJ |j                  t        j                  dz  t        fk(  sJ t        t        z  }t        |t              sJ |j                  dt        z  t        fk(  sJ y )NmkMdodecadd      )base   i  
fake_meter   )r   r   r   Oner   r   set_quantity_dimensionset_quantity_scale_factorr   
isinstancer   argsr   r   )r   r   r   r   expr1expr2expr3expr4s           I/usr/lib/python3/dist-packages/sympy/physics/units/tests/test_prefixes.pytest_prefix_operationsr(      s   AAAHdAB/Fq5A::q5A::q5A::q5A::F?c!!!v:###v:42%%%F?aAa'  AEE*A:aA:a1HEeS!!!::!T"""1HEeS!!!::!T"""1HEeS!!!::(1a.$////::!%%'4(((1HEeS!!!::!A#t$$$    c                  p   t        dd      } | j                  dt               t        d   t        d   t        d   d}t        dd	      }t        d
d      }t        dd      }t	        j
                  |t               t	        j                  |t        d          t	        j                  |t        d          t	        j                  |t        d          |||g}t        | |      }t        |      t        |      k(  sJ |D ch c]  }|j                   c}t        t        d            k(  sJ y c c}w )Nr   r   )abbrevr   cd)r   r,   r-   millifake_metermmcentifake_metercmdecifake_meterdmzmm,cm,dm)r    set_global_relative_scale_factorr
   r   r   r   r	   r    r   setr+   r   )r   prefq1q2q3resprefsvs           r'   test_prefix_unitr=   7   s    c*A&&q%0#Xc]#GD	#D	1B	#D	1B	"4	0Bb&)  Xc]3  Xc]3  Xc]3r2,C4 Eu:S!!!#$AHH$GJ,?(@@@@$s   D3c                  X    t         j                  dk(  sJ t        j                  dk(  sJ y )N
      )r   r   r    r)   r'   
test_basesrB   N   s"    99??99>>r)   c                      t        t        t                    t        k(  sJ t        t        t                    t        k(  sJ y )N)evalreprr   r   rA   r)   r'   	test_reprrF   S   s0    T
t###T
t###r)   N)sympy.core.mulr   sympy.core.numbersr   sympy.core.singletonr   sympy.core.symbolr   r   sympy.physics.unitsr   r	   r
   sympy.physics.units.prefixesr   r   r   r   r   sympy.physics.units.systemsr   r   r(   r=   rB   rF   rA   r)   r'   <module>rN      sC     ' " / 7 7	 	 *
3K'%TA.
$r)   