U
    —9%eÂQ  ã                   @   sp  d dl mZ d dlmZmZmZmZmZmZm	Z	m
Z
 d dlmZmZmZmZmZmZ d dlmZ d dlmZ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! d d
l"m#Z#m$Z$m%Z% d dl&m'Z' d dl(m)Z) edƒZ*edddZ+edddZ,eddd\Z-Z.dd„ Z/dd„ Z0dd„ Z1dd„ Z2dd„ Z3dd „ Z4e)d!d"„ ƒZ5d#d$„ Z6d%d&„ Z7d'd(„ Z8d)d*„ Z9d+d,„ Z:d-S ).é    )ÚAccumBounds)ÚEÚFloatÚIÚRationalÚnanÚooÚpiÚzoo)ÚEqÚGeÚGtÚLeÚLtÚNe)ÚS)ÚSymbolÚsymbols)Ú	factorial)ÚexpÚlog)ÚceilingÚfloorÚfrac)Úsqrt)ÚsinÚcosÚtan)Ú	unchanged)ÚXFAILÚxÚiT)Z	imaginaryÚy©Úrealzk,n)Úintegerc                  C   sÔ  t tƒtkst‚t tƒtks t‚t t ƒt ks4t‚t tƒtksDt‚t dƒdksTt‚t dƒdksdt‚t dƒdkstt‚t tƒdks„t‚t t ƒdks–t‚t dt ƒdksªt‚t dt ƒdks¾t‚t tƒd	ksÎt‚t t ƒd
ksàt‚t tjƒdksòt‚t t	ddƒƒdks
t‚t t	dd	ƒƒdks"t‚t t	dd	ƒƒdks:t‚t t	dd	ƒ ƒdksTt‚t t
dƒƒdksjt‚t t
dƒ ƒdks‚t‚t t
dƒƒdks˜t‚t t
dƒ ƒdks°t‚t tƒtksÂt‚t t ƒt ksØt‚t tƒ} | jt krü| jd tks t‚t tt ƒtt kst‚t t t ƒt t ks8t‚t ttt d ƒt ƒttt d ƒt ksjt‚t dt ƒdt ks„t‚t dt ƒdt ksžt‚t td ƒdks´t‚t t d ƒt ksÎt‚t td ƒdksät‚t td ƒdksút‚t tt ƒdkst‚t tt ƒd	t ks*t‚t t tƒƒd	ks@t‚t t tƒƒt tƒksZt‚t t tƒƒt tƒkstt‚tt tƒs„t‚tt dt ƒs˜t‚tt tt ƒs¬t‚t tƒtks¾t‚t dt ƒdt ksØt‚t tt ƒtt ksòt‚tt td ƒst‚tt tt ƒst‚t td	 ƒt tƒd	 ks8t‚t tt ƒt tƒt ksVt‚t td	 ƒt tƒd	 kstt‚t tt ƒt tƒt ks’t‚t d	tt  t ƒdt tƒt  ks¼t‚t tt ƒtt ksÖt‚tt tt ƒsêt‚t tt ƒtt kst‚t t	ddƒtt  ƒdd	t  ks,t‚t tdƒƒdksBt‚t tdƒƒdksXt‚t tdƒƒdksnt‚t tdƒtdƒ ƒdksŒt‚tt tdƒtdƒ ƒjddƒd	ks¶t‚t tdƒtdƒ ƒdksÔt‚t tƒtk dksêt‚t tƒtkdks t‚t tƒtkdkst‚t tƒtkdks,t‚t tƒtkjs@t‚t tƒtkjsTt‚t tƒtkjsht‚t tƒtkjs|t‚t tƒtkdks’t‚t tƒtk dks¨t‚t tƒt kdksÀt‚t tƒt kdksØt‚t tƒ t¡tttƒ ksøt‚t tƒ t¡tt ƒ kst‚t tƒ t¡ tt ¡t t ƒks@t‚t tƒ t¡ tt¡t tƒksdt‚t tƒ t¡ tt¡tt ƒ ksŒt‚t tƒ t¡ tt ¡ttƒ ks´t‚tt tƒtttƒ ƒsÐt‚tt tƒtt ƒ ƒsìt‚t ddd}t ddd }t d!dd"}t d#dd$}t |ƒdk dks2t‚t |ƒdkdksHt‚t |ƒdkdks^t‚t |ƒdkdkstt‚t |ƒdkdksŠt‚t |ƒdk|dkks¤t‚t |ƒdk |dk ks¾t‚t |ƒdk dksÔt‚t |ƒdkdksêt‚t |ƒdk dk	s t‚t |ƒdk|dk k	st‚t |ƒdk|dkk	s4t‚t |ƒdkdk	sJt‚t |ƒd	k|d	kk	sdt‚t |ƒdkdk	szt‚t |ƒdkdk	st‚t |ƒj!dk	s¤t‚t |ƒj"dk	s¸t‚t |ƒj!dk	sÌt‚t |ƒj"dk	sàt‚t |ƒj!dk	sôt‚t |ƒj"dk
st‚t |ƒj!d k
st‚t |ƒj"d k
s0t‚t ddd%dkdk
sJt‚t ddd%dkdk
sdt‚t ddd%dkdk
s~t‚t ddd%dk dk
s˜t‚t ddd%dkdk
s²t‚t ddd%dkdk
sÌt‚t ddd%dkdk
sæt‚t ddd%dk dks t‚t ddd%dkdkst‚t ddd%dkdks4t‚t ddd%dkdksNt‚t ddd%dk dksht‚t tƒd&kt#t tƒd&dd%ksŒt‚t tƒd'kt$t tƒd'dd%ks°t‚t tƒd(k t%t tƒd(dd%ksÔt‚t tƒd)kt&t tƒd)dd%ksøt‚t tƒd&ktdk kst‚t tƒd'ktdkks,t‚t tƒd(k td	k ksFt‚t tƒd)ktdkks`t‚t tƒtkttd k ks~t‚t tƒtkttkks˜t‚t tƒtk ttk ks²t‚t tƒtkttd kksÐt‚d S )*Nr   é   éÿÿÿÿé   éýÿÿÿé   éþÿÿÿiúÿÿÿé   éüÿÿÿé   éùÿÿÿç      1@é   éïÿÿÿçÃõ(\Â@iøÿÿÿé   é   é   é   é
   é   T©Zchopé2   l    'öª~$DæA®7YáD3':ÿ^îXf FÚneg©ÚnegativeÚnn©ÚnonnegativeÚpos©ÚpositiveÚnp©Únonpositive©Úevaluateç      @çš™™™™™	Àç333333@ç333333û¿)'r   r   ÚAssertionErrorr   r
   r   r	   r   ÚHalfr   r   r   r!   ÚfuncÚargsr   r"   r    r   ÚkÚnr   r   ÚintÚevalfr   Úis_RelationalÚrewriter   r   Úsubsr   r   Zis_negativeZis_nonnegativer   r   r   r   ©Úer<   r?   rB   rE   © r[   úm/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/sympy/functions/elementary/tests/test_integers.pyÚ
