+
    xȇi)                        ^ RI Ht ^ RIHt ^ RIt^ RIt^ RIHt ^ RI	t
^ RIHt ^ RIHt  ! R R4      t ! R R	]4      t ! R
 R]4      t ! R R]4      tR# )    )annotations)finalN)is_string_dtype)opsc                      ] tR t^t$ ]tR]R&   ]tR]R&   ]tR]R&   ]t	R]R&   R R lt
R R	 ltR
 R lt]R R l4       t]R 4       t]]3R R ll4       t]R R l4       tRtR# )BaseOpsUtiltype[Exception] | Noneseries_scalar_excframe_scalar_excseries_array_exc
divmod_excc                    V ^8  d   QhRRRR/# )   op_namestrreturnz4type[Exception] | tuple[type[Exception], ...] | None )formats   "o/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/pandas/tests/extension/base/ops.py__annotate__BaseOpsUtil.__annotate__   s      	=    c                	@   VR9   d   V P                   pV# \        V\        P                  4      '       d/   \        V\        P                  4      '       d   V P                  pV# \        V\        P                  4      '       d   V P
                  pV# V P                  pV# )
__divmod__)r   __rdivmod__)r   
isinstancepdSeriesr   r
   r   )selfr   objotherresults   &&&& r   _get_expected_exception#BaseOpsUtil._get_expected_exception   s     33__F  RYY''Jubii,H,H**F  RYY''++F  **Fr   c                   V ^8  d   QhRR/# r   r   r   r   )r   s   "r   r   r   (   s        c  r   c                	    V# Nr   )r   r   r    r!   pointwise_results   &&&&&r   _cast_pointwise_result"BaseOpsUtil._cast_pointwise_result(   s
      r   c                   V ^8  d   QhRR/# r&   r   )r   s   "r   r   r   1   s     , , ,r   c                	.    \         P                  ! V4      # r(   )tmget_op_from_name)r   r   s   &&r   r/   BaseOpsUtil.get_op_from_name1   s    ""7++r   c                    V ^8  d   QhRRRR/# r   ser	pd.Seriesr   r   r   )r   s   "r   r   r   ;   s     5 5	 5C 5r   c                	r    V P                  W!V4      pV P                  V4      pV P                  WW2V4       R # r(   )r#   r/   	_check_op)r   r3   r   r!   excops   &&&&  r   check_opnameBaseOpsUtil.check_opname:   s4    **7?""7+s4r   c                	   \        V\        P                  4      '       dS   \        VP                  4      ^8w  d   \
        hVP                  R,          P                  W#4      P                  4       pV# VP                  W#4      pV# )   ):NNNr   )	r   r   	DataFramelencolumnsNotImplementedErroriloccombineto_frame)r   r    r!   r8   expecteds   &&&& r   _combineBaseOpsUtil._combineB   sg    c2<<((3;;1$))xx~--e8AACH  {{5-Hr   c                    V ^8  d   QhRRRR/# r2   r   )r   s   "r   r   r   N   s      25r   c                	V   Vfb   V! W4      pV P                  WV4      pV P                  WAW74      p\        V\        V4      4      '       g   Q h\        P
                  ! Wg4       R # \        P                  ! V4      ;_uu_ 4        V! W4       R R R 4       R #   + '       g   i     R # ; ir(   )rE   r*   r   typer.   assert_equalpytestraises)r   r3   r8   r!   r   r7   r"   rD   s   &&&&&&  r   r6   BaseOpsUtil._check_opM   s|     ;^F}}S4H227QHfd3i0000OOF-s##3 $###s   	BB(	c                   V ^8  d   QhRR/# r   r3   r4   r   )r   s   "r   r   r   `   s     # #I #r   c                	   V\         J d   V P                  R W4      pMV P                  RW4      pVfb   V! W4      w  rVV\         J d   W,          W,          rMW1,          W1,          r\        P                  ! WW4       \        P                  ! Wh4       R# \        P
                  ! V4      ;_uu_ 4        \        W4       RRR4       R#   + '       g   i     R# ; i)r   r   N)divmodr#   r.   assert_series_equalrK   rL   )	r   r3   r8   r!   r7   
