
    Owg9                     N   d dl mZ d dlZd dlZd dlZd dlZd dlmc m	Z
 d dlZd dlmZ d dlmZ  ej$                  ej&                  ej(                  g      d        Z ej$                   ej,                  dej.                  j0                        dgd	d
g      d        Zej$                  d        Zej.                  j7                  dej8                  ej:                  ej<                  g      d        Zej.                  j7                  dddgddg      d        Z ej.                  j7                  dddgddg      d        Z!ej.                  j7                  dddgddg      ej.                  j7                  dddgddg      d               Z"ej.                  j7                  dddg      d        Z#ej.                  j7                  dejH                  g      ej.                  j7                  dddg      ej.                  jK                  d      d                      Z&d Z'd Z(d Z) ej$                   ejT                  g d ejV                  !       ejT                  g d d"!       ejT                  g d d#!       ejT                  g d$d%!       ejX                  g d&       ejX                  g d&      j[                  d'       ejX                  g d&      j]                  d()       ej^                  g d*       ej`                   ejb                  d d+       ejb                  d,d-       ejb                  d+d,      g      g	d.       d/        Z2 G d0 d1      Z3ej.                  j7                  d2e4ee5g      d3        Z6d4 Z7d5 Z8d6 Z9d7 Z:e
jv                  d8        Z<y)9    )dequeN)SparseArray)paramsc                     | j                   S Nparamrequests    U/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/series/test_ufunc.pyufuncr      s     ==    T)marksFsparsedense)r   idsc                     | j                   S r   r   r
   s    r   r   r      s    
 ==r   c                      t         j                  j                  d      j                  dddd      } t         j                  j                  d      j                  dddd      }d| ddd<   d|ddd	<   | |fS )
zO
    A pair of random, length-100 integer-dtype arrays, that are mostly 0.
       r   
   d   int64dtypeN      )nprandomdefault_rngintegers)a1a2s     r   arrays_for_binary_ufuncr#      sw    
 
		q	!	*	*1b#W	*	EB			q	!	*	*1b#W	*	EBBssGBssGr6Mr   r   c                    t         j                  j                  d      j                  dddd      }d|d d d<   |r!t	        |t        j                  dd            }t        t        j                  d d       }d}t        j                  |||      } | |      }t        j                   | |      ||      }t        j                  ||       y )Nr   r   r   r   r   nameindexr%   )r   r   r   r    r   pdSparseDtypeliststringascii_lettersSeriestmassert_series_equal)r   r   arrr'   r%   seriesresultexpecteds           r   test_unary_ufuncr4   )   s     ))


"
+
+Ar2W
+
ECC!H#R^^GQ%?@%%cr*+EDYYs%d3F6]Fyys5t<H68,r   flipflippedstraight)r   c                 v   |\  }}|rBt        |t        j                  dd            }t        |t        j                  dd            }d}t        j                  ||      }|}||f}	||f}
| rt	        |	      }	t	        |
      }
t        j                   ||	 |      } ||
 }t        j                  ||       y Nr   r   r   r%   r%   )r   r(   r)   r-   reversedr.   r/   r5   r   r   r#   r!   r"   r%   r1   other
array_argsseries_argsr3   r2   s                r   test_binary_ufunc_with_arrayr@   :   s     %FB2>>'1#=>2>>'1#=>DYYr%FEbJ5/Kj)
{+yy
+$7HK F68,r   c                    |\  }}|rBt        |t        j                  dd            }t        |t        j                  dd            }d}t        j                  ||      }t        j                  ||      j                  d      }||f}	||f}
| rt        |	      }	t        |
      }
t        j                   ||	 |      } ||
 }t        j                  ||       y r9   )	r   r(   r)   r-   Indexastyper;   r.   r/   r<   s                r   test_binary_ufunc_with_indexrD   R   s    
 %FB2>>'1#=>2>>'1#=>DYYr%FHHRd#**73EbJ5/Kj)
{+yy
+$7HK F68,r   shuffle	unalignedalignedc                    |\  }}|rBt        |t        j                  dd            }t        |t        j                  dd            }d}t        j                  ||      }t        j                  ||      }	t        j
                  j                  d      j                  t        |            }
