
    bi                         d dl Zd dlmZ d dlmc mZ d dlm	Z	m
Z
mZmZ d Zd Zd Zd Zd Zd Z G d	 d
      Zd Zy)    N)assert_equalassert_almost_equalassert_assert_allclosec                      t        j                  d      } | dz   }t        t        j                  | |      d       t        j
                  ddd      }t        t        j                  | |      d       y )N   
   r      )numgX?)nparanger   mscompare_medians_mslinspace)xyy2s      _/home/cdr/jupyterlab/.venv/lib/python3.12/site-packages/scipy/stats/tests/test_mstats_extras.pytest_compare_medians_msr   	   sX    
		!A	BA--a3Q7	Qr	"B--a4nE    c                     t        j                  d      } t        t        j                  |       dd       t        j
                  |       | _        d| j                  d d t        t        j                  |       dd       t        t        j                  | d	      j                  d
k(         t        j                  d      j                  d      }t        t        j                  |d      ddg       t        j
                  |      |_        d|j                  d dd d f<   t        t        j                  |d      ddg       y )N      g+=)rtolFr      Tvar      )r   r   r   axisr	      )
mar   r   r   hdmedian	make_maskmaskr   sizereshape)r   x2s     r   test_hdmedianr*      s    
		"ABKKNAE2\\!_AFAFF2AJBKKNAE2 BKKt$))Q./ 
2		w	'BBKK+b"X6ll2BGBGGBQBENBKK+aV4r   c                  4   t         j                  j                  d      } | j                  d      }t	        j
                  |      }t        |j                  |j                  k(         t	        j
                  |ddg      }t        |j                  dk(         y )Ni0d   r         ?)pointsr   )	r   randomdefault_rngstandard_normalr   rshr   shaper'   )rngr   ress      r   test_rshr6   &   sp    
))

	
*CC A
&&)C CII ! &&Ar7
#CCHHMr   c                  v    t        j                  g d      } t        t        j                  |       g dd       y )N)M   W   X   r                  i  i(  i+  i2  ix  i  i    i  i3
  )gTK@gϽKF@gQh@r   )r#   arrayr   r   mjcidatas    r   	test_mjcirF   3   s*    88 < =D&CAFr   c                      t        j                  g d      } t        t        j                  | d      dd       t        t        j                  t        j                  | d      d      ddg       y )N)i!  i+  i.  i<  i?  i@  iB  iD  iR  i]  i{  i  i  i  rA   皙?g@r
   )rH   rH   gfffff@g̴@)	r#   rB   r   r   trimmed_meanr   r   roundtrimmed_mean_cirD   s    r   test_trimmed_mean_cirL   :   sU    88 2 3DS15!<",,T)<Q?!r   c                  4   t        j                  d      } t        t        j                  t	        j
                  |             ddgd       | j                  d      j                  dd      }t        t	        j
                  |d      g d	g d
gd       t        t	        j
                  |d      | j                  d      j                  dd             ddg} t	        j
                  |       }t        t        j                  |      j                                y )Nr,   RBj8@]kSUR@r"   r   r   r    )rN   rN   rN   )rO   rO   rO   r
   r   )r   r   r   asarrayr   idealfourthsrepeatr(   r   isnanall)testtest_2D_results      r   test_idealfourthsrY   C   s    99S>D

