U
    KvfC                     @   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	   L/tmp/pip-unpacked-wheel-2v6byqio/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   ii  i'  )low<i)uppi i`
 )r   r   iTFZ
increasingargsgh㈵>)Zrtol)r   ici)r   r   r      )r   Zmax_itr   )r   Z
maxiter_bq)ig333333?)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__Znumpyr   Zstatsmodels.tools.rootfindingr   Znumpy.testingr   r   r   r   r   r   r   r3   r	   r	   r	   r   <module>   s   