|rQ|	j                  |
      }	| r|	j                  |      d   j                  }n+|j                  |	      d   j                  }n|j                  }||f}||	f}| r(t        t        |            }t        t        |            }t        j                   || ||      } || }t        j                  ||       y )Nr   r   r   r%   r:   r   r&   )r   r(   r)   r-   r   r   r   permutationlentakealignr'   tupler;   r.   r/   )r5   rE   r   r   r#   r!   r"   r%   r1   r=   idxr'   r>   r?   r3   r2   s                   r   test_binary_ufunc_with_seriesrO   m   s8    %FB2>>'1#=>2>>'1#=>DYYr%FIIbt$E
))


"
.
.s2w
7C

3KK'*00ELL'*00EbJ5/K8J/0
H[12yy
+5tDHK F68,r   c                 (   |\  }}|rt        |      }d}t        j                  |d      }||f}||f}	|r(t        t	        |            }t        t	        |	            }	t        j                   | |	 d      }
 | | }t        j                  ||
       y )Nr   r%   r:   )r   r(   r-   rM   r;   r.   r/   )r   r   r5   r#   r0   _r=   r1   r?   r>   r3   r2   s               r   test_binary_ufunc_scalarrR      s    
 %FC#EYYs(F5/KuJH[128J/0
yy
+&9HK F68,r   z$ignore:divide by zero:RuntimeWarningc                 Z   |\  }}d||dk(  <   d||dk(  <   |rBt        |t        j                  dd            }t        |t        j                  dd            }t        j                  |      }t        j                  |      }|r|j	                  d      } | ||      }t        |t              sJ  | ||      }	t        |	t              sJ t        j                  |	d   t        j                  |d                t        j                  |	d   t        j                  |d                y )N   r   r   r   )frac)	r   r(   r)   r-   sample
isinstancerM   r.   r/   )
r   r   rE   r#   r!   r"   s1s2r3   r2   s
             r   "test_multiple_output_binary_ufuncsrZ      s     %FBBrQwKBrQwK2>>'1#=>2>>'1#=>	2B	2BYYAYR}Hh&&&2r]Ffe$$$6!9bii&<=6!9bii&<=r   c                    |\  }}| rt        |      }t        j                  |d      }t        j                  |      }t        j                  |      }t        |t              sJ t        |t              sJ t        j                  |d   t        j                  |d   d             t        j                  |d   t        j                  |d   d             y )Nr%   r:   r   rT   )	r   r(   r-   r   modfrW   rM   r.   r/   )r   r#   r0   rQ   r1   r2   r3   s          r   test_multiple_output_ufuncr]      s     %FC#YYs(FWWV_Fwws|Hfe$$$h&&&6!9bii&&IJ6!9bii&&IJr   c                     |\  }}t        j                  |d      }t        j                  |d      } | ||      }|j                  J y )Nar:   b)r(   r-   r%   )r   r   r#   r!   r"   rX   rY   r2   s           r   #test_binary_ufunc_drops_series_namera      sF    $FB	2C	 B	2C	 B2r]F;;r   c                      G d d      } t        j                   | d       | d      g      }t        j                  |      }t	        j
                  t        j                  ||      t        j                  t        j                  ||                   t	        j
                  t        j                  | | d            t        j                  t        j                  | | d                         y )Nc                       e Zd ZddZd Zy)$test_object_series_ok.<locals>.DummyNc                     || _         y r   valueselfrg   s     r   __init__z-test_object_series_ok.<locals>.Dummy.__init__   	    DJr   c                 4    | j                   |j                   z   S r   rf   ri   r=   s     r   __add__z,test_object_series_ok.<locals>.Dummy.__add__   s    ::++r   returnN)__name__
__module____qualname__rj   rn    r   r   Dummyrd      s    		,r   ru   r   rT   )r   arrayr(   r-   r.   r/   add)ru   r0   sers      r   test_object_series_okry      s    , , ((E!HeAh'
(C
))C.C266#s+RYYrvvc37G-HI266#uQx0"))BFF3a<Q2RSr   )rT   r   r   r   Int64Float32)rT   r   r   zSparse[int])200020102001CETD)freq)z1 Dayz3 Daysz2 DaysrT   r   r   c                 ,    t        | j                        S r   )strr   )xs    r   <lambda>r     s    #agg, r   c                     | j                   S r   r   r
   s    r   values_for_np_reducer      s      ==r   c                   $    e Zd Zd Zd Zd Zd Zy)TestNumpyReductionsc                 p   |}|}t        j                  d       5   ||      }d d d        t        |t        j                  j
                  j                        r1t        j                  j                  d      }|j                  |       |j                  j                  dv rt        j                  j                        }|t        j                   u r)|j#                  d      }	t        j$                  ||	       y |t        j&                  u r!|j(                  j#                         }	||	k(  sJ |j#                         }	||	k(  sJ y y dj+                  g d      }