result_div
result_modexpected_divexpected_mods	   &&&&     r   _check_divmod_opBaseOpsUtil._check_divmod_op_   s     <..|SHC..}cIC;%'^"JV|-0\3;l-2\5;l"":<"":<s##s" $###s   3C		C	r   N)__name__
__module____qualname____firstlineno__	TypeErrorr
   __annotations__r   r   r   r#   r*   r/   r   r9   rE   r@   r6   rW   __static_attributes__r   r   r   r   r      s    09-9/8,8/8,8)2J&2& , 5 5   ;N " # #r   r   c            
         ] tR t^st$ Rt]tR]R&   ]tR]R&   ]t	R]R&   ]t
R]R&   R tR tR	 tR
 tR tR t]P$                  P'                  R]P*                  ]P,                  ]P.                  .4      ]P$                  P'                  R]P2                  ]P4                  ,            U u. uF  p V P7                  R4      '       d   K  V NK   	  up 4      R 4       4       tRtR# u up i )BaseArithmeticOpsTestsa  
Various Series and DataFrame arithmetic ops methods.

Subclasses supporting various ops should set the class variables
to indicate that they support ops of that kind

* series_scalar_exc = TypeError
* frame_scalar_exc = TypeError
* series_array_exc = TypeError
* divmod_exc = TypeError
r	   r
   r   r   r   c                	    VR 8X  d2   \        VP                  4      '       d   \        P                  ! R4       Tp\        P
                  ! V4      pV P                  WCVP                  ^ ,          4       R# )__rmod__%Skip testing Python string formattingN)r   dtyperK   skipr   r   r9   rA   r   dataall_arithmetic_operatorsr   r3   s   &&&  r   test_arith_series_with_scalar4BaseArithmeticOpsTests.test_arith_series_with_scalar   sO    #z1odjj6Q6QKK?@*iio#4r   c                	    VR 8X  d2   \        VP                  4      '       d   \        P                  ! R4       Tp\        P
                  ! RV/4      pV P                  WCV^ ,          4       R# )rc   rd   AN)r   re   rK   rf   r   r=   r9   )r   rh   ri   r   dfs   &&&  r   test_arith_frame_with_scalar3BaseArithmeticOpsTests.test_arith_frame_with_scalar   sP    #z1odjj6Q6QKK?@*\\3+&"tAw/r   c           
     	    Tp\         P                  ! V4      pV P                  WC\         P                  ! VP                  ^ ,          .\	        V4      ,          4      4       R# r   N)r   r   r9   rA   r>   rg   s   &&&  r   test_arith_series_with_array3BaseArithmeticOpsTests.test_arith_series_with_array   s@    *iio#		388A;-#c(2J(KLr   c                	    \         P                  ! V4      pV P                  V\        ^4       V P                  ^\        P
                  V4       R# )r<   Nr   r   rW   rQ   r   rdivmod)r   rh   r3   s   && r   test_divmod"BaseArithmeticOpsTests.test_divmod   s7    iioc61-ac2r   c                	   \         P                  ! V4      pV P                  V\        V4       TpV P                  V\        P
                  V4       \         P                  ! V4      pV P                  V\        P
                  V4       R # r(   rv   )r   rh   data_for_twosr3   r!   s   &&&  r   test_divmod_series_array/BaseArithmeticOpsTests.test_divmod_series_array   s`    iioc640eS[[#6		% eS[[#6r   c                	\   \         P                  ! V4      pV P                  R W!4      pVe2   \        P                  ! V4      ;_uu_ 4        W!,            RRR4       R# W!,           p\         P                  ! W,           4      p\
        P                  ! WE4       R#   + '       g   i     R# ; i)__add__N)r   r   r#   rK   rL   r.   rR   )r   rh   r3   r7   r"   rD   s   &&    r   $test_add_series_with_extension_array;BaseArithmeticOpsTests.test_add_series_with_extension_array   su    
 iio**9c@?s##
 $99T[)
v0 $#s   	BB+	boxr   __rc                	v    V! V4      p\        W4      '       d    \        W4      ! V4      pV\        J g   Q hR # R # r(   )hasattrgetattrNotImplemented)r   rh   r   r   r!   r"   s   &&&&  r   6test_direct_arith_with_ndframe_returns_not_implementedMBaseArithmeticOpsTests.test_direct_arith_with_ndframe_returns_not_implemented   s:     D	4!!T+E2F^+++ "r   r   N)rY   rZ   r[   r\   __doc__r]   r
   r^   r   r   r   rj   ro   rs   rx   r|   r   rK   markparametrizer   r   r=   Indexr.   arithmetic_dunder_methodscomparison_dunder_methods
