
    g                         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dS )    )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 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expr4s           c/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/physics/units/tests/test_prefixes.pytest_prefix_operationsr)      si   AAAHdAB///Fq5AE>>>>q5AHq5A::::q5A::::q5A::::F?c!!!!v:####v:42%%%%F?ae####Aa''' AE***A:aA:a1HEeS!!!!!:!T""""1HEeS!!!!!:!T""""1HEeS!!!!!:(1a..$/////:!%'4((((1HEeS!!!!!:!A#t$$$$$$    c                     t          dd          } |                     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 |D             t          t          d                    k    sJ d S )Nr   r   abbrevr   cd)r   r.   r/   millifake_metermmcentifake_metercmdecifake_meterdmc                     h | ]	}|j         
S  r,   ).0vs     r(   	<setcomp>z#test_prefix_unit.<locals>.<setcomp>L   s    $$$AH$$$r*   zmm,cm,dm)r    set_global_relative_scale_factorr
   r   r   r    r	   r!   r   setr   )r   prefq1q2q3resprefss          r(   test_prefix_unitrC   8   sB   c***A&&q%000#Xc]#GGD	#D	1	1	1B	#D	1	1	1B	"4	0	0	0Bb&))) Xc]333 Xc]333 Xc]333r2,C4  Eu::S!!!!$$e$$$GJ,?,?(@(@@@@@@@r*   c                  N    t           j        dk    sJ t          j        dk    sJ d S )N
      )r   r   r   r7   r*   r(   
test_basesrG   O   s$    9????9>>>>>>r*   c                      t          t          t                              t          k    sJ t          t          t                              t          k    sJ d S )N)evalreprr   r   r7   r*   r(   	test_reprrK   T   sF    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)   rC   rG   rK   r7   r*   r(   <module>rS      s&         ' ' ' ' ' ' " " " " " " / / / / / / / / : : : : : : : : : : : :	 	 	 	 	 	 	 	 	 	 	 	 	 	 * * * * * *
F3KK(% (% (%VA A A.  
$ $ $ $ $r*   