o
    GZŽh¾  ã                   @   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sƒJ ‚||  d|  ksJ ‚t	d }t
|tƒs˜J ‚|jdt	fks¡J ‚t	t }t
|tƒs¬J ‚|jtt	fksµJ ‚t	d }t
|tƒsÀJ ‚|jtddƒt	fksÌJ ‚|jtjd t	fksØJ ‚t	t }t
|tƒsãJ ‚|jdt t	fksîJ ‚d S )NÚmÚkÚMÚdodecaÚddé   é   )Úbaseiè  é   Ú
fake_meteré   )r   r   r   ZOner
   r   r   Úset_quantity_dimensionÚset_quantity_scale_factorr   Ú
isinstancer   Úargsr   r   )r   r   r   r   Úexpr1Zexpr2Zexpr3Zexpr4© r"   úV/var/www/auris/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   ©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>L   s    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prefÚq1Úq2Zq3ÚresZprefsr"   r"   r#   Útest_prefix_unit8   s   

"r2   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   r5   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   r8   N)Zsympy.core.mulr   Zsympy.core.numbersr   Zsympy.core.singletonr   Zsympy.core.symbolr   r   Zsympy.physics.unitsr   r   r	   r
   Zsympy.physics.units.prefixesr   r   r   r   r   Zsympy.physics.units.systemsr   r   r$   r2   r5   r8   r"   r"   r"   r#   Ú<module>   s    +