
    bi                     t    d dl Z d dlZd dlmZ d dlZd dlmZm	Z	  G d d      Z
 G d d      Z G d d      Zy)	    N)assert_allcloseassert_array_equalc                       e Zd Zd Zd Zd Zej                  j                  de	j                  ddfde	j                  dfdde	j                  fg      d        Zd	 Zy
)TestBdtrc                 J    t        j                  ddd      }t        |d       y Nr            ?)scbdtrr   selfvals     X/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/scipy/special/tests/test_bdtr.pytestzTestBdtr.test
   s    ggaC S!    c                 R    t        j                  g ddd      }t        |g d       y )Nr   r	      r   r
   )      ?      ?      ?r   r   r   r   s     r   test_sum_is_onezTestBdtr.test_sum_is_one   s    ggiC(3 12r   c                     t        j                  g ddd      }t        j                  g ddd      }t        ||       y N)皙?皙? @r   r
   r   r   r   
double_valint_vals      r   test_roundingzTestBdtr.test_rounding   s0    WW_a5
'')Q,:w/r   k, n, pr   r
   r   c                     t        j                         5  t        j                  dt               t	        j
                  |||      }d d d        t        j                        sJ y # 1 sw Y   !xY wNignore)warningscatch_warningssimplefilterDeprecationWarningr   r   npisnanr   knpr   s        r   test_infzTestBdtr.test_inf   sZ     $$& 	#!!(,>?''!Q"C	# xx}}	# 	#   2A''A0c                 `    t        j                  ddd      }t        j                  |      sJ y )N皙r	   r
   )r   r   r,   r-   r   s     r   test_domainzTestBdtr.test_domain"   s$    ggdAs#xx}}r   N)__name__
__module____qualname__r   r   r#   pytestmarkparametrizer,   infr2   r6    r   r   r   r   	   sj    "30
 [[Y	C	bffc	a) 

r   r   c                       e Zd Zd Zd Zd Zej                  j                  de	j                  ddfde	j                  dfdde	j                  fg      d        Zd	 Zd
 Zy)	TestBdtrcc                 J    t        j                  ddd      }t        |d       y r   )r   bdtrcr   r   s     r   
test_valuezTestBdtrc.test_value(       hhq!S!S!r   c                 R    t        j                  g ddd      }t        |g d       y )Nr   r   r
   )r   r   g        r   rB   r   r   s     r   r   zTestBdtrc.test_sum_is_one,   s    hhy!S)3 12r   c                     t        j                  g ddd      }t        j                  g ddd      }t        ||       y r   rF   r    s      r   r#   zTestBdtrc.test_rounding0   s0    XXoq#6
((9a-:w/r   r$   r   r
   r   c                     t        j                         5  t        j                  dt               t	        j
                  |||      }d d d        t        j                        sJ y # 1 sw Y   !xY wr&   )r(   r)   r*   r+   r   rB   r,   r-   r.   s        r   r2   zTestBdtrc.test_inf5   Z     $$& 	$!!(,>?((1a#C	$ xx}}	$ 	$r3   c                     t        j                  ddd      }t        j                  ddd      }t        j                  |      sJ t	        |d       y )Nr5   r	   r
   r   r   )r   rB   r,   r-   r   )r   r   val2s      r   r6   zTestBdtrc.test_domain@   s@    hhtQ$xxQ$xx~~S!r   c                     t        j                  g ddd      }t        j                  g ddd      }||z   }t        |g d       y )Nr   r   r
   )r   r   r   )r   r   rB   r   )r   	bdtr_vals
bdtrc_valsvalss       r   test_bdtr_bdtrc_sum_to_onez$TestBdtrc.test_bdtr_bdtrc_sum_to_oneF   s:    GGIq#.	XXiC0
:%o.r   N)r7   r8   r9   rC   r   r#   r:   r;   r<   r,   r=   r2   r6   rP   r>   r   r   r@   r@   '   so    "30
 [[Y	C	bffc	a) 

"/r   r@   c                      e Zd Zd Zd Zd Zej                  j                  de	j                  ddfde	j                  dfdde	j                  fg      d        Zej                  j                  dd	d
g      d        Zd Zy)	TestBdtric                 J    t        j                  ddd      }t        |d       y r   r   bdtrir   r   s     r   rC   zTestBdtri.test_valueN   rD   r   c                     t        j                  ddgdd      }t        j                  ddt        j                  d      z  z
  dt        j                  d      z  g      }t        ||       y )Nr   r	   r   r
   )r   rU   r,   asarraysqrtr   )r   r   actuals      r   r   zTestBdtri.test_sum_is_oneR   sR    hh1vq#&Q2771:-q|<=V$r   c                     t        j                  ddgdd      }t        j                  ddgdd      }t        ||       y )Nr   r   r   r
   r   r	   rT   r    s      r   r#   zTestBdtri.test_roundingW   s8    XXsCj!S1
((Aq61c*
G,r   r$   r   r
   r   c                     t        j                         5  t        j                  dt               t	        j
                  |||      }d d d        t        j                        sJ y # 1 sw Y   !xY wr&   )r(   r)   r*   r+   r   rU   r,   r-   r.   s        r   r2   zTestBdtri.test_inf\   rI   r3   )r5   r	   r
   )r   r	   r
   c                 `    t        j                  |||      }t        j                  |      sJ y )N)r   rU   r,   r-   r.   s        r   r6   zTestBdtri.test_domaing   s&    
 hhq!Qxx}}r   c                     t        j                  g ddd      }t        j                  g dd|      }t        |ddt        j
                  g       y )Nr   r   r
   )r   r   rU   r   r,   nan)r   rM   roundtrip_valss      r   test_bdtr_bdtri_roundtripz#TestBdtri.test_bdtr_bdtri_roundtripo   s;    GGIq#.	)Q	:c266(:;r   N)r7   r8   r9   rC   r   r#   r:   r;   r<   r,   r=   r2   r6   r`   r>   r   r   rR   rR   M   s    "%
-
 [[Y	C	bffc	a) 

 [[Y) 	<r   rR   )r(   numpyr,   scipy.specialspecialr   r:   numpy.testingr   r   r   r@   rR   r>   r   r   <module>re      s3        = <#/ #/L%< %<r   