
    bi                         d dl Zd dlmZmZ d dlmZmZmZm	Z	 d dl
Z
d Zd Zd Zd Zd Zd	 Zd
 Zd Ze
j&                  j)                  dddgddgg      d        Zy)    N)assert_equalassert_allclose)boxcoxboxcox1p
inv_boxcoxinv_boxcox1pc                  |   t        j                  g d      } t        | d      }t        |t        j                  |       dd       t        | d      }t        || dz
  dd       t        | d      }t        |d| dz  dz
  z  dd       t        j                  g d      }t        d|      }t        |d	|z  dd       y )
N)      ?         r   v!>atolrtolr   r   r
   r
   r   r         )nparrayr   r   logxylams      Z/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/scipy/special/tests/test_boxcox.pytest_boxcox_basicr   	   s    
 A 	q!AArvvayvA6 	q!AAq1u62 	q!AAsAqD1H~F; ((;
Cq#AAtczQ7    c                  f    d} d}t        | |      }t        |t        j                  |       d       y )Ng     ?P7xf +=r   )r   r   r   r   r   lmbdar   s      r   test_boxcox_underflowr$      s,    AEq%AArvvayu-r   c                     t        j                  g d      } t        | g d      }t        |t        j                  t         j                  t         j                  t         j                  g             d} t        | ddg      }t        |t        j                  t         j
                   t         j
                   g             y )N)r&   g      ࿩r
          @      r         )r   r   r   r   naninfr   r   s     r   test_boxcox_nonfiniter.   $   s~    
 Aq"#ABHHbffbffbff567 	
Aq4)ABHHrvvgw/01r   c                  v   t        j                  g d      } t        | d      }t        |t        j                  |       dd       t        | d      }t        || dd       t        | d      }t        |d| z  d| z   z  dd       t        j                  g d      }t        d	|      }t        |d
|z  dd       y )N)g      пg#Bǻr   g#B;g      ?r      r   r   r   r   r   r
   r   r&   r   r   r   r   r   log1pr   s      r   test_boxcox1p_basicr3   0   s    
67A 	AAArxx{a8 	AAAqvA. 	AAAs1ua!e}6: ((;
CSAAtczQ7r   c                      t        j                  ddg      } t        j                  ddg      }t        | |      }t        |t        j                  |       d       y )NV瞯<r   gC]r2<r    r!   r1   r"   s      r   test_boxcox1p_underflowr6   E   sF    
%!AHHfe_%EEAArxx{/r   c                     t        j                  g d      } t        | g d      }t        |t        j                  t         j                  t         j                  t         j                  g             d} t        | ddg      }t        |t        j                  t         j
                   t         j
                   g             y )N)r8   r)   r'   r&   r*   r   )r   r   r   r   r+   r,   r-   s     r   test_boxcox1p_nonfiniter9   L   s~    
 A$%ABHHbffbffbff567 	AT1IABHHrvvgw/01r   c                  X   t        j                  g d      } t        j                  g d      }t        | |      }t        ||      }t	        | |dd       t        j                  g d      } t        j                  g d      }t        | |      }t        ||      }t	        | |dd       y )N)g        g      ?r(   r   r   r   )r   r   r   r   r   r   r   )r   r   r   x2s       r   test_inv_boxcoxr<   X   s    
A
((<
 Cq#A	As	BArQ/
A
((<
 CCA	a	BArQ/r   c                  @    d} d}t        | |      }t        || d       y )Nr5   r   r    r!   )r   r   )r   r   r   s      r   test_inv_boxcox1p_underflowr>   f   s$    A
CQAAqu%r   zx, lmbd      g{Gz?iec                     t        | |      }t        j                  |      sJ t        ||      }t	        | |       t        | dz
  |      }t        j                  |      sJ t        ||      }t	        | dz
  |       y )Nr   )r   r   isfiniter   r   r   r   )r   lmbr   x_invy1px1p_invs         r   test_boxcox_premature_overflowrG   m   ss     	q#A;;q>>q#EAu 1Q3
C;;s3$GAaC!r   )numpyr   numpy.testingr   r   scipy.specialr   r   r   r   pytestr   r$   r.   r3   r6   r9   r<   r>   markparametrizerG    r   r   <module>rO      su     7 D D 
8(.	28*0	20& 	3Z
D\
"
"r   