
    (phB                     2   S SK r S SKrS SKJrJr  S SKJr  \ R                  R                  SSS/5      S 5       r
S rS	 r\ R                  R                  SSS/5      S
 5       r\ R                  R                  SSS/5      S 5       rS rS rS rS rS rg)    N)assert_array_equalassert_equal)crosstabsparseFTc                     / SQn/ SQnSS/n/ SQn[         R                  " / SQ/ SQ/5      n[        XU S9u  u  pgn[        Xc5        [        Xt5        U (       a  [        UR	                  5       U5        g [        X5        g )	Nr   r   	   r	   r   r   r	   )         r   r
   r   r   r   r	   r   r
   r   )r   r
   r   )r   r   r
   r   nparrayr   r   toarray	r   abexpected_avalsexpected_bvalsexpected_countavalsbvalscounts	            R/var/www/html/venv/lib/python3.13/site-packages/scipy/stats/tests/test_crosstab.pytest_crosstab_basicr      sp    AAVNNXXy(* +N$Q&9NUEu-u-5==?N;51    c                      / SQn / SQn[         R                  " / SQ5      n[        U 5      u  u  p4[        X15        [        XB5        g )Nr   r
   r   r   r
   r   r   r   )r
   r
   r   r   r   r   r   )xexpected_xvalsr   xvalsr   s        r   test_crosstab_basic_1dr%      s7    ANXXi(NqkOHUu-u-r   c                      Sn Sn/ SQnX X XX/n/ SQnSS/nX/n/ SQn[         R                  " / SQ/ S	Q// S
Q/ SQ//5      n[        X#U5      u  u  pp[        X5        [        X5        [        X5        [        X5        g )Nr   r   )r   r   r	   r	   r   r   r	   r	   )r   r
   r   r   r
   r   r   r   r   r	   r   )r   r   r   r   r   r   )r
   r   r   )r   r   r   r!   )r   r   r"   yzr#   expected_yvalsexpected_zvalsr   r$   yvalszvalsr   s                r   test_crosstab_basic_3dr.   "   s    AA A	
qQ1 A AVNVNNXX	 ) + ) ) +, -N $,A!#4 U5u-u-u-u-r   c                 
   / SQn/ SQnSS/n/ SQn[         R                  " / SQ/ SQ/5      n[        XS / SQ/U S9u  u  pgn[        Xc5        [        Xt5        U (       a  [        UR	                  5       U5        g [        X5        g )	Nr   r    r   r	   r   r   r
   r   r   r   r
   r   r   r   r   r
   levelsr   r   r   s	            r   test_crosstab_levelsr5   7   sz    AAVN!NXX|+- .N$Q42F,24NUEu-u-5==?N;51r   c                    / SQn/ SQnSS/n/ SQn[         R                  " / SQ/ SQ/5      n[        XSS// SQ/U S9u  u  pgn[        Xc5        [        Xt5        U (       a  [        UR	                  5       U5        g [        X5        g )	N)r   r   r	   r	   r   r   r	   )r   r
   r   r   r
   r   r   r   r   r	   r0   r1   r2   r3   r   r   s	            r   test_crosstab_extra_levelsr8   I   s     	"A AVN!NXX|+- .N$QAq6<2H,24NUEu-u-5==?N;51r   c                  ~    [         R                  " [        SS9   [        5         S S S 5        g ! , (       d  f       g = f)NzAt least onematch)pytestraises	TypeErrorr    r   r   test_validation_at_least_oner@   ]   s!    	y	7
 
8	7	7s   .
<c                      [         R                  " [        SS9   [        SS// SQ5        S S S 5        g ! , (       d  f       g = f)Nzmust have the same lengthr:   r   r
   )r   r
   r      r<   r=   
ValueErrorr   r?   r   r   test_validation_same_lengthsrE   b   s,    	z)D	E!Q& 
F	E	Es	   4
Ac                      [         R                  " [        SS9   [        / SQ/ SQ/ SQSS9  S S S 5        g ! , (       d  f       g = f)Nzonly two input sequencesr:   r'      rH   r	   )r   r   r   Tr   rC   r?   r   r   $test_validation_sparse_only_two_argsrI   g   s,    	z)C	DIy> 
E	D	D	   6
Ac                      [         R                  " [        SS9   [        / SQ/ SQ/ SQ4S9  S S S 5        g ! , (       d  f       g = f)Nznumber of input sequencesr:   r'   rG   r0   )r4   rC   r?   r   r   'test_validation_len_levels_matches_argsrL   l   s,    	z)D	EI|o> 
F	E	ErJ   c                  h    [        SS/SS/5      n [        U R                  U R                  4U 5        g )Nr   r   r
   )r   r   elementsr   )ress    r   test_resultrP   q   s-    
Aq6Aq6
"C#,,		*C0r   )r<   numpyr   numpy.testingr   r   scipy.stats.contingencyr   markparametrizer   r%   r.   r5   r8   r@   rE   rI   rL   rP   r?   r   r   <module>rV      s      : , E4=12 22 ..* E4=12 22" E4=12 22&
'
?
?
1r   