
    ^Mh                         d dl Zd dlmZ d dl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_allcloseassert_array_equalsuppress_warningsc                       e Zd Zd Zd Zd Zej                            de	j
        ddfde	j
        dfdde	j
        fg          d             Zd	 Zd
S )TestBdtrc                 R    t          j        ddd          }t          |d           d S Nr            ?)scbdtrr   selfvals     ]/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/scipy/special/tests/test_bdtr.pytestzTestBdtr.test   s+    gaC  S!!!!!    c                 Z    t          j        g ddd          }t          |g d           d S )Nr   r
      r   r   )      ?      ?      ?r   r   r   r   s     r   test_sum_is_onezTestBdtr.test_sum_is_one   s6    giiiC((3 1 1 122222r   c                     t          j        g ddd          }t          j        g ddd          }t          ||           d S N)皙?皙? @r   r   r   r   r   
double_valint_vals      r   test_roundingzTestBdtr.test_rounding   sF    W___a55
')))Q,,:w/////r   k, n, pr   r   r   c                     t                      5 }|                    t                     t          j        |||          }d d d            n# 1 swxY w Y   t          j        |          sJ d S N)r   filterDeprecationWarningr   r   npisnanr   knpsupr   s         r   test_infzTestBdtr.test_inf   s        	#CJJ)***'!Q""C	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# x}}   1AAAc                 ^    t          j        ddd          }t          j        |          sJ d S )N皙r
   r   )r   r   r*   r+   r   s     r   test_domainzTestBdtr.test_domain    s/    gdAs##x}}r   N)__name__
__module____qualname__r   r   r$   pytestmarkparametrizer*   infr1   r5    r   r   r   r      s        " " "3 3 30 0 0
 [Y	C	bfc	a)  
  
    r   r   c                       e Zd Zd Zd Zd Zej                            de	j
        ddfde	j
        dfdde	j
        fg          d             Zd	 Zd
 ZdS )	TestBdtrcc                 R    t          j        ddd          }t          |d           d S r	   )r   bdtrcr   r   s     r   
test_valuezTestBdtrc.test_value&   +    hq!S!!S!!!!!r   c                 Z    t          j        g ddd          }t          |g d           d S )Nr   r   r   )r   r   g        r   rA   r   r   s     r   r   zTestBdtrc.test_sum_is_one*   s6    hyyy!S))3 1 1 122222r   c                     t          j        g ddd          }t          j        g ddd          }t          ||           d S r   rE   r!   s      r   r$   zTestBdtrc.test_rounding.   sF    Xoooq#66
(999a--:w/////r   r%   r   r   r   c                     t                      5 }|                    t                     t          j        |||          }d d d            n# 1 swxY w Y   t          j        |          sJ d S r'   )r   r(   r)   r   rA   r*   r+   r,   s         r   r1   zTestBdtrc.test_inf3           	$CJJ)***(1a##C	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ x}}r2   c                     t          j        ddd          }t          j        ddd          }t          j        |          sJ t	          |d           d S )Nr4   r
   r   r    r   )r   rA   r*   r+   r   )r   r   val2s      r   r5   zTestBdtrc.test_domain>   sR    htQ$$xQ$$x~~S!!!!!r   c                     t          j        g ddd          }t          j        g ddd          }||z   }t          |g d           d S )Nr   r   r   )r   r   r   )r   r   rA   r   )r   	bdtr_vals
bdtrc_valsvalss       r   test_bdtr_bdtrc_sum_to_onez$TestBdtrc.test_bdtr_bdtrc_sum_to_oneD   sT    GIIIq#..	XiiiC00
:%ooo.....r   N)r6   r7   r8   rB   r   r$   r9   r:   r;   r*   r<   r1   r5   rO   r=   r   r   r?   r?   %   s        " " "3 3 30 0 0
 [Y	C	bfc	a)  
  
" " "/ / / / /r   r?   c                       e Zd Zd Zd Zd Zej                            de	j
        ddfde	j
        dfdde	j
        fg          d             Zej                            dd	d
g          d             Zd ZdS )	TestBdtric                 R    t          j        ddd          }t          |d           d S r	   r   bdtrir   r   s     r   rB   zTestBdtri.test_valueL   rC   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          ||           d S )Nr   r
   r   r   )r   rT   r*   asarraysqrtr   )r   r   actuals      r   r   zTestBdtri.test_sum_is_oneP   s`    h1vq#&&Q271::-q|<==V$$$$$r   c                     t          j        ddgdd          }t          j        ddgdd          }t          ||           d S )Nr   r   r   r   r   r
   rS   r!   s      r   r$   zTestBdtri.test_roundingU   sF    XsCj!S11
(Aq61c**
G,,,,,r   r%   r   r   r   c                     t                      5 }|                    t                     t          j        |||          }d d d            n# 1 swxY w Y   t          j        |          sJ d S r'   )r   r(   r)   r   rT   r*   r+   r,   s         r   r1   zTestBdtri.test_infZ   rH   r2   )r4   r
   r   )r    r
   r   c                 ^    t          j        |||          }t          j        |          sJ d S r'   )r   rT   r*   r+   )r   r-   r.   r/   r   s        r   r5   zTestBdtri.test_domaine   s1    
 hq!Qx}}r   c                     t          j        g ddd          }t          j        g dd|          }t          |ddt          j        g           d S )Nr   r   r   )r   r   rT   r   r*   nan)r   rL   roundtrip_valss      r   test_bdtr_bdtri_roundtripz#TestBdtri.test_bdtr_bdtri_roundtripm   sO    GIIIq#..	)))Q	::c26(:;;;;;r   N)r6   r7   r8   rB   r   r$   r9   r:   r;   r*   r<   r1   r5   r_   r=   r   r   rQ   rQ   K   s        " " "% % %
- - -
 [Y	C	bfc	a)  
  
 [Y)   	 < < < < <r   rQ   )numpyr*   scipy.specialspecialr   r9   numpy.testingr   r   r   r   r?   rQ   r=   r   r   <module>rd      s               P P P P P P P P P P       <#/ #/ #/ #/ #/ #/ #/ #/L%< %< %< %< %< %< %< %< %< %<r   