
    -iiF                         d dl Zd dl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dS )
    N)assert_equalassert_allclose)logitexpit	log_expitc                   &    e Zd Zd Zd Zd Zd ZdS )	TestLogitc                     t          |          }t          |j        |j                   dt          j        |j                  j        z  }t          |||           d S )N   rtol)r   r   dtypenpfinfoepsr   )selfaexpectedactualr   s        d/var/www/html/bet.cuttalo.com/ml/venv/lib/python3.11/site-packages/scipy/special/tests/test_logit.pycheck_logit_outzTestLogit.check_logit_out   sU    qV\17+++"(17##''t444444    c                    t          j        t          j        dddt           j                  t          j        d          t          j        d          t          j        d          gf          }t          j        t           j         dd	d
dddddt           j        dddgt           j                  }|                     ||           d S )Nr      
   r   g-C6?g9?g㈵ ?g9 gFRQgIvB.gԙ̿gc?gC.?g8*7Q?g9 @g4k"gugu?)r   concatenatelinspacefloat32arrayinfr   r   r   r   s      r   test_float32zTestLogit.test_float32   s    NBK1b
CCCZ//G1D1DZ0023 4 4 8bfWj*n+mm&	26'H #%*	. . .
 	Q)))))r   c                    t          j        t          j        dddt           j                  g df          }t          j        t           j         dddd	d
dddt           j        dddg          }|                     ||           d S )Nr   r   r   r   )g:0yE>g?g_   ?gt;? g`=.Qg9B.g%̿g%?g9B.?g]=.Q?gr;? @gak2g     $\g    =)r   r   r   float64r    r!   r   r"   s      r   test_float64zTestLogit.test_float64   s    NBK1b
CCCBBBD E E 8bfW//010///V0324 5 5 	Q)))))r   c                 
   t          j        t           j        gdz            }t          j        d          5  t	          t          j        g d                    }d d d            n# 1 swxY w Y   t          ||           d S )N   ignore)invalid)g      g       g       @g      @)r   r    nanerrstater   r   )r   r   r   s      r   test_nanzTestLogit.test_nan2   s    8RVHQJ''[*** 	9 	928$6$6$67788F	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	Xv&&&&&s   $A((A,/A,N)__name__
__module____qualname__r   r#   r&   r-    r   r   r	   r	      sP        5 5 5* * *"* * *&' ' ' ' 'r   r	   c                   &    e Zd Zd Zd Zd Zd ZdS )	TestExpitc                     t          j        ddd          }t          j        ||          }t          |          }t	          ||dd           t          |j        t          j        |                     d S )Nr(   r   r   gv!>r   )atolr   )r   r   r    r   r   r   r   )r   r   r   r   r   s        r   check_expit_outzTestExpit.check_expit_out;   sk    KAr""HQe$$$qvA>>>>V\28E??33333r   c                 v    t          j        g dt           j                  }|                     d|           d S )N)
{j?\wb֥?g~ܟ?g5?s4 ?ǻe?g+?>S?w?gݙ?gl?r   f4)r   r    r   r7   r   r   s     r   r#   zTestExpit.test_float32B   sO    8 4 4 4 <>:	G G G
 	T8,,,,,r   c                 ^    t          j        g d          }|                     d|           d S )N)
r9   r:   gIq?g!/?r;   r<   gw?4S?r=   g4ؙ?g!/l?f8)r   r    r7   r?   s     r   r&   zTestExpit.test_float64J   s@    8 4 4 4 5 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        |           d S )N)X   Y   i    i\,  i],  r   g      ?g#B;)r6   g        )	r   r   r%   
longdoubler    r   r   r   r   )r   r   ns      r   
test_largezTestExpit.test_largeR   s    j"*bm< 	5 	5E5 5 5HQe,,,a#E::::qb		3U;;;;U1XX^U333UA2YY_e44445	5 	5r   N)r.   r/   r0   r7   r#   r&   rH   r1   r   r   r3   r3   :   sP        4 4 4- - -- - -5 5 5 5 5r   r3   c                   &    e Zd Zd Zd Zd Zd ZdS )TestLogExpitc                 p    t          j        g d          }t          |          }t          ||           d S )N)g     g     pg     @g     Ar   r    r   r   r   xys      r   test_large_negativez TestLogExpit.test_large_negative^   s9    H66677aLLQr   c                     t          j        g d          }t          |          }t          |t          j        g d                     d S )N)g     p@g     @@g     @)       rR   rR   rL   rM   s      r   test_large_positivez TestLogExpit.test_large_positivec   sL    H---..aLL
 	Q!3!3!34455555r   c                 |    t          j        g d          }t          |          }g d}t          ||d           d S )N)皙&.r   &.>皙?r   r   d   i  rE   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瞯<r   )r   r    r   r   r   rN   rO   r   s       r   test_basic_float64zTestLogExpit.test_basic_float64l   s`    H D D D E EaLL! ! ! 	8%000000r   c                     t          j        g dt           j                  }t          |          }t          j        g dt           j                  }t	          ||d           d S )N)rU   rV   rW   rX   rY   rZ   r[   r   r\   r]   r   r   r^   r   )g      @g      4g $gcgm{qg8j	C.rb   rb   g@g %zԿgcAVgα!gƠ>r   )r   r    r   r   r   r_   s       r   test_basic_float32zTestLogExpit.test_basic_float32   s    H 0 0 079zC C CaLL 8 C C C #%*	. . . 	8$//////r   N)r.   r/   r0   rP   rS   r`   rc   r1   r   r   rJ   rJ   \   sP          
6 6 61 1 1>0 0 0 0 0r   rJ   )numpyr   numpy.testingr   r   scipy.specialr   r   r   r	   r3   rJ   r1   r   r   <module>rg      s        7 7 7 7 7 7 7 7 1 1 1 1 1 1 1 1 1 11' 1' 1' 1' 1' 1' 1' 1'h5 5 5 5 5 5 5 5DE0 E0 E0 E0 E0 E0 E0 E0 E0 E0r   