U
    ÃmœdC  ã                   @   sT   d Z ddlZddlmZ ddlmZmZmZm	Z	 dd„ Z
dd„ Zd	d
„ Zdd„ ZdS )z>

Created on Sat Mar 23 13:34:19 2013

Author: Josef Perktold
é    N)Úbrentq_expanding)Úassert_allcloseÚassert_equalÚassert_raisesÚassert_array_lessc                 C   s   | | d }|S ©Né   © ©ÚxÚaÚfr	   r	   úa/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/statsmodels/tools/tests/test_rootfinding.pyÚfunc   s    r   c                 C   s,   t  | ¡} | d|  d }t j|| |k < |S )Ng      ð?r   )ÚnpZ
atleast_1dÚnan)r   r   Úbr   r	   r	   r   Úfunc_nan   s    
r   c                 C   s   | | d  }|S r   r	   r
   r	   r	   r   Úfuncn   s    r   c                  C   s”  di fdi fdi fdt dd�fdt dd	�fdt d
dd�fdt ddd�fg} td ftdftd ftdfg}|D ]L\}}| D ]>\}}d|i}| |¡ t|fd|fi|—Ž}t||dd� qvqjttttdddd� ttttddd� ttttddd� tttt	dd� d}tt|fdd�\}}	t||dd� d d!d"d#d$ddd%œ}
t
|	jd&ƒ t
|	jd&ƒ |
D ](}|d'k�rh�qVt|
| t|	|ƒƒ �qVt|	j|dd� d S )(Nr   é2   iÎÿÿÿi ¡ i'  )Úlowé°<ÿÿiüÿÿ)Úuppià“ i`®
 )r   r   i�îþÿTFZ
increasingÚargsgñhãˆµøä>)Zrtol)r   iÀcÿÿiðØÿÿ)r   r   r   é   )r   Zmax_itr   )r   Z
maxiter_bq)iìÿÿÿg333333ã?)r   iô  )r   Zfull_outputé?   )éÿÿÿÿé   )éd   iè  Ú	convergedé@   )Ú
iterationsZstart_boundsZbrentq_boundsÚflagÚfunction_callsZiterations_expandr   éF   )r!   r#   )Údictr   r   Úupdater   r   r   Ú
ValueErrorÚRuntimeErrorr   r   r!   r#   r   ÚgetattrÚroot)ZcasesÚfuncsr   Úincr   ÚkwdsÚkwÚresÚvalÚinfoZinfo1Úkr	   r	   r   Útest_brentq_expanding    sP    ù
ý

   þ
r3   )Ú__doc__Únumpyr   Zstatsmodels.tools.rootfindingr   Znumpy.testingr   r   r   r   r   r   r   r3   r	   r	   r	   r   Ú<module>   s   