Ë
    AúYj ,  ã                   ó”  — d Z ddlZddlZddlmZ ddlmZ ddlZ	ddl
mZ ddlmZ  ej                   ej                   ddge¬«       ej                   dd	ge¬«       ej                   dd	ge¬«       ej                   dd
ge¬«       ej                   ddge¬«       ej                   dd	gd¬«       ej                   dd	gd¬«      g¬«      d„ «       Zej.                  j1                  dg d¢«      d„ «       Zej.                  j1                  dg d¢«      d„ «       Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d „ Z%ej.                  jM                  e d!¬"«      ej.                  j1                  d#dd$g«      d%„ «       «       Z'd&„ Z(d'„ Z)d(„ Z*d)„ Z+d*„ Z,ej.                  j1                  d+ejZ                  ej\                  ej^                  g«      d,„ «       Z0d-„ Z1d.„ Z2ej.                  j1                  d#deg«      d/„ «       Z3d0„ Z4d1„ Z5ej.                  j1                  d#ejl                  ejn                  g«      d2„ «       Z8d3„ Z9ej.                  j1                  d#ejt                  ejv                  ejx                  ejz                  ejn                  ej|                  ej~                  ej€                  ejl                  g	«      d4„ «       ZAd5„ ZBd6„ ZCy)7zV
Additional tests for NumpyExtensionArray that aren't covered by
the interface tests.
é    N)Únp_version_gt2©ÚNumpyEADtype)ÚNumpyExtensionArrayÚaÚb©Údtypeé   y      ð?       @TFúdatetime64[ns]útimedelta64[ns])Úparamsc                 ó6   — | j                   j                  «       S )zk
    Parametrized fixture for NumPy arrays with different dtypes.

    This excludes string and bytes.
    )ÚparamÚcopy)Úrequests    úp/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/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                 ó:   — t        | «      } | j                  |u sJ ‚y ©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                 ó:   — t        | «      } | j                  |u sJ ‚y r&   )r   Ú_is_booleanr(   s     r   Útest_is_booleanr.   >   r+   r   c                  ó`   — t        t        j                  d«      «      } t        | «      dk(  sJ ‚y )NÚint64zNumpyEADtype('int64'))r   Únpr
   Úreprr	   s    r   Ú	test_reprr3   R   s(   € ÜœŸ™ 'Ó*Ó+€EÜ�‹;Ð1Ò1Ð1Ñ1r   c                  óx   — t        j                  d«      } t        t        j                  d«      «      }| |k(  sJ ‚y )Nr0   )r   Úconstruct_from_stringr1   r
   )Úresultr)   s     r   Útest_constructor_from_stringr7   W   s3   € Ü×/Ñ/°Ó8€FÜœBŸH™H WÓ-Ó.€HØ�XÒÐÑr   c                 ó>   — t        | «      }t        |«      }||k(  sJ ‚y r&   r   )Úany_numpy_dtyper
   r6   s      r   Útest_dtype_idempotentr:   ]   s"   € Ü˜Ó)€Eä˜%Ó €FØ�UŠ?Ð‰?r   c                  ó~   — t        j                  t        d¬«      5  t        g d¢«       d d d «       y # 1 sw Y   y xY w)NzNumPy array©Úmatch©r   é   é   )ÚpytestÚraisesÚ
ValueErrorr   © r   r   Útest_constructor_no_coercionrE   h   s-   € Ü	�‰”z¨Ô	7ñ 'ÜšIÔ&÷'÷ 'ñ 'ús   œ3³<c                  ó’   — t        j                  g d¢«      } t        j                  t	        | «      d¬«      }|j
                  | usJ ‚y )Nr>   T©r   )r1   ÚarrayÚpdÚSeriesr   Úvalues)ÚndarrayÚsers     r   Ú!test_series_constructor_with_copyrN   m   s8   € Ü�h‰h’yÓ!€GÜ
�)‰)Ô'¨Ó0°tÔ
<€Cà�:‰:˜WÑ$Ð$Ñ$r   c                  óÐ   — t        j                  g d¢«      } t        j                  t	        | «      d¬«      }t        j                  g d¢d¬«      }t        j                  ||«       y )Nr>   Úfloat64r	   )ç      ð?g       @g      @)r1   rH   rI   rJ   r   ÚtmÚassert_series_equal)rL   r6   r)   s      r   Ú#test_series_constructor_with_astyperT   t   sF   € Ü�h‰h’yÓ!€GÜ�Y‰YÔ*¨7Ó3¸9ÔE€FÜ�y‰yš°	Ô:€HÜ×Ñ˜6 8Õ,r   c                  óÔ   — t        j                  g d¢d¬«      } t        j                  | d¬«      }t        t        j                  g d¢d¬«      «      }t	        j
                  ||«       y )Nr>   r0   r	   Úuint64)r1   rH   r   Ú_from_sequencerR   Úassert_extension_array_equal©Úarrr6   r)   s      r   Útest_from_sequence_dtyper[   {   sI   € Ü
�(‰(’9 GÔ
,€CÜ ×/Ñ/°¸8ÔD€FÜ"¤2§8¡8ªI¸XÔ#FÓG€HÜ×#Ñ# F¨HÕ5r   c                  ó|   — t        j                  ddg«      } t        | d¬«      }t        j                  || «      rJ ‚y )Nr   r   TrG   )r1   rH   r   rR   Úshares_memory©rZ   r6   s     r   Útest_constructor_copyr_   ‚   s9   € Ü
�(‰(�A�q�6Ó
€CÜ  ¨4Ô0€Fä×Ñ ¨Ô,Ð,Ð,Ð,r   c                 óh   — | }t        |«      }|j                  j                  |j                  k(  sJ ‚y r&   )r   r
   Únumpy_dtype©r   ÚnparrrZ   s      r   Útest_constructor_with_datard   ‰   s-   € Ø€EÜ
˜eÓ
$€CØ�9‰9× Ñ  E§K¡KÒ/Ð/Ñ/r   c                  óJ  — t        t        j                  g d¢«      «      } | j                  «       }|| j                  u sJ ‚| j                  d¬«      }|| j                  usJ ‚| j                  d¬«      }t        j                  g d¢d¬«      }t        j                  ||«       y ©Nr>   TrG   Úf8r	   )r   r1   rH   Úto_numpyÚ_ndarrayrR   Úassert_numpy_array_equalrY   s      r   Útest_to_numpyrk   “   s„   € Ü
œbŸh™h¢yÓ1Ó
2€CØ�\‰\‹^€FØ�S—\‘\Ñ!Ð!Ð!à�\‰\˜tˆ\Ó$€FØ˜Ÿ™Ñ%Ð%Ð%à�\‰\ ˆ\Ó%€FÜ�x‰xš	¨Ô.€HÜ×Ñ ¨Õ1r   c                  óJ  — t        t        j                  g d¢«      «      } d| _        | j	                  «       }|j
                  j                  rJ ‚| j	                  d¬«      }|j
                  j                  sJ ‚| j	                  d¬«      }|j
                  j                  sJ ‚y rf   )r   r1   rH   Ú	_readonlyrh   ÚflagsÚ	writeabler^   s     r   Útest_to_numpy_readonlyrp       s€   € Ü
œbŸh™h¢yÓ1Ó
2€CØ€C„MØ�\‰\‹^€FØ�|‰|×%Ò%Ð%Ð%à�\‰\˜tˆ\Ó$€FØ�<‰<×!Ò!Ð!Ð!à�\‰\ ˆ\Ó%€FØ�<‰<×!Ò!Ð!Ñ!r   z!copy keyword introduced in np 2.0)Úreasonr
   r0   c                 ót  — t        t        j                  g d¢d¬«      «      }d|_        t        j                  || ¬«      }|j
                  j                  rJ ‚t        j                  || d¬«      }|j
                  j                  sJ ‚t        j                  || d¬«      }|j
                  j                  rJ ‚y )Nr>   r0   r	   T)r
   r   F)r   r1   rH   rm   Úasarrayrn   ro   )r
   rZ   r6   s      r   Útest_asarray_readonlyrt   ­   s�   € ô œbŸh™h¢y¸Ô@Ó
A€CØ€C„MÜ�Z‰Z˜ 5Ô)€FØ�|‰|×%Ò%Ð%Ð%ä�Z‰Z˜ 5¨tÔ4€FØ�<‰<×!Ò!Ð!Ð!ä�Z‰Z˜ 5¨uÔ5€FØ�|‰|×%Ò%Ð%Ð%Ð%r   c                 óŠ   — | }t        |d¬«      }|d   |d<   |d   |d<   t        j                  |j                  «       |«       y )NTrG   r   r   )r   rR   rj   rh   rb   s      r   Útest_setitemrv   À   sC   € Ø€EÜ
˜e¨$Ô
/€Cà�‰V€Cˆ�FØ�Q‰x€Eˆ!�Hä×Ñ §¡£°Õ6r   c                  óÒ   — t        j                  g d¢d¬«      } t        | «      } d}t        j                  t
        |¬«      5  | j                  |«       d d d «       y # 1 sw Y   y xY w)Nr>   r0   r	   z)cannot perform not_a_method with type intr<   )r1   rH   r   rA   rB   Ú	TypeErrorÚ_reduce©rZ   Úmsgs     r   Útest_bad_reduce_raisesr|   Î   sP   € Ü
�(‰(’9 GÔ
,€CÜ
˜cÓ
"€CØ
5€CÜ	�‰”y¨Ô	,ñ Ø�‰�CÔ÷÷ ñ ús   ÁAÁA&c                  óÌ   — t        t        j                  g d¢«      «      } d}t        j                  t
        |¬«      5  | j                  d¬«       d d d «       y # 1 sw Y   y xY w)Nr>   z/the 'keepdims' parameter is not supported .*allr<   T)Úkeepdims)r   r1   rH   rA   rB   rC   Úallrz   s     r   Ú$test_validate_reduction_keyword_argsr€   Ö   sK   € Ü
œbŸh™h¢yÓ1Ó
2€CØ
;€CÜ	�‰”z¨Ô	-ñ Ø�‰˜ˆÔ÷÷ ñ ús   ¾AÁA#c                  óN  — g d¢} t        j                  | «      }|j                  }|j                  «       |d   u sJ ‚|j                  «       |d   u sJ ‚t        j
                  j                  |«      }||d   k(  sJ ‚t        j
                  j                  |«      }||d   k(  sJ ‚y )N))©ÚjÚk©ÚlÚm)r…   ©ÚoÚp)rˆ   r‚   r?   )rI   rJ   rH   Úmaxr1   ÚmaximumÚreduce)ÚvalsrM   rZ   r6   s       r   Útest_np_max_nested_tuplesr�   Ý   s�   € ò€Dô
 �)‰)�D‹/€CØ
�)‰)€Cà�7‰7‹9˜˜A™ÑÐÐØ�7‰7‹9˜˜A™ÑÐÐä�Z‰Z×Ñ˜sÓ#€FØ�S˜‘VÒÐÐä�Z‰Z×Ñ˜sÓ#€FØ�S˜‘VÒÐÑr   c                  ó.  — t        j                  d«      j                  dd«      } t        | «      }t         j                  j                  |d¬«      }t        j                  ||d   «       |j                  d¬«      }t        j                  ||d   «       y )Né   é   r@   r   )Úaxiséÿÿÿÿ)	r1   ÚarangeÚreshaper   rŒ   r�   rR   rX   r‹   )ÚrawrZ   ÚresÚalts       r   Útest_np_reduce_2drš   ò   sv   € Ü
�)‰)�B‹-×
Ñ
  1Ó
%€CÜ
˜cÓ
"€Cä
�*‰*×
Ñ
˜C aÐ
Ó
(€CÜ×#Ñ# C¨¨R©Ô1à
�'‰'�qˆ'‹/€CÜ×#Ñ# C¨¨R©Õ1r   Úufuncc                 ó6  — t        t        j                  g d¢«      «      } | |«      }t         | |j                  «      «      }t	        j
                  ||«       t        t        j                  g d¢«      «      } | ||¬«       t	        j
                  ||«       y )N©g      ð¿ç        rQ   )ç      "ÀrŸ   rŸ   )Úout)r   r1   rH   ri   rR   rX   )r›   rZ   r6   r)   r    s        r   Útest_ufunc_unaryr¡     sr   € ä
œbŸh™hÒ'7Ó8Ó
9€CÙ�3‹Z€FÜ"¡5¨¯©Ó#6Ó7€HÜ×#Ñ# F¨HÔ5ô œbŸh™hÒ'9Ó:Ó
;€CÙ	ˆ#�3ÕÜ×#Ñ# C¨Õ2r   c                  ó¤  — t        t        j                  g d¢«      «      } t        j                  | t        j                  | d«      «      \  }}t        j                  | j
                  t        j                  | j
                  d«      «      \  }}t        |«      }t        |«      }t        j                  ||«       t        j                  ||«       y )Nr�   r?   )r   r1   rH   ÚdivmodÚaddri   rR   rX   )rZ   Úr1Úr2Úe1Úe2s        r   Ú
test_ufuncr©     s�   € Ü
œbŸh™hÒ'7Ó8Ó
9€Cä�Y‰Y�sœBŸF™F 3¨›NÓ+�F€BˆÜ�Y‰Y�s—|‘|¤R§V¡V¨C¯L©L¸!Ó%<Ó=�F€BˆÜ	˜RÓ	 €BÜ	˜RÓ	 €BÜ×#Ñ# B¨Ô+Ü×#Ñ# B¨Õ+r   c                  óº   — t        t        j                  g d¢«      «      } | | z   }t        t        j                  g d¢«      «      }t        j                  ||«       y )Nr>   )r?   r’   é   ©r   r1   rH   rR   rX   )Úxr6   r)   s      r   Útest_basic_binopr®     sC   € ô 	œBŸH™H¢YÓ/Ó0€AØ�‰U€FÜ"¤2§8¡8ªIÓ#6Ó7€HÜ×#Ñ# F¨HÕ5r   c                 óÂ   — t        t        j                  g d¢| ¬«      «      }d|d<   t        t        j                  g d¢| ¬«      «      }t        j                  ||«       y )N)r   r   Úcr	   Útr   )r±   r   r°   r¬   )r
   rZ   r)   s      r   Útest_setitem_object_typecoder²   "  sE   € ä
œbŸh™h¢¸eÔDÓ
E€CØ€Cˆ�FÜ"¤2§8¡8ªOÀ5Ô#IÓJ€HÜ×#Ñ# C¨Õ2r   c                  ó$  — t        t        j                  g d¢«      «      } t        j                  t
        d¬«      5  d| d<   d d d «       d| d<   t        | d   t        t        j                  f«      sJ t        | d   «      «       ‚y # 1 sw Y   ŒExY w)Nr>   r   r<   r   r   ç      @)
r   r1   rH   rA   rB   rC   Ú
isinstancer   ÚintegerÚtype)rZ   s    r   Útest_setitem_no_coercionr¸   *  sv   € ä
œbŸh™h¢yÓ1Ó
2€CÜ	�‰”z¨Ô	/ñ ØˆˆA‰÷ð
 €Cˆ�FÜ�c˜!‘fœs¤B§J¡JÐ/Ô0Ð>´$°s¸1±v³,Ó>Ñ0÷ð ús   ¼BÂBc                  ó  — t        t        j                  g d¢«      «      } | j                  «       }| d d  }t        j                  | «      }d| d<   |d   dk(  sJ ‚|d   dk(  sJ ‚|d   dk(  sJ ‚d| d<   d|d<   | d   dk(  sJ ‚y )Nr>   é	   r   r´   r”   é   )r   r1   rH   Úviewrs   )rZ   Úview1Úview2Úview3s       r   Útest_setitem_preserves_viewsrÀ   6  s‘   € ä
œbŸh™h¢yÓ1Ó
2€CØ�H‰H‹J€EØ‘ˆF€EÜ�J‰J�s‹O€Eà€Cˆ�FØ�‰8�qŠ=Ðˆ=Ø�‰8�qŠ=Ðˆ=Ø�‰8�qŠ=Ðˆ=à€Cˆ�GØ€Eˆ"�IØˆr‰7�aŠ<Ð‰<r   c                 ó<  — t        t        j                  g | ¬«      «      }t        j                  ddg«      }|j                  |d¬«      }t        t        j                  t        j                  t        j                  g«      «      }t        j                  ||«       y )Nr	   rž   g      à?Úlinear)Úinterpolation)	r   r1   rH   rI   ÚIndexÚ	_quantileÚnanrR   rX   )r
   rZ   Úidxr6   r)   s        r   Útest_quantile_emptyrÈ   G  sm   € ô œbŸh™h r°Ô7Ó
8€CÜ
�(‰(�C˜�:Ó
€Cà�]‰]˜3¨hˆ]Ó7€FÜ"¤2§8¡8¬R¯V©V´R·V±VÐ,<Ó#=Ó>€HÜ×#Ñ# F¨HÕ5r   c                  ó(  — t        j                  g d¢t         j                  ¬«      } t        | «      }|j	                  «       \  }}t        j                  | «      \  }}t        j                  ||«       t        j                  |t        |«      «       y )Nr>   r	   )	r1   rH   rV   r   Ú	factorizerI   rR   rj   rX   )rZ   ÚobjÚ	res_codesÚ
res_uniqueÚ	exp_codesÚ
exp_uniques         r   Útest_factorize_unsignedrÐ   R  si   € ä
�(‰(’9¤B§I¡IÔ
.€CÜ
˜cÓ
"€CàŸM™M›OÑ€IˆzÜŸL™L¨Ó-Ñ€Iˆzä×Ñ 	¨9Ô5ä×#Ñ# JÔ0CÀJÓ0OÕPr   c                 óÄ  — | t         j                  k(  r<t        t        j                  g d¢| ¬«      «      }t        j                  t
        «      }n2t        t        j                  g d¢| ¬«      «      }t         j                  }|j                  dgd¬«      }|j                  j                  |k(  sJ ‚|j                  dgdd¬«      }|j                  j                  |k(  sJ ‚y )	N©FTFr	   r>   r”   T©Ú
allow_fillg      @)rÔ   Ú
fill_value)	r1   Úbool_r   rH   r
   r"   rP   Útakera   )r
   rH   r)   r6   s       r   Ú&test_take_assigns_floating_point_dtyperØ   _  s¬   € ð  ”—‘ÒÜ#¤B§H¡HÒ-AÈÔ$OÓPˆÜ—8‘8œFÓ#‰ä#¤B§H¡HªY¸eÔ$DÓEˆÜ—:‘:ˆà�Z‰Z˜˜¨ˆZÓ.€FØ�<‰<×#Ñ# xÒ/Ð/Ð/à�Z‰Z˜˜¨¸#ˆZÓ>€FØ�<‰<×#Ñ# xÒ/Ð/Ñ/r   c                  óÞ   — t        t        j                  g d¢t        j                  ¬«      «      } | j	                  dgd¬«      }|j
                  j                  t        j                  k(  sJ ‚y )NrÒ   r	   r”   FrÓ   )r   r1   rH   rÖ   r×   r
   ra   )rH   r6   s     r   Ú"test_take_preserves_boolean_arraysrÚ   }  sL   € Ü¤§¡Ò)=ÄRÇXÁXÔ NÓO€EØ�Z‰Z˜˜¨ˆZÓ/€FØ�<‰<×#Ñ#¤r§x¡xÒ/Ð/Ñ/r   c                 óž  — | }t        |«      }|j                  dk(  rd}n€|j                  dk(  rd}nnt        |j                  «      j                  d«      rd}nG|j                  dk(  rd}n5|j                  d	k(  rd
}n#|j                  dk(  rd}n|j                  dk(  rd}d› d|j                  › �}t	        |«      }||k(  sJ |› d|› �«       ‚y )Nr"   z
['a', 'b']rP   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   Ú
startswithr2   )r   ÚnparrayrZ   rK   r)   r6   s         r   Útest_array_reprrß   ‡  sÓ   € à€GÜ
˜gÓ
&€CØ‡}�}˜Ò Ø‰Ø	�‰˜)Ò	#Ø‰Ü	ˆW�]‰]Ó	×	&Ñ	& uÔ	-Ø‰Ø	�‰˜,Ò	&Ø‰Ø	�‰˜&Ò	 Ø ‰Ø	�‰Ð*Ò	*ØQ‰Ø	�‰Ð+Ò	+Ø1ˆØ(¨¨Ð0DÀWÇ]Á]ÀOÐT€HÜ�#‹Y€FØ�XÒÐ8 & ¨¨h¨ZÐ8Ó8Ñr   )DÚ__doc__Únumpyr1   rA   Úpandas.compat.numpyr   Úpandas.core.dtypes.dtypesr   ÚpandasrI   Úpandas._testingÚ_testingrR   Úpandas.arraysr   ÚfixturerH   r"   r   r   r   r   r   ÚmarkÚparametrizer*   r.   r3   r7   r:   rE   rN   rT   r[   r_   rd   rk   rp   Úskipifrt   rv   r|   r€   r�   rš   ÚabsÚnegativeÚpositiver¡   r©   r®   r²   r¸   rÀ   r0   rV   rÈ   rÐ   rÖ   Úuint8Úuint16Úuint32Úint8Úint16Úint32rØ   rÚ   rß   rD   r   r   ú<module>rõ      så  ðñó
 Û å .å 2ã Ý Ý -ð €‡�àˆ�‰�#�s� 6Ô*Øˆ�‰�!�Q�˜uÔ%Øˆ�‰�!�Q�˜sÔ#Øˆ�‰�!�V� GÔ,Øˆ�‰�$˜� dÔ+Øˆ�‰�!�Q�Ð/Ô0Øˆ�‰�!�Q�Ð0Ô1ðô
ñ ó
ð ð ‡�×ÑØòóñ)óð)ð
 ‡�×ÑØòóñ)óð)ò
2ò
òò'ò
%ò-ò6ò-ò0ò
2ò
"ð ‡�×Ñ˜Ð&Ð/RÐÓSØ‡�×Ñ˜ 4¨ /Ó2ñ
&ó 3ó Tð
&ò"7òòòò*2ð ‡�×Ñ˜ 2§6¡6¨2¯;©;¸¿¹Ð"DÓEñ	3ó Fð	3ò,ò6ð ‡�×Ñ˜ 4¨ .Ó1ñ3ó 2ð3ò	?òð" ‡�×Ñ˜ 2§8¡8¨R¯Y©YÐ"7Ó8ñ6ó 9ð6ò
Qð ‡�×ÑØà
�‰Ø
�‰Ø
�	‰	Ø
�	‰	Ø
�	‰	Ø
�‰Ø
�‰Ø
�‰Ø
�‰ð
óñ0óð0ò 0ó9r   