
    e!hg                     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                     t        |      }t        |j                  |j                         dt        j                  |j                        j
                  z  }t        |||       y )N   rtol)r   r   dtypenpfinfoepsr   )selfaexpectedactualr   s        f/var/www/html/diagnosisapp-backend/venv/lib/python3.12/site-packages/scipy/special/tests/test_logit.pycheck_logit_outzTestLogit.check_logit_out	   sF    qV\\177+"((177#'''t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                        }| j                  ||       y )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    NNBKK1b

CZZ/G1DZZ023 4 88bffWj*n+mm&	266'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      }| j                  ||       y )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    NNBKK1b

CBD E 88bffW//010///VV0324 5 	Q)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   ignore)invalid)g      g       g       @g      @)r   r!   nanerrstater   r   )r   r   r   s      r   test_nanzTestLogit.test_nan3   s[    88RVVHQJ'[[* 	9288$678F	9 	Xv&	9 	9s   !A44A=N)__name__
__module____qualname__r   r$   r'   r.    r   r   r
   r
      s    5*"*&'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   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   f4)r   r!   r    r7   r   r   s     r   r$   zTestExpit.test_float32C   s1    88 4 <>::	G
 	T8,r   c                 V    t        j                  g d      }| j                  d|       y )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_float64K   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    r&   
longdoubler!   r   r   r   r   )r   r   ns      r   
test_largezTestExpit.test_largeS   s    jj"**bmm< 	5E5 5HHQe,a#E:qb	3U;U1X^^U3UA2Y__e45	5r   N)r/   r0   r1   r7   r$   r'   rI   r2   r   r   r4   r4   ;   s    4--5r   r4   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_negative_   s$    HH67aLQr   c                     t        j                  g d      }t        |      }t        |t        j                  g d             y )N)g     p@g     @@g     @)       rS   rS   rM   rN   s      r   test_large_positivez TestLogExpit.test_large_positived   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  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   rO   rP   r   s       r   test_basic_float64zTestLogExpit.test_basic_float64m   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)rV   rW   rX   rY   rZ   r[   r\   r   r]   r^   r   r   r_   r   )g      @g      4g $gcgm{qg8j	C.rc   rc   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/   r0   r1   rQ   rT   ra   rd   r2   r   r   rK   rK   ]   s    
61>0r   rK   )numpyr   numpy.testingr   r   r   scipy.specialr   r   r   r
   r4   rK   r2   r   r   <module>rh      s:    , , 1 11' 1'h5 5DE0 E0r   