a
    ›¬<b5  ã                   @   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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
   úf/Users/vegardjervell/Documents/master/model/venv/lib/python3.9/site-packages/mpmath/tests/test_quad.pyÚae   s    r   c                  C   s@  dD ].} | t _ttdd„ ddgƒdƒs,J ‚ttdd„ ddgƒdƒsHJ ‚tttdtgƒd	ƒs`J ‚tttdd	t gƒdƒs|J ‚tttt d
gƒdt	 ƒsšJ ‚ttdd„ dtgƒdƒs¶J ‚ttdd„ t tgƒt
tƒƒsØJ ‚ttdd„ d
dgƒtd	 ƒsøJ ‚ttdd„ t tgƒtƒsJ ‚ttdd„ d
dgƒtƒsJ ‚qdt _d S )N)é   é   éd   c                 S   s   | d d| d   S ©Né   é   r
   ©Úxr
   r
   r   Ú<lambda>
   ó    z&test_basic_integrals.<locals>.<lambda>éþÿÿÿé   iôÿÿÿc                 S   s   | d d| d   S r   r
   r   r
   r
   r   r      r   r   r   éÿÿÿÿé   c                 S   s
   t |  ƒS ©N©Úexpr   r
   r
   r   r      r   c                 S   s   t |  |  ƒS r   r   r   r
   r
   r   r      r   c                 S   s   dd| |    S ©Nr   r
   r   r
   r
   r   r      r   c                 S   s   dd| |    S r   r
   r   r
   r
   r   r      r   c                 S   s   dt d| |   ƒ S ©Nr   r   ©Úsqrtr   r
   r
   r   r      r   r   )r   r   r   ÚquadtsÚquadglÚsinÚpir   ÚinfÚer!   ©Úprecr
   r
   r   Útest_basic_integrals   s    
"  r*   c                  C   s8   t dd„ g d¢ddd\} }t| d ƒd| k s4J ‚d S )Nc                 S   s   t | ƒS r   )Úsignr   r
   r
   r   r      r   z)test_multiple_intervals.<locals>.<lambda>)g      à¿gÍÌÌÌÌÌì?r   r   T)Ú	maxdegreeÚerrorç      à?)Úquadr   )ÚyÚerrr
   r
   r   Útest_multiple_intervals   s    r2   c                   C   s0   t tddgƒdksJ ‚ttddgƒdks,J ‚d S )Nr   r   r   )r"   r$   r#   r
   r
   r
   r   Útest_quad_symmetry   s    r3   c                   C   sF   t tdd„ tt gƒttƒ ƒs$J ‚t tdd„ dt gƒdƒsBJ ‚d S )Nc                 S   s   t |  |  ƒS r   r   r   r
   r
   r   r       r   z+test_quad_infinite_mirror.<locals>.<lambda>c                 S   s   t | ƒS r   r   r   r
   r
   r   r   !   r   r   r   )r   r/   r&   r!   r%   r
   r
   r
   r   Útest_quad_infinite_mirror   s    $r4   c                   C   s$   t dd„ ddgdd d¡s J ‚d S )Nc                 S   s   | S r   r
   r   r
   r
   r   r   $   r   z$test_quadgl_linear.<locals>.<lambda>r   r   )r,   r.   )r#   r   r
   r
   r
   r   Útest_quadgl_linear#   s    r5   c                   C   s$   t dd„ ddt gƒ t¡s J ‚d S )Nc                 S   s   | S r   r
   r   r
   r
   r   r   '   r   z*test_complex_integration.<locals>.<lambda>r   r   )r"   Újr   r
   r
   r
   r   Útest_complex_integration&   s    r7   c                   C   s2   dt _tdd„ dtgdt d td ¡s.J ‚d S )Nr   c                 S   s   t | ƒ|  S r   ©r$   r   r
   r
   r   r   +   r   ztest_quadosc.<locals>.<lambda>r   r   )Zperiod)r   r   Zquadoscr&   r%   r   r
   r
   r
   r   Útest_quadosc)   s    r9   c                   C   sH   t tdd„ ddgddgƒdƒs"J ‚t tdd„ ddgddgƒdƒsDJ ‚d S )	Nc                 S   s   | S r   r
   ©r   r0   r
   r
   r   r   /   r   z%test_double_trivial.<locals>.<lambda>r   r   r.   c                 S   s   | S r   r
   r:   r
   r
   r   r   0   r   r   g        )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,J ‚d S )Nc                 S   s   t | |d  ƒS ©Nr   )Úcosr:   r
   r
   r   r   3   r   ztest_double_1.<locals>.<lambda>r   r   r   ©r   r"   r%   r
   r
   r
   r   Útest_double_12   s    r?   c                   C   s&   t tdd„ ddgddgƒtƒs"J ‚d S )Nc                 S   s    | d d| |  t | | ƒ  S r   ©Úlogr:   r
   r
   r   r   6   r   ztest_double_2.<locals>.<lambda>r   r   )r   r"   Úeulerr
   r
   r
   r   Útest_double_25   s    rC   c                   C   sB   t tdd„ ddgddgƒdtdtdƒ ƒ dt d  ƒs>J ‚d S )Nc                 S   s   dt d| |   ||  ƒ S r   r    r:   r
   r
   r   r   9   r   ztest_double_3.<locals>.<lambda>r   r   r   r   r   )r   r"   rA   r!   r%   r
   r
   r
   r   Útest_double_38   s    rD   c                   C   s.   t tdd„ ddgddgƒtd d ƒs*J ‚d S )Nc                 S   s   dd| |  | |   S r   r
   r:   r
   r
   r   r   <   r   ztest_double_4.<locals>.<lambda>r   r   r   é   r>   r
   r
   r
   r   Útest_double_4;   s    rF   c                   C   s.   t tdd„ ddgddgƒtd d ƒs*J ‚d S )Nc                 S   s   dd| |   S r   r
   r:   r
   r
   r   r   ?   r   ztest_double_5.<locals>.<lambda>r   r   r   é   r>   r
   r
   r
   r   Útest_double_5>   s    rH   c                   C   s&   t tdd„ dtgdtgƒdƒs"J ‚d S )Nc                 S   s   t | |  ƒS r   r   r:   r
   r
   r   r   B   r   ztest_double_6.<locals>.<lambda>r   r   )r   r"   r&   r
   r
   r
   r   Útest_double_6A   s    rI   c                   C   s*   t tdd„ t tgt tgƒtƒs&J ‚d S )Nc                 S   s   t |  |  ||  ƒS r   r   r:   r
   r
   r   r   E   r   ztest_double_7.<locals>.<lambda>)r   r"   r&   r%   r
   r
   r
   r   Útest_double_7D   s    rJ   c                  C   sì  dD ]Ú} | t _ttdd„ dtgƒtd d ƒs4J ‚ttdd„ dtgƒtd d	 ƒsXJ ‚ttd
d„ dtgƒttdƒ ƒs|J ‚ttdd„ dtgƒttƒdtdƒ  t ƒs¬J ‚ttdd„ dtgƒdt tdƒ tdƒ ƒsÜJ ‚ttdd„ ddgƒd	td  dtdƒ  ƒsJ ‚ttdd„ dtd gƒtd tdƒd td d   ƒsLJ ‚ttdd„ dtd gƒttdƒ ƒsvJ ‚ttdd„ dtgƒdt tdƒd td d   ƒs°J ‚ttdd„ dtgƒtddtdƒ   d	 ƒsJ ‚qdt _d S )N)r   r   é2   c                 S   s   | t | ƒ S r   )Úsinhr   r
   r
   r   r   M   r   z(test_expmath_integrals.<locals>.<lambda>r   r   r   c                 S   s   t | ƒd d| d   S r   r@   r   r
   r
   r   r   N   r   r   rE   c                 S   s   d| d  d| d   S )Nr   r   r   r
   r   r
   r
   r   r   O   r   c                 S   s   t | ƒt| ƒd  S r<   )rA   Úcoshr   r
   r
   r   r   P   r   c                 S   s    t d| d  ƒd|  | d   S )Nr   r   r   r@   r   r
   r
   r   r   Q   r   c                 S   s   t | ƒd | d |  d  S r   r@   r   r
   r
   r   r   R   r   r   éQ   c                 S   s   t t| ƒƒd S r<   )rA   r=   r   r
   r
   r   r   S   r   é   c                 S   s   | d t | ƒd  S r<   r8   r   r
   r
   r   r   T   r   c                 S   s   | d t t| ƒd ƒ S r   )r!   r   r   r
   r
   r   r   U   r   c                 S   s"   | t |  ƒ tdt d|  ƒ ƒ S )Nr   r   )r   r!   r   r
   r
   r   r   V   r   r   )	r   r   r   r"   r&   r%   r!   rA   rB   r(   r
   r
   r   Útest_expmath_integralsJ   s    
$$$002>*:2rP   c                   C   s¨   t tdd„ dtd gƒttdƒ d ƒs,J ‚t tdd„ ddgƒttdtdƒ ƒ d ƒs\J ‚t tdd„ ddgƒtd tdƒ ƒs„J ‚t tdd„ ddgƒtd	 ƒs¤J ‚d S )
Nc                 S   s   t t| ƒƒS r   )r!   Útanr   r
   r
   r   r   \   r   z#test_expmath_fail.<locals>.<lambda>r   r   c                 S   s   t | ƒ| td| d  ƒ  S ©Nr   r   )Úatanr!   r   r
   r
   r   r   ]   r   r   c                 S   s   t d| d  ƒ| d  S rR   r@   r   r
   r
   r   r   ^   r   c                 S   s$   | d d| d  t d| d  ƒ  S )Nr   r   r   r    r   r
   r
   r   r   _   r   rE   )r   r"   r%   r!   rA   r
   r
   r
   r   Útest_expmath_failZ   s    ,0(rT   )ZpytestZmpmathr   r*   r2   r3   r4   r5   r7   r9   r;   r?   rC   rD   rF   rH   rI   rJ   rP   ÚmarkZxfailrT   r
   r
   r
   r   Ú<module>   s(   