2??4#89"9-a1kk!n$$R*Ga888::;= a8A..r!46q6Dood#GBHHW!!#$r   c                   &    e Zd Zg dZd Zd Zd Zy)TestQuantiles)dgxc%?gF4vE?g݌Y?gn?gJ]X?g'h?g|f2?g!}_z`?g3!?g[Q,?gW1y?g+?gZy7В?g?g|GA?gPw2?g0?g3;??g,7tZ?gxދ?gޠt$O?giL?g|rmq?gsl?g݋Y?g)چ?g
zS?g'	A?g9io?gOB?g5G~?g9 ?g*sD?g\?gN?g6??gƟ	'?g$	?gLw5?g2J(?g2^?g?]?gͬ?g8~n7?gxY?gE!?ga@'?gʇ3?gF~\?gB誽?gX/u?g/:L@{?gb9?gvY?g5XEs?gd"2?g-=X.?giE"?g/E?g4J3H?ǒ?g+[{?go?gbm?g\-?g'W?@?g0?tz?g=z5?g}v?gXPT?g<*R?gX?gO{F?g::2?gǺ?g/i?g6?gRfU?gu9?g!G[?gT=~?g?gAM07?g,jKV?g"ЄI?g΅?g\?gRSI?g	o?g2QJ)d~?g4n/?g+--C?gX?g|wiƘ?gttњc,?g{˻;Ib?gّ?gv+:?gR <e?c                    | j                   }t        t        j                  |ddg      ddg       t        j                  |g d      }t        |g d       t	        j
                  |      j                  dd      }t        j                  |g dd	      }t        |d d df   t        j                  |d d df   g d             t        |d d d
f   t        j                  |d d d
f   g d             t        j                  |g ddd      }t        |d   t        j                  |d d df   g dd             t        |d   t        j                  |d d d
f   g dd             y )Ng        r-   r]   r\   )g      ?      ?g      ?)g]Ar4?g5$?i?gJJ5d?r	   r   r    rP   T)r!   r   ).r   r   ).rP   )rE   r   r   hdquantilesr   rB   r(   )selfrE   hdqs      r   test_hdquantileszTestQuantiles.test_hdquantilesi   s    yyBNN4R9(+6	8nnT"34C!IJxx~%%b,nnT/q9C!HbnnT!A#Y&OPC"Ir~~d1R4j'QRnnT/qTBCJNN4!9_N	PCKNN4":o4P	Rr   c                 \   t        j                  | j                        }t        | j                        }t	        j
                  | j                  ||f      }t	        j                  t	        j                  |            }||   j                  ||dz
        }t        j                  |d      }t	        j                  |d      }|dz
  |z  t	        j                  ||z
  dz  d      z  dz  }t        ||       t        |g d       t        j                  ddg      }t        |g d       y )Nr
   r    r   r   r_   )giYk?gK4U}?gN5i	t?)r_   r_   r_   )r   hdquantiles_sdrE   lenr   broadcast_tological_noteyer(   r`   meansumr   )	ra   hd_std_errsnjdata	jselectorjdist
jdist_meanjstdtwo_data_pointss	            r   test_hdquantiles_sdz!TestQuantiles.test_hdquantiles_sdz   s    
 ''		2 		N		Aq62NN266!9-	i ((AaC0u1-WWU+
1a"&&%*"4q!8qAABFK.K)JK++QF3O_=r   c                     t        j                  | j                        \  }}t        |j                  |j                  cxk(  xr
 dk(         y c        y )Nr   )r   mquantiles_cimjrE   r   r'   )ra   ci_lowerci_uppers      r   test_mquantiles_cimjz"TestQuantiles.test_mquantiles_cimj   s;    //		:(3!3434r   N)__name__
__module____qualname__rE   rc   rt   ry    r   r   r[   r[   S   s    ID*R">.5r   r[   c                      t         j                  j                  d      } | j                  d      }t        t	        j
                  |      d       t        t	        j
                  |d      d       y )Nl   WE~-S    )r'   )gl?gz0JL?g?)g/?gL0?)r   r/   r0   r   r   median_cihs)r4   r   s     r   test_median_cihsr      sU     ))

 3
4C


ABNN1%'?@ BNN1c*,JKr   )numpyr   numpy.mar#   scipy.stats.mstatsstatsmstatsr   numpy.testingr   r   r   r   r   r*   r6   rF   rL   rY   r[   r   r}   r   r   <module>r      sN       , ,F5(
G!% A5 A5HLr   