o
    FZhÜ  ć                   @   s   d dl T d dlmZmZ d dlmZmZmZ ee	e
eegZeZeZeZdd Zdd Zdd	 Zd
d Zdd Zdd Zdd ZdS )é    )Ś*)ŚmpfŚmp)ŚrandintŚchoiceŚseedc                  C   s   t d} t d}t d}t| |dttdksJ t| |dttdks&J t| |dttdks3J t| |dttdks@J t| |dttdksMJ t||dttdksZJ t||dttdksgJ t||dttdkstJ t||dttdksJ t||dttdksJ d S ©	Né   é   é’’’’é   z
0.01010101z
0.01010110z-0.01010110z-0.01010101)ŚfiŚmpf_divŚround_floorŚfbŚround_ceilingŚ
round_downŚround_upŚround_nearest©ŚaŚbŚc© r   śI/var/www/auris/lib/python3.10/site-packages/mpmath/tests/test_division.pyŚtest_div_1_3   s   r   c                  C   s  d} t d}d}t| |dttdksJ t| |dttdks"J t| |dttdks/J t| |dttdks<J t| |dttdksIJ t||dttdksVJ t||dttdkscJ t||dttdkspJ t||dttdks}J t||dttdksJ d S r   )r   Zmpf_rdiv_intr   r   r   r   r   r   r   r   r   r   Śtest_mpf_divi_1_3    s   r   c                  C   st  t d} t d}t d}t d}t|| dtt dksJ t|| dtt dks*J t|| dtt dks7J t|| dtt dksDJ t|| dtt dksQJ t|| dtt dks^J t|| dtt dkskJ t|| dtt dksxJ t|| dtt dksJ t d}t d	}t d
}t|| dtt dksJ t|| dtt dks«J t|| dtt dksøJ d S )Ni@B iDéi Déi!Déé	   i,  i-  i_ųi`ųiaųi.  )r   r   r   r   r   )Śqr   r   r   r   r   r   Śtest_div_3000   s&   r   c                  C   s²   d} t d t| D ]L}tddgtddtdd>  }tddgtddtdd>  }|| }tt|t| }t|}t|}t|}tD ]}t	|||||ksUJ qHq
d S )Néd   r	   r   é
   )
r   Śranger   r   ŚbitcountŚabsZtrailingr   Ś	all_modesr   )ŚNŚir   r   ŚpŚwidthŚmoder   r   r   Śtest_tight_integer_divisionN   s     ’śr+   c                  C   sč  t d} t d}t| |dt}t||t| d t| ksJ t||dtt dks+J t||dtt dks8J t||dtt d	ksEJ t||dtt d
ksRJ t||dtt dks_J t||dtt dkslJ t||dtt d	ksyJ t||dtt d
ksJ t d} t d}t| |dt}t||t| d t| ks¤J t||dtt dks±J t||dtt dks¾J t||dtt dksĖJ t||dtt dksŲJ t||dtt dksåJ t||dtt dksņJ d S )NzĪ0.101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001z1.10101éś   r	   é   z0.10r
   z0.101z0.11z0.110zĻ-0.101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001z-0.10z-0.110z-0.11z-0.101)r   Zmpf_mulr   r   r#   r   r   r   r   r   r   r   Śtest_epsilon_rounding\   s,   r.   c                   C   sĀ   dt _tdd dksJ tdd dksJ tdd	 dks!J tdd
 dks+J tdd	 dks5J tdd
 dks?J tdd dksIJ tdd tdksUJ dtd dks_J d S )Né   éź   r	   r   éż’’’é   éż   g      Š?g     šÖ@g     šÖĄg    šÖĄg      Šæg    šÖ@Z1e10000000000z1.23e-1000000000r
   z1.75g      ō?©r   Zdpsr   r   r   r   r   Śtest_mod~   s   r5   c                   C   s>   dt _dtd tdksJ tdtd tdksJ d S )Nr/   r1   z0.1531879017645047z-19.583791966887116z-2.6342475750861301z0.35126216427941814z-7.4993775104985909r4   r   r   r   r   Śtest_div_negative_rnd_bug   s    r6   N)Zmpmath.libmpZmpmathr   r   Śrandomr   r   r   r   r   r   r   r   r%   Z	from_bstrr   Śfrom_intr   Ś
from_floatŚffr   r   r   r+   r.   r5   r6   r   r   r   r   Ś<module>   s    "