test_floor   s    2*(*ÿ
  ($(($$$$r]   c                  C   sÂ  t tƒtkst‚t tƒtks t‚t t ƒt ks4t‚t tƒtksDt‚t dƒdksTt‚t dƒdksdt‚t dƒdkstt‚t tƒdks„t‚t t ƒdks–t‚t dt ƒdksªt‚t dt ƒdks¾t‚t tƒd	ksÎt‚t t ƒd
ksàt‚t tjƒdksòt‚t t	ddƒƒdks
t‚t t	ddƒƒdks"t‚t t	ddƒ ƒdks<t‚t t
dƒƒdksRt‚t t
dƒ ƒdksjt‚t t
dƒƒdks€t‚t t
dƒ ƒdks˜t‚t tƒtksªt‚t t ƒt ksÀt‚t tƒ} | jt krä| jd tksèt‚t tt ƒtt kst‚t t t ƒt t ks t‚t ttt d	 ƒt ƒttt d	 ƒt ksRt‚t dt ƒdt kslt‚t dt ƒdt ks†t‚t td ƒtksœt‚t t d ƒdks´t‚t td ƒdksÊt‚t td ƒdksàt‚t tt ƒdksöt‚t tt ƒtd	 kst‚t t tƒƒd	ks&t‚t t tƒƒt tƒks@t‚t t tƒƒt tƒksZt‚tt tƒsjt‚tt dt ƒs~t‚tt tt ƒs’t‚t tƒtks¤t‚t dt ƒdt ks¾t‚t tt ƒtt ksØt‚tt td ƒsìt‚tt tt ƒs t‚t td ƒt tƒd kst‚t tt ƒt tƒt ks<t‚t td ƒt tƒd ksZt‚t tt ƒt tƒt ksxt‚t dt tt  ƒdt tƒt  ks¢t‚t tt ƒtt ks¼t‚tt tt ƒsÐt‚t tt ƒtt ksêt‚t t	ddƒtt  ƒddt  kst‚t tdƒƒdks(t‚t tdƒƒdks>t‚t tdƒƒdksTt‚t tdƒ tdƒ ƒdkstt‚tt tdƒ tdƒ ƒjddƒd
ks t‚t tdƒtdƒ ƒdks¾t‚t tƒtkdksÔt‚t tƒtkdksêt‚t tƒtk dks t‚t tƒtkdkst‚t tƒtkjs*t‚t tƒtk js>t‚t tƒtkjsRt‚t tƒtk jsft‚t tƒt kdks~t‚t tƒt kdks–t‚t tƒtkdks¬t‚t tƒtk dksÂt‚t tƒ t¡tt ƒ ksât‚t tƒ t¡ttt ƒ kst‚t tƒ t¡ tt ¡ttƒ ks,t‚t tƒ t¡ tt¡tt ƒ ksTt‚t tƒ t¡ tt¡t tƒksxt‚t tƒ t¡ tt ¡t t ƒks t‚tt tƒttt ƒ ƒs¾t‚tt tƒtt ƒ ƒsÚt‚t ddd}t ddd}t ddd}t d dd!}t |ƒdkdks t‚t |ƒdk |dkks:t‚t |ƒdkdksPt‚t |ƒdk|dkksjt‚t |ƒd
k|d
kks„t‚t |ƒdk|dkksžt‚t |ƒdk dks´t‚t |ƒdkdksÊt‚t |ƒdk dksàt‚t |ƒdkdksöt‚t |ƒdkdk	st‚t |ƒdkdk	s"t‚t |ƒdkdk	s8t‚t |ƒd"k|d"kk	sRt‚t |ƒdkdk	sht‚t |ƒdkdk	s~t‚t |ƒj!dk	s’t‚t |ƒj"dk	s¦t‚t |ƒj!d k	sºt‚t |ƒj"d k	sÎt‚t |ƒj!dk	sât‚t |ƒj"dk	söt‚t |ƒj!dk
s
t‚t |ƒj"dk
st‚t ddd#dkdk
s8t‚t ddd#dkdk
sRt‚t ddd#dkdk
slt‚t ddd#dk dk
s†t‚t ddd#dkdk
s t‚t ddd#dkdk
sºt‚t ddd#dkdk
sÔt‚t ddd#dk dk
sît‚t ddd#dkdkst‚t ddd#dkdks"t‚t ddd#dkdks<t‚t ddd#dk dksVt‚t tƒd$kt#t tƒd$dd#kszt‚t tƒd%kt$t tƒd%dd#ksžt‚t tƒd&k t%t tƒd&dd#ksÂt‚t tƒd'kt&t tƒd'dd#ksæt‚t tƒd$ktd"kks t‚t tƒd%ktd(kkst‚t tƒd&k tdkks4t‚t tƒd'ktdkksNt‚t tƒtkttkksht‚t tƒtkttd kks†t‚t tƒtk ttd kks¤t‚t tƒtkttkks¾t‚d S ))Nr   r&   r'   r,   r+   r(   r6   éûÿÿÿr4   r)   r.   r0   r1   r2   r3   r9   r/   é   r7   r8   Tr:   r;   l   ¡'öª~$DæA®7YáD3':ÿ^îXf Fr<   r=   r?   r@   rB   rC   rE   rF   r*   rH   rJ   rK   rL   rM   r-   )'r   r   rN   r   r
   r   r	   r   rO   r   r   r   r!   rP   rQ   r   r"   r    r   rR   rS   r   r   rT   rU   r   rV   rW   r   r   rX   r   r   Zis_positiveZis_nonpositiver   r   r   r   rY   r[   r[   r\   Útest_ceilingÏ   s    2*( ,ÿ
 "(($($$$$r`   c            	      C   s¬
  t ttƒtƒst‚ttƒtddƒks(t‚tt ƒtddƒks@t‚ttƒtksPt‚ttƒdks`t‚ttƒtkspt‚tt	ddƒƒt	ddƒksŒt‚tt	ddƒ ƒt	ddƒksªt‚tt	ddƒƒt	ddƒksÆt‚t
ddd	} tt|  ƒtt| ƒ ksît‚tdt|   ƒtt| ƒ kst‚td
t|   ƒd
tt| ƒ  ks6t‚ttt|   ƒtt| ƒ ksXt‚tttt  ƒdksrt‚ttttt  ƒsŠt‚tttt  ƒttƒks¨t‚ttƒ t¡tttƒ ksÈt‚ttƒ t¡ttt ƒ ksêt‚ttƒ t¡ tt¡ttƒkst‚ttƒ t¡ tt ¡tt ƒks6t‚ttƒ t¡ tt ¡tt ƒks^t‚ttƒ t¡ tt¡ttƒks‚t‚tttƒtttƒ ƒsžt‚tttƒttt ƒ ƒs¼t‚t
ddd	} t
dddd}t
dddd}t
dddd}t
dddd}t
ddd}t
ddd}t
dddd}t
dddd}t| ƒ|ksFt‚t| ƒ|krXt‚t| ƒ|k t¡spt‚t| ƒ|k t¡sˆt‚t| ƒ|k sšt‚t| ƒ|k r¬t‚t| ƒ|k r¾t‚t| ƒ|k  t¡sÖt‚t| ƒ|krèt‚t| ƒ|ksút‚t| ƒ|kst‚t| ƒ|k t¡s$t‚t| ƒ|kr6t‚t| ƒ|ksHt‚t| ƒ|k t¡s`t‚t| ƒ|k t¡sxt‚tt| ƒ|ƒrŒt‚tt| ƒ|ƒr t‚tt| ƒ|ƒ t¡sºt‚tt| ƒ|ƒ t¡sÔt‚tt| ƒ|ƒsèt‚tt| ƒ|ƒsüt‚tt| ƒ|ƒ t¡st‚tt| ƒ|ƒ t¡s0t‚t| ƒ|k t¡sHt‚t| ƒ|krZt‚t| ƒ|k t¡srt‚t| ƒ|k t¡sŠt‚t| ƒ|k  t¡s¢t‚t| ƒ|k r´t‚t| ƒ|k rÆt‚t| ƒ|k  t¡sÞt‚t| ƒ|k t¡söt‚t| ƒ|kst‚t| ƒ|kst‚t| ƒ|k t¡s2t‚t| ƒ|k t¡sJt‚t| ƒ|ks\t‚t| ƒ|k t¡stt‚t| ƒ|k t¡sŒt‚tt| ƒ|ƒr t‚tt| ƒ|ƒ t¡sºt‚tt| ƒ|ƒ t¡sÔt‚tt| ƒ|ƒ t¡sît‚tt| ƒ|ƒ t¡st‚tt| ƒ|ƒst‚tt| ƒ|ƒ t¡s6t‚tt| ƒ|ƒ t¡sPt‚t| ƒtk sbt‚t| ƒtkstt‚t| ƒtkr†t‚t| ƒtkr˜t‚t| ƒt k r¬t‚t| ƒt krÀt‚t| ƒt ksÔt‚t| ƒt ksèt‚t| ƒdk sút‚t| ƒdkst‚t| ƒdkrt‚t| ƒdkr0t‚t| ƒdk rBt‚t| ƒdk t¡sZt‚t| ƒdk t¡srt‚t| ƒdks„t‚t| ƒtdƒksšt‚t| ƒtdƒtdƒ k t¡s¾t‚t| ƒtdƒtdƒ krÜt‚t| ƒtdƒkròt‚t| ƒtdƒtdƒ k t¡	st‚t| ƒtdƒtdƒ k	s4t‚tt| ƒtdƒƒ	rLt‚tt| ƒtdƒtdƒ ƒ t¡	srt‚tt| ƒtdƒtdƒ ƒ	r’t‚tt| ƒtdƒƒ	sªt‚tt| ƒtdƒtdƒ ƒ t¡	sÐt‚tt| ƒtdƒtdƒ ƒ	sðt‚t|ddj
st‚t|ddj
st‚t|ddj
s,t‚t|ddj 
s@t‚t| ƒj
sPt‚t| ƒj 
s`t‚t| ƒjd k
stt‚t| ƒjd k
sˆt‚ttƒj
s˜t‚ttƒj 
s¨t‚d S )Nr   r&   r4   r,   r(   r-   ÚrTr#   g      à?Úp_i)r%   rD   )r%   r>   Únp_i)r%   rG   Únn_i)r%   rA   Úp_rrC   Ún_rr=   Únp_r)r$   rG   Únn_r)r$   rA   FrH   )!Ú
isinstancer   r    rN   r   r   r
   r   rS   r   r   r   rR   r   rW   r   r   r"   rX   r	   r   r   Úhasr   r   r   r   r   r   Úis_zeroÚ	is_finiteÚ
is_integerZis_real)	ra   rb   Zn_irc   rd   re   rf   rg   rh   r[   r[   r\   Ú	test_fracˆ  sð    "&" "$(($$$& & rn   c                  C   sì   t dƒ\} }t| ƒ | |d¡t|ƒks*t‚t| ƒ | |d¡t|ƒksHt‚t| ƒ | td¡dksbt‚t| ƒ | td¡dks|t‚t| ƒ | dd¡dks–t‚t| ƒ | dd¡dks°t‚t|  ƒ | dd¡dksÌt‚t|  ƒ | dd¡dksèt‚d S )Nzx,yéd   r,   r4   r   r&   r'   )r   r   ZnseriesrN   r   r	   )r    r"   r[   r[   r\   Útest_series  s    rp   c                   C   s  t td t td t  ƒjtdddks.t‚t td t td t  ƒjtdddks\t‚t ttƒd t ƒjtdddks‚t‚t ttƒd t ƒjtdddks¨t‚t ttƒt ƒjtdddksÊt‚t ttƒt ƒjtdddksìt‚t ttƒ t ƒjtdddkst‚t ttƒ t ƒjtdddks8t‚t ttƒt d ƒjtdddks`t‚t ttƒt d ƒjtdddksˆt‚ttd t td t  ƒjtdddks¸t‚ttd t td t  ƒjtdddksèt‚tttƒd t ƒjtdddkst‚tttƒd t ƒjtdddks8t‚tttƒt ƒjtdddks\t‚tttƒt ƒjtdddks€t‚tttƒ t ƒjtdddks¦t‚tttƒ t ƒjtdddksÌt‚tttƒt d ƒjtdddksôt‚tttƒt d ƒjtdddkst‚t ttƒt ƒjtdddddksDt‚t ttƒt ƒjtdddddkslt‚t td t td t  ƒjtdddddks t‚t td t td t  ƒjtdddddksÔt‚tttƒt ƒjtdddddksüt‚tttƒt ƒjtdddddks$t‚ttd t td t  ƒjtdddddksXt‚ttd t td t  ƒjtdddddksŒt‚d S )	Nr,   r(   r&   ©Úcdirr+   r'   r   ro   )	r   r    Úas_leading_termrN   r   r   r   r   Zseriesr[   r[   r[   r\   Útest_issue_14355'  s8    ..&&""&&((00(($$&&((((44((4rt   c                   C   s|  t tƒ t¡tkst‚t tƒjtddtks0t‚t tƒjtdddksJt‚t ttj ƒjtddtjkslt‚t ttj ƒjtddtjksŽt‚t dt d ƒjtddtjks²t‚t dt d ƒjtdddt ksØt‚t ttƒd ƒjtddtksút‚t ttƒd ƒjtddtjks t‚t ttd ƒd ƒjtddtd ksLt‚t ttd ƒd ƒjtddtd ksxt‚d S )Nr&   rq   r'   r+   r*   r(   )r   r    rs   rN   r   rO   ZOner   r[   r[   r[   r\   Útest_frac_leading_termI  s    ""$&"&,ru   c                   C   sœ   t dtt  tt  ƒdt tt ƒt  ks0t‚t dt tt  tt  ƒt dt t ƒt ksdt‚t dt tt  tt  ƒdt tt ƒt  ks˜t‚d S )Nr,   r*   )r   r	   r   r"   rN   r   r[   r[   r[   r\   Útest_issue_4149W  s    04rv   c                  C   s2   t dddd} dd|    }tt|ƒtƒs.t‚d S )NrR   T)rD   r%   r(   )r   ri   r   rN   )rR   r   r[   r[   r\   Útest_issue_21651^  s    rw   c                   C   sd   t t tƒƒt tƒkst‚t ttƒƒttƒks0t‚tt tƒƒt tƒksHt‚tttƒƒttƒks`t‚d S )N©r   r    rN   r   r[   r[   r[   r\   Útest_issue_11207d  s    ry   c                   C   sÔ   t t ttd ƒt ƒ ƒt ttd ƒt ƒ ks4t‚tt ttd ƒt ƒ ƒt ttd ƒt ƒ ksht‚t tt ttddƒ t ƒ ƒƒt ttddƒ t ƒ ks¤t‚ttt tƒt ƒ ƒ tt tƒt ƒksÐt‚d S )Nr,   r.   r(   )r   r   r    r"   rN   r   r[   r[   r[   r\   Útest_nested_floor_ceilingk  s    44<rz   c                   C   sp   t t t tƒƒd ƒt tƒd ks$t‚ttttƒƒd ƒttƒd ksHt‚ttt tƒƒd ƒt tƒd kslt‚d S )Nr,   r&   rx   r[   r[   r[   r\   Útest_issue_18689q  s    $$r{   c                   C   s0   t tdƒƒtjkst‚ttdƒƒtjks,t‚d S )Nr   )r   Úfloatr   ZZerorN   r   r[   r[   r[   r\   Útest_issue_18421v  s    r}   N);Z!sympy.calculus.accumulationboundsr   Zsympy.core.numbersr   r   r   r   r   r   r	   r
   Zsympy.core.relationalr   r   r   r   r   r   Zsympy.core.singletonr   Zsympy.core.symbolr   r   Z(sympy.functions.combinatorial.factorialsr   Z&sympy.functions.elementary.exponentialr   r   Z#sympy.functions.elementary.integersr   r   r   Z(sympy.functions.elementary.miscellaneousr   Z(sympy.functions.elementary.trigonometricr   r   r   Zsympy.core.exprr   Zsympy.testing.pytestr   r    r!   r"   rR   rS   r]   r`   rn   rp   rt   ru   rv   rw   ry   rz   r{   r}   r[   r[   r[   r\   Ú<module>   s>   (  ; : "
