
    Mh<"                        S r SSKrSSKrSSKJr  SSKrSSKJ	r
  SSKJr  \R                  " \R                  " SS/\S9\R                  " SS/\S9\R                  " SS/\S9\R                  " SS	/\S9\R                  " S
S/\S9\R                  " SS/SS9\R                  " SS/SS9/S9S 5       r\R*                  R-                  S/ SQ5      S 5       r\R*                  R-                  S/ SQ5      S 5       rS rS rS rS rS rS rS rS r S r!S r"S r#S  r$S! r%S" r&S# r'S$ r(\R*                  R-                  S%\RR                  \RT                  \RV                  /5      S& 5       r,S' r-S( r.\R*                  R-                  S)S\/5      S* 5       r/S+ r0S, r1\R*                  R-                  S)\Rd                  \Rf                  /5      S- 5       r4S. r5g)/zV
Additional tests for NumpyExtensionArray that aren't covered by
the interface tests.
    NNumpyEADtype)NumpyExtensionArrayabdtype   y      ?       @TFdatetime64[ns]ztimedelta64[ns])paramsc                     U R                   $ )z_
Parametrized fixture for NumPy arrays with different dtypes.

This excludes string and bytes.
)param)requests    W/var/www/html/env/lib/python3.13/site-packages/pandas/tests/arrays/numpy_/test_numpy.pyany_numpy_arrayr      s    " ==    zdtype, expected)
boolT)intT)uintT)floatT)complexTstrFbytesFr   FobjectFvoidFc                 <    [        U 5      n U R                  UL d   eg N)r   _is_numericr	   expecteds     r   test_is_numericr'   '   "      E(((r   )
r   )r   F)r   F)r   F)r   Fr   r   r   r   r    c                 <    [        U 5      n U R                  UL d   eg r#   )r   _is_booleanr%   s     r   test_is_booleanr+   ;   r(   r   c                  d    [        [        R                  " S5      5      n [        U 5      S:X  d   eg )Nint64zNumpyEADtype('int64'))r   npr	   reprr   s    r   	test_reprr0   O   s(    '*+E;1111r   c                  |    [         R                  " S5      n [        [        R                  " S5      5      nX:X  d   eg )Nr-   )r   construct_from_stringr.   r	   )resultr&   s     r   test_constructor_from_stringr4   T   s1    //8FBHHW-.Hr   c                 >    [        U 5      n[        U5      nX!:X  d   eg r#   r   )any_numpy_dtyper	   r3   s      r   test_dtype_idempotentr7   Z   s     )E% F??r   c                      [         R                  " [        SS9   [        / SQ5        S S S 5        g ! , (       d  f       g = f)NzNumPy arraymatchr
         )pytestraises
