
    sg                         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	 Zd
 Zd Zd Zy)    )Mul)Rational)S)Symbolsymbols)QuantitylengthmeterW)PREFIXESPrefixprefix_unitkilokibi)SIxc                     t         d   } t         d   }t         d   }t        dddd      }| |z  t        j                  u sJ | t        z  t        d	z  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  t        j                  u 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      )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expr4s           Z/var/www/html/venv/lib/python3.12/site-packages/sympy/physics/units/tests/test_prefixes.pytest_prefix_operationsr)      s&   AAAHdAB/Fq5AEE>>q5AHq5A::q5A::q5A::F?c!!!v:###v:42%%%F?aee###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>   8   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_basesrC   O   s"    99??99>>r*   c                      t        t        t                    t        k(  sJ t        t        t                    t        k(  sJ y )N)evalreprr   r   rB   r*   r(   	test_reprrG   T   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
   r   sympy.physics.units.prefixesr   r   r   r   r   sympy.physics.units.systemsr   r   r)   r>   rC   rG   rB   r*   r(   <module>rO      sC     ' " / : :	 	 *
3K(%VA.
$r*   