t        j,                  t.        |
      5  t        j                  j                         d d d        y # 1 sw Y   ~xY w# 1 sw Y   y xY w)	NzSparseArray has no 'prod')reasoniufFnumeric_only|)does not support reductionunsupported operand typez$ufunc 'multiply' cannot use operandsmatch)r.   assert_produces_warningrW   r(   corearraysr   pytestmarkxfailapplymarkerr   kindr   multiplyreduce	DataFrameprodr/   rB   _valuesjoinraises	TypeError)ri   r   box_with_arrayr   boxvaluesobjr   r2   r3   msgs              r   test_multiplyz!TestNumpyReductions.test_multiply  sd   %''- 	f+C	 fbggnn889;;$$,G$HD%<<%[['',Fbll"8887&&vx8;;++-)))88:))) *
 ((C y4 (""3'( (7	 	6( (s   	F6 F,F),F5c                    |}|}t        j                  d       5   ||      }d d d        |j                  j                  dv rt        j
                  j                        }|t        j                  u r)|j                  d      }t        j                  ||       y |t        j                  u r!|j                  j                         }||k(  sJ |j                         }||k(  sJ y y dj                  g d      }t        j                  t         |      5  t        j
                  j                         d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)NmiufFr   r   )r   r   zufunc 'add' cannot use operandsr   )r.   r   r   r   r   rw   r   r(   r   sumr/   rB   r   r   r   r   r   )	ri   r   r   r   r   r   r2   r3   r   s	            r   test_addzTestNumpyReductions.test_add1  s    %''- 	f+C	 <<&VV]]3'Fbll"7776&&vx8;;??,)))779))) *
 ((C y4 #c"# #/	 	.# #s   	E  E E
Ec                    |}|}d}|t         j                  u r|j                  j                  dv rd}t	        j
                  d       5   ||      }d d d        t        j                  j                        }|t         j                  u r)|j                  d      }t	        j                  ||       y |d   }||k(  sJ |rt        |      t        |      k(  sJ y y # 1 sw Y   xY w)NTifFr   rT   )r(   rB   r   r   r.   r   r   maximumr   r   maxr/   type	ri   r   r   r   r   	same_typer   r2   r3   s	            r   test_maxzTestNumpyReductions.test_maxO  s    %	"((?v||00J>I''- 	f+C	 ""3'",,wwEw2H""684ayHX%%%F|tH~555 	 	   	CC%c                    |}|}d}|t         j                  u r|j                  j                  dv rd}t	        j
                  d       5   ||      }d d d        t        j                  j                        }|t         j                  u r)|j                  d      }t	        j                  ||       y |d   }||k(  sJ |rt        |      t        |      k(  sJ y y # 1 sw Y   xY w)NTr   Fr   r   )r(   rB   r   r   r.   r   r   minimumr   r   minr/   r   r   s	            r   test_minzTestNumpyReductions.test_ming  s    %	"((?v||00J>I''- 	f+C	 ""3'",,wwEw2H""684ayHX%%%F|tH~555 	 	r   N)rq   rr   rs   r   r   r   r   rt   r   r   r   r     s     (D#<606r   r   type_c                    t        j                  g dd      } | g d      }t        j                  ||      }t        j                  t        j                  |j	                         |      d      }t        j                  ||       y )NrT   r   r   r%   r:   )r   r      )r(   r-   r   rw   to_numpyr.   r/   )r   r_   r`   r2   r3   s        r   test_binary_ufunc_other_typesr     s\    
		)&)AiAVVAq\Fyy

