
     -i%                        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. r5S/ r6g)0zV
Additional tests for NumpyExtensionArray that aren't covered by
the interface tests.
    NNumpyEADtype)NumpyExtensionArrayabdtype   y      ?       @TFdatetime64[ns]timedelta64[ns])paramsc                 6    U R                   R                  5       $ )z_
Parametrized fixture for NumPy arrays with different dtypes.

This excludes string and bytes.
)paramcopy)requests    X/var/www/html/venv/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_reprr2   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_stringr0   r	   )resultr(   s     r   test_constructor_from_stringr6   T   s1    //8FBHHW-.Hr   c                 >    [        U 5      n[        U5      nX!:X  d   eg r%   r   )any_numpy_dtyper	   r5   s      r   test_dtype_idempotentr9   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_coercionrD   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r   )r0   arraypdSeriesr   values)ndarraysers     r   !test_series_constructor_with_copyrM   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      @)r0   rG   rH   rI   r   tmassert_series_equal)rK   r5   r(   s      r   #test_series_constructor_with_astyperS   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)r0   rG   r   _from_sequencerQ   assert_extension_array_equalarrr5   r(   s      r   test_from_sequence_dtyperZ   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
   TrF   )r0   rG   r   rQ   shares_memory)rY   r5   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   nparrrY   s      r   test_constructor_with_datarb      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=   TrF   f8r   )r   r0   rG   to_numpy_ndarrayrQ   assert_numpy_array_equalrX   s      r   test_to_numpyrh      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   )rj   r>   r?   )rH   rI   rG   rQ   rR   )rL   r(   s     r   test_setitem_seriesrk      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 )NTrF   r
   r   )r   rQ   rg   re   r`   s      r   test_setitemrm      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 intr;   )r0   rG   r   r@   rA   	TypeError_reducerY   msgs     r   test_bad_reduce_raisesrs      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 .*allr;   T)keepdims)r   r0   rG   r@   rA   rB   allrq   s     r   $test_validate_reduction_keyword_argsrw      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   ry   r>   )rH   rI   rG   maxr0   maximumreduce)valsrL   rY   r5   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)	r0   arangereshaper   r   r   rQ   rW   r   )rawrY   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              rP   )      "r   r   )out)r   r0   rG   rf   rQ   rW   )r   rY   r5   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   r0   rG   divmodaddrf   rQ   rW   )rY   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   r0   rG   rQ   rW   )xr5   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	   rY   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   r;   r   r         @)
r   r0   rG   r@   rA   rB   
isinstancer   integertype)rY   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   r0   rG   viewasarray)rY   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   r0   rG   rH   Index	_quantilenanrQ   rW   )r	   rY   idxr5   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   )	r0   rG   rU   r   	factorizerH   rQ   rg   rW   )rY   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   c                    U n[        U5      nUR                  S:X  a  SnOUR                  S:X  a  SnOw[        UR                  5      R                  S5      (       a  SnOKUR                  S:X  a  SnO8UR                  S	:X  a  S
nO%UR                  S:X  a  SnOUR                  S:X  a  SnSW SUR                   3n[	        U5      nXT:X  d   U SU 35       eg )Nr!   z
['a', 'b']rO   z
[0.0, 1.0]r   z[0, 1]
complex128z[0j, (1+2j)]r   z[True, False]r   z>[1970-01-01T00:00:00.000000000, 1970-01-01T00:00:00.000000001]r   z[0 nanoseconds, 1 nanoseconds]z<NumpyExtensionArray>
z
Length: 2, dtype: z vs )r   r	   r   
startswithr1   )r   nparrayrY   rJ   r(   r5   s         r   test_array_reprr   K  s    G
g
&C}} 	)	#	W]]		&	&u	-	-	,	&	&	  	*	*Q	+	+1(0DW]]OTH#YF8&hZ88r   )7__doc__numpyr0   r@   pandas.core.dtypes.dtypesr   pandasrH   pandas._testing_testingrQ   pandas.arraysr   fixturerG   r!   r   r   r   r   r   markparametrizer)   r-   r2   r6   r9   rD   rM   rS   rZ   r]   rb   rh   rk   rm   rs   rw   r   r   absnegativepositiver   r   r   r   r   r   r/   rU   r   r   r   rC   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"9r   