
    tKg                     p    d dl Zd dlmZmZmZ d dlmZmZm	Z	  G d d      Z
 G d d      Z G d d	      Zy)
    N)assert_equalassert_almost_equalassert_allclose)logitexpit	log_expitc                   $    e Zd Zd Zd Zd Zd Zy)	TestLogitc                 6   t        j                  ddd      }t        j                  ||      }t        j                  d      5  t	        |      }d d d        t        |       t        |j                  t        j                  |             y # 1 sw Y   ?xY w)Nr      
   dtypeignore)divide)nplinspacearrayerrstater   r   r   r   selfr   expectedaactuals        b/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/scipy/special/tests/test_logit.pycheck_logit_outzTestLogit.check_logit_out   si    KK1b!HHQe$[[)1XF * 	FH-V\\288E?3 *)s   BBc                     t        j                  t         j                   ddddddddt         j                  g
t         j                  	      }| j	                  d
|       y )NgcY@ gwQDB.gԙ̿gc?gC?C.?gN7?Q?gcY@ @r   f4)r   r   inffloat32r   r   r   s     r   test_float32zTestLogit.test_float32   sS    88bffWk''%z&	0 8:zz	C
 	T8,    c                     t        j                  t         j                   ddddddddt         j                  g
      }| j                  d	|       y )
Ngu? g$/Qr   g̿g?gDB.?g$/Q?gu? @f8)r   r   r    r   r"   s     r   test_float64zTestLogit.test_float64   sI    88bffWk''&
&	0 1
 	T8,r$   c                     t        j                  t         j                  gdz        }t        j                  d      5  t	        t        j                  g d            }d d d        t        |       y # 1 sw Y   xY w)N   r   )invalid)g      g       g       @g      @)r   r   nanr   r   r   )r   r   r   s      r   test_nanzTestLogit.test_nan"   sT    88RVVHQJ'[[*288$678F + 	Xv& +*s   !A44A=N)__name__
__module____qualname__r   r#   r'   r,    r$   r   r
   r
      s    4--'r$   r
   c                   $    e Zd Zd Zd Zd Zd Zy)	TestExpitc                     t        j                  ddd      }t        j                  ||      }t        |      }t	        ||       t        |j                  t        j                  |             y )Nr)   r   r   )r   r   r   r   r   r   r   r   s        r   check_expit_outzTestExpit.check_expit_out+   sM    KKAr"HHQe$qFH-V\\288E?3r$   c                 v    t        j                  g dt         j                        }| j                  d|       y )N)
{j?\wb֥?g~ܟ?g5?s4 ?ǻe?g+?>S?w?gݙ?gl?r   r   )r   r   r!   r5   r"   s     r   r#   zTestExpit.test_float322   s1    88 4 <>::	G
 	T8,r$   c                 V    t        j                  g d      }| j                  d|       y )N)
r7   r8   gIq?g!/?r9   r:   gw?4S?r;   g4ؙ?g!/l?r&   )r   r   r5   r"   s     r   r'   zTestExpit.test_float64:   s'    88 4 5
 	T8,r$   c                    t         j                  t         j                  t         j                  fD ]  }dD ]  }t        j                  ||      }t        t        |      dd       t        t        |       dd       t        t        |      j                  |       t        t        |       j                  |         y )N)X   Y   i    i\,  i],  r   g      ?g#B;)atolg        )	r   r!   float64
longdoubler   r   r   r   r   )r   r   ns      r   
test_largezTestExpit.test_largeB   s    jj"**bmm<E5HHQe,a#E:qb	3U;U1X^^U3UA2Y__e4 6 =r$   N)r-   r.   r/   r5   r#   r'   rE   r0   r$   r   r2   r2   *   s    4--5r$   r2   c                   $    e Zd Zd Zd Zd Zd Zy)TestLogExpitc                 `    t        j                  g d      }t        |      }t        ||       y )N)g     g     pg     @g     Ar   r   r   r   r   xys      r   test_large_negativez TestLogExpit.test_large_negativeN   s$    HH67aLQr$   c                     t        j                  g d      }t        |      }t        |t        j                  g d             y )N)g     p@g     @@g     @)       rO   rO   rI   rJ   s      r   test_large_positivez TestLogExpit.test_large_positiveS   s0    HH-.aL
 	Q!345r$   c                 l    t        j                  g d      }t        |      }g d}t        ||d       y )N)皙&.r   &.>皙?r   r   d   i  r@   i  i  )g     @gC   4g(U $g\ÁcgIgOg>B.g9B.gB.g]g$zԿgLVg]gCx^&ْgó(8g   g'1     gV瞯<rtol)r   r   r   r   r   rK   rL   r   s       r   test_basic_float64zTestLogExpit.test_basic_float64\   s5    HH D EaL! 	8%0r$   c                     t        j                  g dt         j                        }t        |      }t        j                  g dt         j                        }t	        ||d       y )N)rR   rS   rT   rU   rV   rW   rX   r   rY   rZ   r   r   r[   r   )g      @g      4g $gcgm{qg8j	C.ra   ra   g@g %zԿgcAVgα!gƠ>r\   )r   r   r!   r   r   r^   s       r   test_basic_float32zTestLogExpit.test_basic_float32{   sS    HH 079zzCaL 88 C #%**	. 	8$/r$   N)r-   r.   r/   rM   rP   r_   rb   r0   r$   r   rG   rG   L   s    
61>0r$   rG   )numpyr   numpy.testingr   r   r   scipy.specialr   r   r   r
   r2   rG   r0   r$   r   <module>rf      s:    , , 1 1 '  'F5 5DE0 E0r$   