ValueErrorr    r   r   test_constructor_no_coercionrB   e   s$    	z	7I& 
8	7	7s   1
?c                      [         R                  " / SQ5      n [        R                  " [	        U 5      SS9nUR
                  U Ld   eg )Nr;   Tcopy)r.   arraypdSeriesr   values)ndarraysers     r   !test_series_constructor_with_copyrL   j   s8    hhy!G
))'0t
<C::W$$$r   c                      [         R                  " / SQ5      n [        R                  " [	        U 5      SS9n[        R                  " / SQSS9n[
        R                  " X5        g )Nr;   float64r   )      ?g       @g      @)r.   rF   rG   rH   r   tmassert_series_equal)rJ   r3   r&   s      r   #test_series_constructor_with_astyperR   q   sD    hhy!GYY*739EFyy	:H6,r   c                      [         R                  " / SQSS9n [        R                  " U SS9n[        [         R                  " / SQSS95      n[        R
                  " X5        g )Nr;   r-   r   uint64)r.   rF   r   _from_sequencerP   assert_extension_array_equalarrr3   r&   s      r   test_from_sequence_dtyperY   x   sG    
((9G
,C //8DF"288IX#FGH##F5r   c                      [         R                  " SS/5      n [        U SS9n[        R                  " X5      (       a   eg )Nr   r
   TrD   )r.   rF   r   rP   shares_memory)rX   r3   s     r   test_constructor_copyr\      s:    
((Aq6
C 40F,,,,,r   c                 j    U n[        U5      nUR                  R                  UR                  :X  d   eg r#   )r   r	   numpy_dtyper   nparrrX   s      r   test_constructor_with_datara      s-    E
e
$C99  EKK///r   c                  <   [        [        R                  " / SQ5      5      n U R                  5       nXR                  L d   eU R                  SS9nXR                  Ld   eU R                  SS9n[        R                  " / SQSS9n[
        R                  " X5        g )Nr;   TrD   f8r   )r   r.   rF   to_numpy_ndarrayrP   assert_numpy_array_equalrW   s      r   test_to_numpyrg      s~    
bhhy1
2C\\^F\\!!!\\t\$F%%%\\\%Fxx	.H1r   c                      [         R                  " / SQ5      n SU R                  S'   [         R                  " / SQ5      n[        R                  " X5        g )Nr;   
   r   )ri   r<   r=   )rG   rH   rF   rP   rQ   )rK   r&   s     r   test_setitem_seriesrj      s9    
))I
CCIIaLyy$H3)r   c                     U n[        USS9nUS   US'   US   US'   [        R                  " UR                  5       U5        g )NTrD   r
   r   )r   rP   rf   rd   r_   s      r   test_setitemrl      sC    E
e$
/CVCFQxE!H6r   c                      [         R                  " / SQSS9n [        U 5      n Sn[        R                  " [
        US9   U R                  U5        S S S 5        g ! , (       d  f       g = f)Nr;   r-   r   z)cannot perform not_a_method with type intr9   )r.   rF   r   r>   r?   	TypeError_reducerX   msgs     r   test_bad_reduce_raisesrr      sG    
((9G
,C
c
"C
5C	y	,C 
-	,	,s   A
A'c                      [        [        R                  " / SQ5      5      n Sn[        R                  " [
        US9   U R                  SS9  S S S 5        g ! , (       d  f       g = f)Nr;   z/the 'keepdims' parameter is not supported .*allr9   T)keepdims)r   r.   rF   r>   r?   r@   allrp   s     r   $test_validate_reduction_keyword_argsrv      sB    
bhhy1
2C
;C	z	- 
.	-	-s   A
A$c                  T   / SQn [         R                  " U 5      nUR                  nUR                  5       US   L d   eUR                  5       US   L d   e[        R
                  R                  U5      nX2S   :X  d   e[        R
                  R                  U5      nX2S   :X  d   eg )N))jklm)r{   op)r~   rx   r<   )rG   rH   rF   maxr.   maximumreduce)valsrK   rX   r3   s       r   test_np_max_nested_tuplesr      s    D
 ))D/C
))C779A779AZZs#FVZZs#FVr   c                  $   [         R                  " S5      R                  SS5      n [        U 5      n[         R                  R                  USS9n[        R                  " X!S   5        UR                  SS9n[        R                  " X1S   5        g )N      r=   r   )axis)	r.   arangereshaper   r   r   rP   rV   r   )rawrX   resalts       r   test_np_reduce_2dr      sr    
))B-

1
%C
c
"C
**

Ca

(C##CR1
''q'/C##CR1r   ufuncc                 2   [        [        R                  " / SQ5      5      nU " U5      n[        U " UR                  5      5      n[        R
                  " X#5        [        [        R                  " / SQ5      5      nU " XS9  [        R
                  " XC5        g )Ng              rO   )      "r   r   )out)r   r.   rF   re   rP   rV   )r   rX   r3   r&   r   s        r   test_ufunc_unaryr      sl    