startswithr   r_   )xs   0r   ra   ra   s   s    
 1:-9/8,8/8,8)2J&250M3
71" [[URYYbhh$GH[[ 11B4P4PP	
P<<& AP	
	, I	,	
s   )C"C"ra   c                  2    ] tR t^tRtR R ltR tR tRtR# )BaseComparisonOpsTestsz4Various Series and DataFrame comparison ops methods.c                   V ^8  d   QhRR/# rO   r   )r   s   "r   r   #BaseComparisonOpsTests.__annotate__   s     + +) +r   c                	N   VP                   R9   dO   V! W4      pVP                  WC4      pV P                  VP                   WV4      p\        P                  ! WV4       R# Rp V! W4      pVfH   VP                  WC4      pV P                  VP                   WV4      p\        P                  ! XV4       R# \        P                  ! \        V4      4      ;_uu_ 4        VP                  WC4       RRR4       R#   \
         d   pTp Rp?LRp?ii ; i  + '       g   i     R# ; i)eqN)r   ne)	rY   rB   r*   r.   rR   	ExceptionrK   rL   rI   )	r   r3   rh   r8   r!   r"   rD   r7   errs	   &&&&&    r   _compare_other%BaseComparisonOpsTests._compare_other   s    ;;,&^F{{5-H222;;HUH""64 CC {;;u166KKX &&vx8]]49--KK* .-   .--s$   #C9 D9DDDD$	c                	X    \         P                  ! V4      pV P                  W1V^ 4       R# rr   )r   r   r   )r   rh   comparison_opr3   s   &&& r   test_compare_scalar*BaseComparisonOpsTests.test_compare_scalar   s!    iioC}a8r   c                	    \         P                  ! V4      p\         P                  ! V^ ,          .\        V4      ,          VP                  R7      pV P	                  W1W$4       R# )r   )re   N)r   r   r>   re   r   )r   rh   r   r3   r!   s   &&&  r   test_compare_array)BaseComparisonOpsTests.test_compare_array   sB    iio		47)c$i/tzzBC}<r   r   N)	rY   rZ   r[   r\   r   r   r   r   r_   r   r   r   r   r      s    >+49=r   r   c                      ] tR t^tR t]P                  P                  R]P                  ]P                  ]P                  .4      R 4       tRtR# )BaseUnaryOpsTestsc                	   \         P                  ! VR R7      p V Uu. uF  q3( NK  	   pV( p\         P                  ! V( R R7      p\        P                  ! WE4       R# u upi   \         d    \
        P                  ! \        4      ;_uu_ 4        T(  RRR4       M  + '       g   i     M; i\
        P                  ! \        4      ;_uu_ 4        T(  RRR4        R#   + '       g   i      R# ; ii ; i)name)r   N)r   r   r.   rR   r]   rK   rL   )r   rh   r3   r   r"   rD   s   &&    r   test_invertBaseUnaryOpsTests.test_invert   s    ii6*	5AR TFyy$V4H""64  	 y)) *)))y)) *)))	sQ   A$ AA$ A$ $-C8B	C8B.)*C8C"C8"C4-C84C8ufuncc                	   \         P                  R \         P                  R\         P                  R/V,          pRp \	        W4      ! 4       pV! V4      p\
        P                  ! WV4       R#   \         dd   pTp\        P                  ! \        T4      \        34      ;_uu_ 4        T! T4       RRR4        Rp?R#   + '       g   i      Rp?R# ; iRp?ii ; i)__pos____neg____abs__N)nppositivenegativeabsr   r.   assert_extension_array_equalr   rK   rL   rI   r]   )r   rh   r   attrr7   r"   altr   s   &&&     r   #test_unary_ufunc_dunder_equivalence5BaseUnaryOpsTests.test_unary_ufunc_dunder_equivalence  s     YY	R
 
	9T(*F +C++F8  	C S	9566d 76666		s5   A- -C8/C'	B>0C>C	CCCr   N)rY   rZ   r[   r\   r   rK   r   r   r   r   r   r   r   r_   r   r   r   r   r      s@    5$ [[Wr{{BKK&HI9 J9r   r   )
__future__r   typingr   numpyr   rK   pandas.core.dtypes.commonr   pandasr   pandas._testing_testingr.   pandas.corer   r   ra   r   r   r   r   r   <module>r      sR    "    5   a# a#H\,[ \,~$=[ $=N&9 &9r   