B
    +»Ã[ª  ã               @   s¤   d dl Z d dlT dd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd!d"„ Ze jjd#d$„ ƒZdS )%é    N)Ú*c             C   s   t | | ƒdtj d  k S )Né
   é   )ÚabsÚmpÚdps)ÚaÚb© r
   ú5lib/python3.7/site-packages/mpmath/tests/test_quad.pyÚae   s    r   c              C   sF  x8dD ].} | t _ttdd„ ddgƒdƒs0t‚ttdd„ ddgƒdƒsLt‚tttdtgƒd	ƒsdt‚tttdd	t gƒdƒs€t‚tttt	 d
gƒdt
 ƒsžt‚ttdd„ dt	gƒdƒsºt‚ttdd„ t	 t	gƒttƒƒsÜt‚ttdd„ d
dgƒtd	 ƒsüt‚ttdd„ t	 t	gƒtƒst‚ttdd„ d
dgƒtƒst‚qW dt _d S )N)é   é   éd   c             S   s   | d d| d   S )Né   é   r
   )Úxr
   r
   r   Ú<lambda>
   s    z&test_basic_integrals.<locals>.<lambda>éþÿÿÿé   iôÿÿÿc             S   s   | d d| d   S )Nr   r   r
   )r   r
   r
   r   r      s    r   r   éÿÿÿÿé   c             S   s
   t |  ƒS )N)Úexp)r   r
   r
   r   r      s    c             S   s   t |  |  ƒS )N)r   )r   r
   r
   r   r      s    c             S   s   dd| |    S )Nr   r
   )r   r
   r
   r   r      s    c             S   s   dd| |    S )Nr   r
   )r   r
   r
   r   r      s    c             S   s   dt d| |   ƒ S )Nr   r   )Úsqrt)r   r
   r
   r   r      s    r   )r   r   r   ÚquadtsÚAssertionErrorÚquadglÚsinÚpir   ÚinfÚer   )Úprecr
   r
   r   Útest_basic_integrals   s    "   r"   c               C   s0   t tddgƒdkst‚ttddgƒdks,t‚d S )Nr   r   r   )r   r   r   r   r
   r
   r
   r   Útest_quad_symmetry   s    r#   c               C   sF   t tdd„ tt gƒttƒ ƒs$t‚t tdd„ dt gƒdƒsBt‚d S )Nc             S   s   t |  |  ƒS )N)r   )r   r
   r
   r   r      s    z+test_quad_infinite_mirror.<locals>.<lambda>c             S   s   t | ƒS )N)r   )r   r
   r
   r   r      s    r   r   )r   Zquadr   r   r   r   r
   r
   r
   r   Útest_quad_infinite_mirror   s    $r$   c               C   s$   t dd„ ddgdd d¡s t‚d S )Nc             S   s   | S )Nr
   )r   r
   r
   r   r       s    z$test_quadgl_linear.<locals>.<lambda>r   r   )Z	maxdegreeg      à?)r   r   r   r
   r
   r
   r   Útest_quadgl_linear   s    r%   c               C   s$   t dd„ ddt gƒ t¡s t‚d S )Nc             S   s   | S )Nr
   )r   r
   r
   r   r   #   s    z*test_complex_integration.<locals>.<lambda>r   r   )r   Újr   r   r
   r
   r
   r   Útest_complex_integration"   s    r'   c               C   s2   dt _tdd„ dtgdt d td ¡s.t‚d S )Nr   c             S   s   t | ƒ|  S )N)r   )r   r
   r
   r   r   '   s    ztest_quadosc.<locals>.<lambda>r   r   )Zperiod)r   r   Zquadoscr   r   r   r   r
   r
   r
   r   Útest_quadosc%   s    r(   c               C   sH   t tdd„ ddgddgƒdƒs"t‚t tdd„ ddgddgƒdƒsDt‚d S )	Nc             S   s   | S )Nr
   )r   Úyr
   r
   r   r   +   s    z%test_double_trivial.<locals>.<lambda>r   r   g      à?c             S   s   | S )Nr
   )r   r)   r
   r
   r   r   ,   s    r   g        )r   r   r   r
   r
   r
   r   Útest_double_trivial*   s    "r*   c               C   s0   t tdd„ t d td gdtgƒdƒs,t‚d S )Nc             S   s   t | |d  ƒS )Nr   )Úcos)r   r)   r
   r
   r   r   /   s    ztest_double_1.<locals>.<lambda>r   r   r   )r   r   r   r   r
   r
   r
   r   Útest_double_1.   s    r,   c               C   s&   t tdd„ ddgddgƒtƒs"t‚d S )Nc             S   s    | d d| |  t | | ƒ  S )Nr   )Úlog)r   r)   r
   r
   r   r   2   s    ztest_double_2.<locals>.<lambda>r   r   )r   r   Úeulerr   r
   r
   r
   r   Útest_double_21   s    r/   c               C   sB   t tdd„ ddgddgƒdtdtdƒ ƒ dt d  ƒs>t‚d S )Nc             S   s   dt d| |   ||  ƒ S )Nr   )r   )r   r)   r
   r
   r   r   5   s    ztest_double_3.<locals>.<lambda>r   r   r   r   r   )r   r   r-   r   r   r   r
   r
   r
   r   Útest_double_34   s    r0   c               C   s.   t tdd„ ddgddgƒtd d ƒs*t‚d S )Nc             S   s   dd| |  | |   S )Nr   r
   )r   r)   r
   r
   r   r   8   s    ztest_double_4.<locals>.<lambda>r   r   r   é   )r   r   r   r   r
   r
   r
   r   Útest_double_47   s    r2   c               C   s.   t tdd„ ddgddgƒtd d ƒs*t‚d S )Nc             S   s   dd| |   S )Nr   r
   )r   r)   r
   r
   r   r   ;   s    ztest_double_5.<locals>.<lambda>r   r   r   é   )r   r   r   r   r
   r
   r
   r   Útest_double_5:   s    r4   c               C   s&   t tdd„ dtgdtgƒdƒs"t‚d S )Nc             S   s   t | |  ƒS )N)r   )r   r)   r
   r
   r   r   >   s    ztest_double_6.<locals>.<lambda>r   r   )r   r   r   r   r
   r
   r
   r   Útest_double_6=   s    r5   c               C   s*   t tdd„ t tgt tgƒtƒs&t‚d S )Nc             S   s   t |  |  ||  ƒS )N)r   )r   r)   r
   r
   r   r   A   s    ztest_double_7.<locals>.<lambda>)r   r   r   r   r   r
   r
   r
   r   Útest_double_7@   s    r6   c              C   sò  xädD ]Ú} | t _ttdd„ dtgƒtd d ƒs8t‚ttdd„ dtgƒtd d	 ƒs\t‚ttd