bhh'78
9C3ZF"5#67H##F5 bhh'9:
;C	###C2r   c                     [        [        R                  " / SQ5      5      n [        R                  " U [        R                  " U S5      5      u  p[        R                  " U R
                  [        R                  " U R
                  S5      5      u  p4[        U5      n[        U5      n[        R                  " X5        [        R                  " X$5        g )Nr   r<   )r   r.   rF   divmodaddre   rP   rV   )rX   r1r2e1e2s        r   
test_ufuncr      s    
bhh'78
9CYYsBFF3N+FBYYs||RVVCLL!%<=FB	R	 B	R	 B##B+##B+r   c                      [        [        R                  " / SQ5      5      n X -   n[        [        R                  " / SQ5      5      n[        R                  " X5        g )Nr;   )r<   r      r   r.   rF   rP   rV   )xr3   r&   s      r   test_basic_binopr     s?     	BHHY/0AUF"288I#67H##F5r   r	   c                     [        [        R                  " / SQU S95      nSUS'   [        [        R                  " / SQU S95      n[        R                  " X5        g )N)r   r   cr   tr   )r   r   r   r   )r	   rX   r&   s      r   test_setitem_object_typecoder   
  sC    
bhheD
ECCF"288O5#IJH##C2r   c                  6   [        [        R                  " / SQ5      5      n [        R                  " [
        SS9   SU S'   S S S 5        SU S'   [        U S   [        [        R                  45      (       d   [        U S   5      5       eg ! , (       d  f       NO= f)Nr;   r   r9   r   r         @)
r   r.   rF   r>   r?   r@   
isinstancer   integertype)rX   s    r   test_setitem_no_coercionr     sr    
bhhy1
2C	z	/A 
0
 CFc!fsBJJ/00>$s1v,>0 
0	/s   B


Bc                     [        [        R                  " / SQ5      5      n U R                  5       nU S S  n[        R                  " U 5      nSU S'   US   S:X  d   eUS   S:X  d   eUS   S:X  d   eSU S'   SUS'   U S   S:X  d   eg )Nr;   	   r   r   r      )r   r.   rF   viewasarray)rX   view1view2view3s       r   test_setitem_preserves_viewsr     s    
bhhy1
2CHHJEFEJJsOECF8q==8q==8q==CGE"Ir7a<<r   c                 6   [        [        R                  " / U S95      n[        R                  " SS/5      nUR                  USS9n[        [        R                  " [        R                  [        R                  /5      5      n[        R                  " X45        g )Nr   r   g      ?linear)interpolation)	r   r.   rF   rG   Index	_quantilenanrP   rV   )r	   rX   idxr3   r&   s        r   test_quantile_emptyr   /  sk     bhhr7
8C
((C:
C]]3h]7F"288RVVRVV,<#=>H##F5r   c                  $   [         R                  " / SQ[         R                  S9n [        U 5      nUR	                  5       u  p#[
        R                  " U 5      u  pE[        R                  " X$5        [        R                  " U[        U5      5        g )Nr;   r   )	r.   rF   rT   r   	factorizerG   rP   rf   rV   )rX   obj	res_codes
res_unique	exp_codes
exp_uniques         r   test_factorize_unsignedr   :  sc    
((9BII
.C
c
"CMMOILL-I	5##J0CJ0OPr   )6__doc__numpyr.   r>   pandas.core.dtypes.dtypesr   pandasrG   pandas._testing_testingrP   pandas.arraysr   fixturerF   r   r   r   r   r   r   markparametrizer'   r+   r0   r4   r7   rB   rL   rR   rY   r\   ra   rg   rj   rl   rr   rv   r   r   absnegativepositiver   r   r   r   r   r   r-   rT   r   r   rA   r   r   <module>r      s     2   - 
#s6*
!Qu%
!Qs#
!VG,
$d+
!Q/0
!Q01

 ))
 ))
2
'
%-6-0
2"*7*2 2662;;"DE	3 F	3,6 4.13 23	?" 288RYY"786 96
Qr   