U
    9%ew                     @   s   d dl mZmZmZ d dl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mZmZmZmZ d dlmZmZ d dlmZ d d	lmZmZ d
d Zdd Zdd Zdd Zdd Z dd Z!dd Z"dS )    )IRationaloo)S)Symbol)explog)sqrt)singularitiesis_increasingis_strictly_increasingis_decreasingis_strictly_decreasingis_monotonic)Interval	FiniteSet)raises)xyc                      s  t d t d  tjks tt  d d   d   tddksLttd d d   ttt ksrtt  d d   tddtdt  d dtdt  d ksttdtd dt t  d  ttt tdt  t tdt  kstt ddd td d d   tjks4ttt	d   tj
td	ksXttt	d   tddtjks~ttt d d  tddtdksttt fd
d d S )Nr            T)realr   c                      s   t  t   S )N)r
   r    r   r   f/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/sympy/calculus/tests/test_singularities.py<lambda>"       z$test_singularities.<locals>.<lambda>)r   r
   r   ZEmptySetAssertionErrorr   r   r	   r   r   Realsr   r   r   NotImplementedErrorr   r   r   r   test_singularities   s     ,&* $
"$&,r#   c                  C   s&  t ddd} ttd dtd   dt  tjs4tttd  tt dsPtttd  tdtrjttdtd  dtd   d	t  d
 tddrtttd t tdttstttd  |  tdttsttdsttdtd  dtd   d	t  d
 tdddks"tdS )z1Test whether is_increasing returns correct value.aT)negativer   r      r      H      r   r   FN)	r   r   r   r   r!   r    r   r   r   )r$   r   r   r   test_is_increasing%   s    (4 r*   c                   C   s
  t dtd  dtd   dt  d tt ds8tt dtd  dtd   dt  d tdtsntt dtd  dtd   dt  d tddrtt td  tdtrttd	rtt dtd  dtd   dt  d tddd
kstdS )z:Test whether is_strictly_increasing returns correct value.r&   r   r'   r   r(   r)   r   r   r   FN)	r   r   r   Ropenr   r    Lopenopenr   r   r   r   r   test_is_strictly_increasing4   s    " " 
" 
r.   c                  C   s   t ddd} tdtd dt   ttddds8ttdtd dt   tdds^ttdtd dt   tdtsttdtd dt   t	t tddrtttd  tt drtttd  |  tt dtrtd	S )
z1Test whether is_decreasing returns correct value.bT)Zpositiver   r   r         ?r   N)
r   r   r   r   r-   r   r    r,   r   r+   )r/   r   r   r   test_is_decreasingB   s    ,&&.r1   c                   C   s   t dtd dt   tdts&tt dtd dt   tt tddrTtt td  tt drptt dr|tt dtd dt   ttdddstt dtd dt   tddstdS )z:Test whether is_strictly_decreasing returns correct value.r   r   r   r   r0   N)	r   r   r   r,   r   r    r+   r   r-   r   r   r   r   test_is_strictly_decreasingN   s    & ,r2   c                   C   s   t dtd dt   ttddds,tt dtd dt   tddsRtt dtd dt   tdtsxtt td dtd   dt  tj	stt td  tj	rtt td t
 d tddtstttdd  dS )	z0Test whether is_monotonic returns correct value.r   r   r   r0   r&   c                   S   s   t td t d S )Nr   r   )r   r   r   r   r   r   r   r   a   r   z#test_is_monotonic.<locals>.<lambda>N)r   r   r   r-   r   r    r,   r   r   r!   r   r   r"   r   r   r   r   test_is_monotonicY   s    ,&&("r3   c                  C   sB   t d} | d d| d  d|   d  }t|tdd| s>td S )Nr   r   gMbPr   g?)r   r   r   r    )r   exprr   r   r   test_issue_23401d   s     r5   N)#Zsympy.core.numbersr   r   r   Zsympy.core.singletonr   Zsympy.core.symbolr   Z&sympy.functions.elementary.exponentialr   r   Z(sympy.functions.elementary.miscellaneousr	   Zsympy.calculus.singularitiesr
   r   r   r   r   r   Z
sympy.setsr   r   Zsympy.testing.pytestr   Z	sympy.abcr   r   r#   r*   r.   r1   r2   r3   r5   r   r   r   r   <module>   s    