d„ dtgƒttdƒ ƒs€t‚ttdd„ dtgƒttƒdtdƒ  t	 ƒs°t‚ttdd„ dtgƒdt tdƒ tdƒ ƒsàt‚ttdd„ ddgƒd	td  dtdƒ  ƒst‚ttdd„ dtd gƒtd tdƒd td d   ƒsPt‚ttdd„ dtd gƒttdƒ ƒszt‚ttdd„ dtgƒdt tdƒd td d   ƒs´t‚ttdd„ dtgƒtddtdƒ   d	 ƒst‚qW dt _d S )N)r   r   é2   c             S   s   | t | ƒ S )N)Zsinh)r   r
   r
   r   r   I   s    z(test_expmath_integrals.<locals>.<lambda>r   r   r   c             S   s   t | ƒd d| d   S )Nr   r   )r-   )r   r
   r
   r   r   J   s    r   r1   c             S   s   d| d  d| d   S )Nr   r   r   r
   )r   r
   r
   r   r   K   s    c             S   s   t | ƒt| ƒd  S )Nr   )r-   Zcosh)r   r
   r
   r   r   L   s    c             S   s    t d| d  ƒd|  | d   S )Nr   r   r   )r-   )r   r
   r
   r   r   M   s    c             S   s   t | ƒd | d |  d  S )Nr   r   )r-   )r   r
   r
   r   r   N   s    r   éQ   c             S   s   t t| ƒƒd S )Nr   )r-   r+   )r   r
   r
   r   r   O   s    é   c             S   s   | d t | ƒd  S )Nr   )r   )r   r
   r
   r   r   P   s    c             S   s   | d t t| ƒd ƒ S )Nr   r   )r   r   )r   r
   r
   r   r   Q   s    c             S   s"   | t |  ƒ tdt d|  ƒ ƒ S )Nr   r   )r   r   )r   r
   r
   r   r   R   s    r   )
r   r   r   r   r   r   r   r   r-   r.   )r!   r
   r
   r   Útest_expmath_integralsF   s    $$$002>*:4r:   c               C   s¨   t tdd„ dtd gƒttdƒ d ƒs,t‚t tdd„ ddgƒttdtdƒ ƒ d ƒs\t‚t tdd„ ddgƒtd tdƒ ƒs„t‚t tdd„ ddgƒtd	 ƒs¤t‚d S )
Nc             S   s   t t| ƒƒS )N)r   Ztan)r   r
   r
   r   r   X   s    z#test_expmath_fail.<locals>.<lambda>r   r   c             S   s   t | ƒ| td| d  ƒ  S )Nr   r   )Zatanr   )r   r
   r
   r   r   Y   s    r   c             S   s   t d| d  ƒ| d  S )Nr   r   )r-   )r   r
   r
   r   r   Z   s    c             S   s$   | d d| d  t d| d  ƒ  S )Nr   r   r   )r   )r   r
   r
   r   r   [   s    r1   )r   r   r   r   r   r-   r
   r
   r
   r   Útest_expmath_failV   s    ,0(r;   )ZpytestZmpmathr   r"   r#   r$   r%   r'   r(   r*   r,   r/   r0   r2   r4   r5   r6   r:   ZmarkZxfailr;   r
   r
   r
   r   Ú<module>   s$   