a0v>H68,r   c                      G fdd      t        j                   d       d      g      } t        j                  |  d            }t        j                   d       d      g      }t	        j
                  ||       y )Nc                   8    e Zd ZddZd Zdef fdZdefdZy)#test_object_dtype_ok.<locals>.Thingrp   Nc                     || _         y r   rf   rh   s     r   rj   z,test_object_dtype_ok.<locals>.Thing.__init__  rk   r   c                 X    t        |d|      } t        |       | j                  |z         S )Nrg   )getattrr   rg   rm   s     r   rn   z+test_object_dtype_ok.<locals>.Thing.__add__  s*    E7E2E4:djj5011r   c                 T    t        |      u xr | j                  |j                  k(  S r   )r   rg   )ri   r=   Things     r   __eq__z*test_object_dtype_ok.<locals>.Thing.__eq__  s$    ;%'EDJJ%++,EEr   c                 "    d| j                    dS )NzThing()rf   )ri   s    r   __repr__z,test_object_dtype_ok.<locals>.Thing.__repr__  s    DJJ<q))r   ro   )	rq   rr   rs   rj   rn   boolr   r   r   )r   s   r   r   r     s'    		2	F4 	F	*c 	*r   r   rT   r   r   )r(   r-   r   rw   r.   r/   )sr2   r3   r   s      @r   test_object_dtype_okr     si    * * 			58U1X&'AVVAuQx Fyy%(E!H-.H68,r   c                      t        j                  g d      } t        j                  g d      }t	        j
                  t        d      5  t        j                  j                  | |       d d d        y # 1 sw Y   y xY w)Nr    r   )	r(   r-   r   rv   r   r   NotImplementedErrorsubtractouter)rx   r   s     r   
test_outerr     sV    
))I
C
((9
C	*"	5 $
#s#$ $ $s   
!A44A=c                      t        j                  g dg      } t        j                  g d      }t        j                  dg      }t        j                  | |      }t	        j
                  ||       y )N)rT   r   )dataf   )r(   r   r   matmulr.   assert_frame_equal)df1df2r3   r2   s       r   test_np_matmulr     sP    
,,[M
*C
,,K
(C||#'HYYsC F(F+r   c                     d } t        j                  | dd      }t        j                  ddg      } |||d      }t        j                  ddgt              }t        j                  ||       t        j                  ddgg      }d}t        j                  t        t        j                  |            5   ||||       d d d        y # 1 sw Y   y xY w)	Nc                     | |z   |z   S r   rt   )r   yzs      r   add3z2test_array_ufuncs_for_many_arguments.<locals>.add3  s    1uqyr   r   rT   r   r   r   zTCannot apply ufunc <ufunc 'add3 (vectorized)'> to mixed DataFrame and Series inputs.r   )r   
frompyfuncr(   r-   objectr.   r/   r   r   r   r   reescape)r   r   rx   r2   r3   dfr   s          r   $test_array_ufuncs_for_many_argumentsr     s     MM$1%E
))QF
C3QFyy!Qv.H68,	1vh	B	0  
*"))C.	A c3  s   7CCc                      t        j                  g d      } t        j                  |       }t        j                  g d      }t	        j
                  ||       y )N)g      g      g      ?g      ?)g      g       g        g      ?)r(   r-   r   fixr.   r/   )rx   r2   r3   s      r   test_np_fixr     s?     ))*
+CVVC[Fyy/0H68,r   )=collectionsr   r   r+   numpyr   r   pandas.util._test_decoratorsutil_test_decoratorstdpandasr(   pandas._testing_testingr.   pandas.arraysr   fixturerw   	logaddexpr   r	   r   fails_arm_wheelsr   r#   parametrizepositivefloorexpr4   r@   rD   rO   rR   divmodfilterwarningsrZ   r]   ra   ry   rv   r   to_datetimetz_localize	to_periodto_timedeltaIntervalIndexIntervalr   r   r*   rM   r   r   r   r   r   &skip_copy_on_write_not_yet_implementedr   rt   r   r   <module>r	     s    	    ) )   % -. /
 FLLV[[%A%ABEJ	7	   2;;"&&"AB- C-  $Y
4KL- M-. $Y
4KL- M-4 T5MY7OP$Y
4KL#- M Q#-L $/- 0-. 299+.T5M2BC> D 3 /><K&T "((+'*),=1/0/0<<UC/0:::D56+"++a+[R[[A->Aq@QRS
 	
p6 p6f 4"67- 8--*$,. **- +-r   