
    dn                        d dl Z d dlZd dlmZ d dlZd dlZd dlmZmZm	Z	m
Z
mZ d dlmZ  ej        g d          d             Z ej        ddg          d	             Z ej        d
 egddg          d             Z ej        ddg          d             Z ej        ddg          d             Z ej        d ej        fd ej        fd ej        fg          d             Zej                            di dej        ifddddej        ifg          d             Zej                            dddg          d              Zej                            d!g d"g d#g d$g          d%             Z ej                            d&g d'd(fg d)d*fg          d+             Z!ej                            d,d-g d'fdd.d/ej"        gfg          d0             Z#ej                            d1d2d-g d3fdd4d5ej"        gfg          d6             Z$d7 Z%ej                            d8g d"dej        ifg d#i fg d$i fg          d9             Z&ej                            d:dd;ii g          d<             Z'ej                            d=d>d>d?gg          d@             Z(ej                            dA e j)        dB          d4g e j)        dC          dDgdBd4gdCdDgf ej*         e j)        dB          d4g          dDgdBd4gdDgfg          dE             Z+dF Z,dG Z-ej                            dHg dI          dJ             Z.dK Z/dL Z0dM Z1ej                            dNdOd-dP fddQ fg          dR             Z2ej                            d!g dSd4ej"        dTej"        gg          dU             Z3ej                            dVg dW ej*        g dSdXY          fg dZ ej*        g d[          fg          d\             Z4d] Z5d^ Z6d_ Z7ej                            d`dad- e
dbdcgd4ddg          fd e
ej"        d4ej"        g          fg          de             Z8df Z9dg Z:ej                            d!g dhg dS ej*        g didjY          g          ej                            dki ej        fdldiej        fdldmi ej;        ej<                  j=        fdldni ej;        ej>        do         d                    fg          dp                         Z?ej                            dqddrg          ej                            d!g dhg dS ej*        g didjY          g          ds                         Z@dt ZAdu ZBej        C                    dv          ej                            dlg dw          ej                            dxg dy ej*        g dzejD        Y          fg d{ ej*        g d{ejD        Y          fg          d|                                     ZEej                            d}dejF        fdrejF        fdnejG        fg          d~             ZHej                            ddd eej                  jI         eej                  jJ        gfdd eejF                  jI         eejF                  jJ        gfdd eejK                  jI         eejK                  jJ        gfdXd eej                  jI         eej                  jJ        gfddn eejL                  jI         eejL                  jJ        gfddn eejG                  jI         eejG                  jJ        gfddn eejM                  jI         eejM                  jJ        gfddn eejN                  jI         eejN                  jJ        gfdd eej                  jI         eej                  jJ        d.z   gfdd eejF                  jI         eejF                  jJ        d.z   gfdXd eejK                  jI         eejK                  jJ        d.z   gfdd eej                  jI        d.z
   eejF                  jJ        gfdd eejF                  jI        d.z
   eejK                  jJ        gfdXd eejK                  jI        d.z
   eej                  jJ        gfddn eejL                  jI         eejL                  jJ        d.z   gfddn eejG                  jI         eejG                  jJ        d.z   gfddn eejM                  jI         eejM                  jJ        d.z   gfg          d             ZOd ZPej                            d e
d dg           e
d dgejN        Y          fg          d             ZQej                            dAg dddej"        ej"        dgfg dddej"        gfg          d             ZRej                            d1d- e
g d          fdg          d             ZSej                            dg d          ej                            dg d          d                         ZTd ZUej                            dg d          d             ZVej                            dg d e
d.dcej"        gdY          fg dW e
g dSdY          fg d e
g dSdY          fg d e
g ddY          fg d e
d.ej"        dgdY          fg d e
g ddY          fg          d             ZWd ZXd ZYej                            dd.d.gdddfd4ejZ        gdddfd4dgdddfd.ejZ        gdddfddgdddfd.d.gdddf ej        ej                  jJ        d.z
  d.gdddfd.d.gddrdfd4d4gddrdfd4dgddrdfd.ejZ        gddrdfddgddrdf ej        ejN                  jJ        d.z
  d.gddrdfd.d.gddndfd4d4gddndfd4dgddndfd.ejZ        gddndfddgddndfddgddndfd.d.gddmdfd.dgddmdfd.d.gddmdfd.dgddmdff          d             Z[d Z\d Z]ej                            dHddg          d             Z^ej                            dg d          d             Z_ej                            dg d          d             Z`ej                            dg d¢          dÄ             Zaej                            dddgddgg          dȄ             Zbej                            dg dɢ          dʄ             Zcd˄ Zdd̄ Zed̈́ ZfdS )    N)iinfo)
ArrowDtype	DataFrameIndexSeries
to_numeric)Nignoreraisecoerce)paramsc                     | j         S Nparamrequests    ^/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/tools/test_to_numeric.pyerrorsr      
    =    TFc                     | j         S r   r   r   s    r   signedr      r   r   c                     | S r    xs    r   <lambda>r      s    ! r   identitystr)r   idsc                     | j         S r   r   r   s    r   	transformr"      r   r   l   N"2) l      Fx:^V c                     | j         S r   r   r   s    r   	large_valr$   !   r   r   c                     | j         S r   r   r   s    r   multiple_eltsr&   &   r   r   c                 $    t          | d          S )Nidxname)r   r   s    r   r   r   -   s    5''' r   c                 $    t          | d          S )Nserr)   )r   r   s    r   r   r   .   s    6!%((( r   c                 N    t          j        t          |           j                  S r   )nparrayr   valuesr   s    r   r   r   /   s    28E!HHO,, r   c                     | j         S r   r   r   s    r   transform_assert_equalr2   +   s     =r   zinput_kwargs,result_kwargsdtyper   integerr   downcastc                     t          g t                    }t          |fi | }t          g fi |}t          j        ||           d S Nr3   r   objectr   tmassert_series_equal)input_kwargsresult_kwargsr,   resultexpecteds        r   
test_emptyrB   6   sY     6
"
"
"C,,|,,Fb**M**H68,,,,,r   last_val7   c                     t          dd| g          }t          |          }t          g d          }t          j        ||           d S )N1-3.14   Q	rE   r   r   r<   r=   )rC   r,   r@   rA   s       r   test_seriesrM   F   sK    
#w)
*
*C__Fmmm$$H68,,,,,r   data)rJ            )      ?      @      @g      @)TFTTc                     t          | t          d          d          }t          |          }t          j        ||           d S )NABCDEFG)indexr*   )r   listr   r<   r=   )rN   r,   r@   s      r   test_series_numericrZ   O   sB     T&\\
6
6
6C__F63'''''r   zdata,msgrJ   rK   apple,Unable to parse string "apple" at position 2)orangerJ   rK   r\   z-Unable to parse string "orange" at position 0c                     t          |           }t          j        t          |          5  t	          |d           d d d            d S # 1 swxY w Y   d S )Nmatchr
   r   r   pytestraises
ValueErrorr   )rN   msgr,   s      r   
test_errorrh   _   s     ,,C	z	-	-	- ( (3w''''( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (s   A

AAzerrors,exp_datar	   rJ   rK   c                     t          g d          }t          ||           }t          |          }t          j        ||           d S )Nr[   rb   rL   )r   exp_datar,   r@   rA   s        r   test_ignore_errorrk   p   sP     $$$
%
%CF+++FhH68,,,,,r   z
errors,exp)r
   r]   TFr\   rR   g        c                 J   t          g d          }t          |t                    rGt          j        t
          |          5  t          ||            d d d            d S # 1 swxY w Y   d S t          ||           }t          |          }t          j        ||           d S )Nrl   r`   rb   	r   
isinstancer   rd   re   rf   r   r<   r=   )r   expr,   r@   rA   s        r   test_bool_handlingrq   {   s     '''
(
(C#s 1]:S111 	+ 	+s6****	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ C///#;;
vx00000   A!!A%(A%c                      g d} t          |           }t          j        g d          }t          j        ||           d S )N)rG   rH   rD   rI   r   r.   r/   r<   assert_numpy_array_equal)r,   resrA   s      r   	test_listrw      sD    


C
S//Cx&&HX.....r   zdata,arr_kwargsc                 r    t          |           }t          j        | fi |}t          j        ||           d S r   rt   )rN   
arr_kwargsr@   rA   s       r   test_list_numericrz      sA     Fx++
++H11111r   kwargsOc                     g d}t          |fi | }t          |          }t          |          }t          j        ||           d S )NrI   rL   )r{   rN   r,   r@   rA   s        r   test_numericr~      sO    ==D

 
 
 
 C__Fd||H68,,,,,r   columnsabc                 Z   t          dt          j        d          t          j        d          dgg dd          }t          ddt          j        dgg dd          }|                                }||                              t                    || <   t          j	        ||           d S )Ng333333?Q	@infinityz0.1)rR   g       @rS   rT   r   r   皙?)
r   decimalDecimalr.   infcopyapplyr   r<   assert_frame_equal)r   dfrA   df_copys       r   test_numeric_df_columnsr      s     
wt,,goj.I.I5Q%%%	
 	

 
B T2637>R>R>RSSTTHggiiGw'--j99GG'8,,,,,r   zdata,exp_datar   g?r   c                     t          d| i          }|d                             t                    |d<   t          d|i          }t          j        ||           d S )Nr   )r   r   r   r<   r   )rN   rj   r   rA   s       r   test_numeric_embedded_arr_likesr      sX     
C;		BgmmJ''BsG#x))H"h'''''r   c                      t          g d          } t          | d          }t          t          j        t          j        t          j        g          }t	          j        ||           d S )N)r   r   cr   rb   )r   r   r.   nanr<   r=   )r,   r@   rA   s      r   test_all_nanr      sX    

!
!CH---Frvrvrv.//H68,,,,,r   c                     t          g dg dd          }| d| ini }t          j        t          d          5  t	          |fi | d d d            d S # 1 swxY w Y   d S )NrI   )456r   r   z	1-d arrayr`   )r   rd   re   	TypeErrorr   )r   r   r{   s      r   test_type_checkr      s    	___==	>	>B#)#5h2F	y	4	4	4 ! !2     ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !s   AAAval)rJ   皙?i!N  c                 j    |r|  n| } t           ||                     t          |           k    sJ d S r   r   float)r   r   r"   s      r   test_scalarr      s?    
!3$$cCiinn%%s333333r   c                 l   |d|ini }|r|  n| } ||          }t          |t                    }|rI|dv rEd}t          j        t          |          5  t          |fi | d d d            d S # 1 swxY w Y   d S |dk    r|rt          |          n|}t          j        t          |fi ||           d S )Nr   Nr
   #Integer out of range. at position 0r`   r   )	ro   r   rd   re   rf   r   r   r<   assert_almost_equal)	r$   r   r"   r   r{   r   val_is_stringrg   rA   s	            r   test_really_large_scalarr      s2   #)#5h2F
-9**IC
)C..CsC((M D?223]:S111 	& 	&s%%f%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& #)H"4"4"45:::S
z#8888(CCCCCs   A..A25A2c                    |d|ini }|r|  n| } ||          }d}|g||gz  z   }t          |t                    }	|dk    }
|dv rN|	s|rJ|	rd}nd}t          j        t          |          5  t          |fi | d d d            d S # 1 swxY w Y   d S t          |fi |}|
r|	rt          |          n|}|g}|rF|
r'|                    t          j	                   t          }nG|                    |           t          }n*t          |t          t          f          rt          nt          }t          j        |t          j        ||                     d S )	Nr   stringr   r   r   z-Unable to parse string "string" at position 1r`   r9   )ro   r   rd   re   rf   r   r   appendr.   r   r;   intr<   r   r/   )r$   r   r"   r&   r   r{   r   	extra_eltarrr   coercingrg   r@   exp_valrA   	exp_dtypes                   r   test_really_large_in_arrr     s   #)#5h2F
-9**IC
)C..CI%-9+-
-CsC((M!H  m }  	B7CCAC]:S111 	& 	&s%%f%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& C**6**!)EmE%***#9 	O #'''!			***"		!+Gc5\!B!BNI
vrx	'J'J'JKKKKKs   ,BBBc                    |d|ini }t          |r|  n|           g}|r|                    d|            |dv rWt          |          }d| }t          j        t
          |          5  t          |fi | d d d            d S # 1 swxY w Y   d S t          |fi |}|dk    rd |D             }	t          }
n	|}	t          }
t          j
        |t          j        |	|
                     d S )	Nr   r   r   z"Integer out of range. at position r`   r   c                 ,    g | ]}t          |          S r   )r   ).0is     r   
<listcomp>z7test_really_large_in_arr_consistent.<locals>.<listcomp>C  s    ...Qa...r   r9   )r   insertr   rd   re   rf   r   r   r;   r<   r   r.   r/   )r$   r   r&   r   r{   r   rX   rg   r@   rA   r   s              r   #test_really_large_in_arr_consistentr   .  sq   
 $*#5h2FV2	zz33
4C !

1i     M"":5::]:S111 	& 	&s%%f%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& C**6**X..#...HIIHI
vrx	'J'J'JKKKKKs   )BBBzerrors,checker)r
   z+Unable to parse string "fail" at position 0c                     | dk    S )Nfailr   r   s    r   r   r   P  s
    Q&[ r   c                 *    t          j        |           S r   )r.   isnanr   s    r   r   r   Q  s    RXa[[ r   c                     d}t          |t                    rGt          j        t          |          5  t          ||            d d d            d S # 1 swxY w Y   d S  |t          ||                     sJ d S )Nr   r`   rb   )ro   r   rd   re   rf   r   )r   checkerscalars      r   test_scalar_failr   L  s     F'3 :]:W555 	. 	.vf----	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. 	. wz&8889999999s   AAArJ      rO   rO   c                 \    |\  }} ||           } t          |           } |||            d S r   r   )rN   r2   r"   assert_equalr@   s        r   test_numeric_dtypesr   ^  s>    4I|9T??DFLr   zdata,exp)rG   23int64r9   )z1.5z2.7z3.4)      ?g@g333333@c                 n    |\  }}t           ||                     } ||          } |||           d S r   r   )rN   rp   r2   r"   r   r@   rA   s          r   test_strr   g  sH     5I|		$((Fy~~HL"""""r   c                     |\  }}t          j        dd|           }t           ||                    } ||j                  } |||           d S )N20130101rO   )periodstz)pd
date_ranger   asi8)tz_naive_fixturer2   r"   r   r(   r@   rA   s          r   test_datetime_liker   v  sa    4I|
-
A2B
C
C
CC		#''Fy""HL"""""r   c                     | \  }}t          j        ddd          }t           ||                    } ||j                  } |||           d S )Nz1 daysrO   D)r   freq)r   timedelta_ranger   r   )r2   r"   r   r(   r@   rA   s         r   test_timedeltar     sa    4I|

Xqs
;
;
;C		#''Fy""HL"""""r   c                 F   |\  }}t          j        dddd          } ||          }t          |t                    s8| j                            t          j                            d                     t          |          } ||j
                  } |||           d S )Nz2011-01rO   M )r   r   r*   z)Missing PeriodDtype support in to_numeric)reason)r   period_rangero   r   node
add_markerrd   markxfailr   r   )r   r2   r"   r   r(   inpr@   rA   s           r   test_periodr     s    4I|
/)QSr
B
B
BC
)C..Cc5!! 
K%PQQ	
 	
 	
 __Fy""HL"""""r   zerrors,expected)r
   z!Invalid object type at position 0      $@r   r\   c                 2   t          ddgddg          }t          |t                    rGt          j        t
          |          5  t          ||            d d d            d S # 1 swxY w Y   d S t          ||           }t          j        ||           d S )Nr   r   rR   r\   r`   rb   )	r   ro   r   rd   re   r   r   r<   r=   )r   rA   r,   r@   s       r   test_non_hashabler     s     4)S'*
+
+C(C   1]9H555 	+ 	+s6****	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ C///
vx00000s   A$$A(+A(c                      g d} d}d}t          j        t          |          5  t          | |           d d d            d S # 1 swxY w Y   d S )NrG   r   rO   zunsigned-integerz#invalid downcasting method providedr`   r6   rd   re   rf   r   )rN   invalid_downcastrg   s      r   test_downcast_invalid_castr     s    ;;D)
/C	z	-	-	- 4 44"233334 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4   AA
Ac                      g d} d}d}t          j        t          |          5  t          | |           d d d            d S # 1 swxY w Y   d S )Nr   invalidzinvalid error value specifiedr`   rb   r   )rN   invalid_error_valuerg   s      r   test_errors_invalid_valuer     s    ;;D#
)C	z	-	-	- 5 54 344445 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5r   r   )z
1970-01-02z
1970-01-03z
1970-01-04zdatetime64[D]zkwargs,exp_dtyper6   r   unsignedUnsignedIntegerc                 z    t          | fi |}t          j        g d|          }t          j        ||           d S )Nr   r9   rt   )rN   r{   r   r@   rA   s        r   test_downcast_basicr     sJ    , ''''Fx			333H11111r   signed_downcastr   c                     t          j        t           j        d         d                   }t          j        g d|          }t	          | |          }t          j        ||           d S )NIntegerr   r   r9   r   )r.   r3   	typecodesr/   r   r<   ru   )rN   r   smallest_int_dtyperA   rv   s        r   test_signed_downcastr     sd     ",y"9!"<==x			);<<<H
TO
4
4
4CX.....r   c                      g d} t          j        | t                    }t          | dd          }t	          j        ||           d S )N)foor   rO   r9   r	   r   r5   )r.   r/   r;   r   r<   ru   rN   rA   rv   s      r   !test_ignore_downcast_invalid_datar    sN     ==DxF+++H
T(Z
@
@
@CX.....r   c                      g d} t          j        g dt           j                  }t          | d          }t	          j        ||           d S )N)z-1r   rO   )r   rO   r9   r   r   )r.   r/   r   r   r<   ru   r   s      r   $test_ignore_downcast_neg_to_unsignedr    sR     <<Dx


"(333H
TJ
/
/
/CX.....r   z7ignore:invalid value encountered in cast:RuntimeWarning)r4   r   r   zdata,expected)z1.1r   rO   )r   r   rO   )g     @i N  i  gR@iP  g     j@c                 R    t          | |          }t          j        ||           d S Nr   )r   r<   ru   )rN   rA   r6   rv   s       r   )test_ignore_downcast_cannot_convert_floatr    s/    " TH
-
-
-CX.....r   zdowncast,expected_dtypec                     g d}t          j        g d|          }t          ||           }t          j        ||           d S )N)256    )   r
  r  r9   r   )r.   r/   r   r<   ru   )r6   expected_dtyperN   rA   rv   s        r   test_downcast_not8bitr    sR     Dx~>>>H
TH
-
-
-CX.....r   zdtype,downcast,min_maxint8int16int32uint8uint16uint32uint64c                 \    t          t          |          |          }|j        | k    sJ d S r  )r   r   r3   )r3   r6   min_maxseriess       r   test_downcast_limitsr  $  s5    0 w(;;;F<5      r   c                      t          dt          j        t          j                  j        t          j        gt          j                  } t          | d          }| j        |j        k    sJ d S )Ng     pAr9   r   r   )r   r.   finfofloat64maxr   r   r3   )r  r@   s     r    test_downcast_float64_to_float32r  @  s[    Z"*!5!5!926B"*UUUF111F<6<''''''r   zser,expectedl            c                 R    t          | d          }t          j        ||           d S )Nr   r   )r   r<   r=   )r,   rA   r@   s      r   test_downcast_uint64r   H  s/     j111F68,,,,,r   )   ,  r   NaN     p;6$ r!  r"  r$  12345678901234567890
1234567890ITEMl   
>V3&Z
 iIc                     t          t          |           d          }t          |t                    }t          j        ||           d S )Nr   rb   r9   )r   r   r   r<   r=   )rN   rj   r@   rA   s       r   test_coerce_uint64_conflictr*  Z  sG    $ tX666Fhe,,,H68,,,,,r   )r
   Unable to parse stringc                 ,   t          g d          }t          |t                    rGt          j        t
          |          5  t          ||            d d d            d S # 1 swxY w Y   d S t          ||           }t          j        ||           d S )Nr%  r`   rb   rn   )r   rp   r,   r@   s       r   test_non_coerce_uint64_conflictr-  q  s     ???
@
@C#s ,]:S111 	+ 	+s6****	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ C///
vs+++++rr   dc1)r4   r   r   dc2c                 p    t          j        t          g |           t          g |          d           d S )Nr   F)check_dtype)r<   ru   r   )r.  r/  s     r   test_downcast_emptyr2    sK    
 2$$$2$$$     r   c                      t          dd          } t          j        |           sJ t          ddt          j        g          }t          t          g d          d          } t          j        | |           d S )Nr  r   rb       @   )3264r  )r   r.   r   r   r   r<   r=   )r@   r,   s     r   ,test_failure_to_convert_uint64_string_to_NaNr8    sz    222F8F
"b"&!
"
"C55566xHHHF63'''''r   strrep).z243.164z245.968z249.585z259.745z265.742z272.567z279.196z280.366z275.034z271.351z272.889z270.627z280.828z290.383z308.153z319.945z336.0z344.09z351.385z356.178z359.82z361.03z367.701z380.812z387.98z391.749z391.171z385.97z385.345z386.121z390.996z399.734z413.073z421.532z430.221z437.092z439.746z446.01z451.191z460.463z469.779z472.025z479.49z474.864z467.54z471.978c                 N    t          |           }|t          |           k    sJ d S r   r   )r9  r@   s     r   test_precision_float_conversionr;    s/    j FU6]]""""""r   zvalues, expected)rG   r   NInt64)rG   r   rO   )rG   r         @)rJ   r   r=  Float64)rG   Nr=  r=  )rG   r   z3.5c                 p    t          | |          }t          |          }t          j        ||           d S r8   rL   )r0   nullable_string_dtyperA   sr@   s        r   $test_to_numeric_from_nullable_stringrB    s;     	v2333A]]F68,,,,,r   c                     ddg}t          ||           }t          |d          }t          t          j        dgd          }t	          j        ||           d S )Nr   rG   r9   r   rb   rJ   r<  )r   r   r   NAr<   r=   )r@  r0   r,   r@   rA   s        r   +test_to_numeric_from_nullable_string_coercerE    sa    3ZF
4
5
5
5CH---Fruaj000H68,,,,,r   c                     ddg}t          ||           }|                                }t          |d          }t          j        ||           d S )Nr   rG   r9   r	   rb   )r   r   r   r<   r=   )r@  r0   r,   rA   r@   s        r   +test_to_numeric_from_nullable_string_ignorerG    sV    3ZF
4
5
5
5CxxzzHH---F68,,,,,r   z+data, input_dtype, downcast, expected_dtypeInt8r   i  Int16Float32iUInt64UInt8r  Int32c                     t          j        | |          }t          ||          }t          j        | |          }t          j        ||           d S )Nr9   r   )r   r/   r   r<   assert_extension_array_equal)rN   input_dtyper6   r  r   r@   rA   s          r   test_downcast_nullable_numericrQ    sW    : (4{
+
+
+Ch///FxN333H#FH55555r   c                  &   t          j        ddt           j        gd          } t          | d          }t          j        ddt           j        gd          }t	          j        ||           t           j        | d<   t	          j        ||           d S )NrJ   r   r<  r9   r4   r   rH  )r   r/   rD  r   r<   rO  )r   r@   rA   s      r   %test_downcast_nullable_mask_is_copiedrS    s     (Aq"%=
0
0
0Ci000FxAruV444H#FH555UCF#FH55555r   c                  \    t          d          } t          j        d          }| |k    sJ d S )Nz1.7e+308gv;w0B)r   r.   r  )r@   rA   s     r   #test_to_numeric_scientific_notationrU  *  s5    
##Fz'""HXr   g  PeBg      Gc                 r    t          | g          }t          |d          }t          j        ||           d S )Nr   r   rL   )r   rA   r@   s      r   4test_to_numeric_large_float_not_downcast_to_float_32rW  1  s<     se}}H7333F68,,,,,r   z
val, dtype)rJ   r<  r   r>  Tbooleanc                     t          | gt                    }t          |d          }t          | g|          }t          j        ||           d S )Nr9   numpy_nullabledtype_backendr:   )r   r3   r,   r@   rA   s        r   test_to_numeric_dtype_backendr`  9  sX    
 #f
%
%
%C+;<<<Fse5)))H68,,,,,r   )rX  rY  rZ  )rJ   int64[pyarrow])r   float64[pyarrow])Tbool[pyarrow]c                     d|v rt          j        d           d}nd}t          | d gt                    }t	          ||          }t          | t
          j        g|          }t          j        ||           d S )Npyarrowr]  r9   r^  	rd   importorskipr   r;   r   r   rD  r<   r=   )r   r3   r_  r,   r@   rA   s         r    test_to_numeric_dtype_backend_narh  D  s     EI&&&!(
#tF
+
+
+C=999FsBEl%000H68,,,,,r   zval, dtype, downcast))rJ   rH  r4   )r   rJ  r   )rJ   rH  r   )rJ   int8[pyarrow]r4   )r   zfloat[pyarrow]r   )rJ   ri  r   c                     d|v rt          j        d           d}nd}t          | d gt                    }t	          |||          }t          | t
          j        g|          }t          j        ||           d S )Nre  r]  r9   r_  r6   rf  )r   r3   r6   r_  r,   r@   rA   s          r   )test_to_numeric_dtype_backend_downcastingrl  \  s     EI&&&!(
#tF
+
+
+C=8LLLFsBEl%000H68,,,,,r   zsmaller, dtype_backendr]  zuint8[pyarrow]re  c                     |dk    rt          j        d           t          dt          j        gd          }t          ||d          }t          dt          j        g|           }t          j        ||           d S )Nre  rJ   rK  r9   r   rk  rd   rg  r   r   rD  r   r<   r=   )smallerr_  r,   r@   rA   s        r   .test_to_numeric_dtype_backend_downcasting_uintrp  t  s}     	!!I&&&
!RU8
,
,
,C=:NNNFq"%j000H68,,,,,r   )r<  rK  r>  r[  ra  zuint64[pyarrow]rb  rc  c                     d| v rt          j        d           t          dt          j        g|           }t          |d          }t          dt          j        g|           }t          j        ||           d S )Nre  rJ   r9   r]  r^  rn  )r3   r,   r@   rA   s       r   .test_to_numeric_dtype_backend_already_nullablerr    s|     EI&&&
!RU5
)
)
)C+;<<<Fq"%j...H68,,,,,r   c                    t          g d          }|                                }t          j        t          d          5  t          ||            d d d            n# 1 swxY w Y   t          || d          }t          j        ||           t          || d          }| dk    rd	}nd
}t          t          j	        t          j	        t          j	        g|          }t          j        ||           d S )N)r   r   r   r+  r`   r^  r	   )r_  r   r   re  zdouble[pyarrow]r>  r9   )
r   r   rd   re   rf   r   r<   r=   r.   r   )r_  r,   rA   r@   r3   s        r   #test_to_numeric_dtype_backend_errorrt    s*   

 
 CxxzzH	z)A	B	B	B 5 53m44445 5 5 5 5 5 5 5 5 5 5 5 5 5 5 =JJJF68,,,=JJJF	!!!rvrvrv.e<<<H68,,,,,s   AA#&A#c                      t          g d          } d}t          j        t          |          5  t	          | d           d d d            d S # 1 swxY w Y   d S )Nr   zPdtype_backend numpy is invalid, only 'numpy_nullable' and 'pyarrow' are allowed.r`   numpyr^  rc   )r,   rg   s     r   test_invalid_dtype_backendrw    s    


C	!  
z	-	-	- / /3g..../ / / / / / / / / / / / / / / / / /s   AAAc                  Z   t          j        d          } t          t          d          t	          |                                                     }t          |dd          }t          g dt	          |                                                     }t          j	        ||           d S )Nre  12xr9   r   )r   r_  )rJ   r   N)
rd   rg  r   rY   r   r   r   r   r<   r=   )par,   r@   rA   s       r   test_coerce_pyarrow_backendr{    s    		Y	'	'B
eJryy{{$;$;
<
<
<CHIFFFFlll*RXXZZ*@*@AAAH68,,,,,r   )gr   rv  r.   r   rd   pandasr   r   r   r   r   r   pandas._testing_testingr<   fixturer   r   r   r"   r$   r&   assert_index_equalr=   ru   r2   r   parametrizer   r  rB   rM   rZ   rh   r   rk   rq   rw   rz   r~   r   r   r/   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r3   float32charr   r   r   r  r  filterwarningsr  r  r  r  r  minr  r  r  r  r  r  r  r   r*  r-  r2  r8  r;  rB  rE  rG  rD  rQ  rS  rU  rW  r`  rh  rl  rp  rr  rt  rw  r{  r   r   r   <module>r     sp                                      :::;;;  <; e}%%%  &% S)
E/BCCC  DC ,.CDEEE  FE e}%%%  &% 	'	')>?	(	("*@A	,	,b.IJ      	grx !)	4	4w6HI - - - c1X..- - /.- 
!!!	 ( ( ( 			LM)));	
	 	( (	 	( #6#6#67(QrvDV9WX - - - A	)))*	Cbf%&	 
1 
1 
1/ / / 	*+			r"	"	"	"B'	 2 2 2 WcNB#788- - 98-  		c
	 - - -"  god##S)?7?3+?+?EC[#s#	
 "(OGOD))3/
0
0#	6$c8JK	 	( (	 	(- - -! ! ! 004 4 104
D D D"$L $L $LNL L L< @	(()	(() : : : )))c261bf-E!FGG  HG 	("(999G<<<=			 9 9: # # ## # ## # ## # # 6	66D!9c73445	66263/001 	1 	1 	14 4 45 5 5 
		;;;?SSS   
RX
d	RX&
g	 4 4 9:
j	!828BL9J,KA,N#O#OP 2 2  (2 *Y,ABB
		;;;?SSS / /  CB// / // / / UVV%F%F%FGG	BJ???@===BHAAA  	
 / /  HG WV/ Xrx0:ry2IJ / /	 / 	UU27^^/rw1CDE	)eeBHoo155??3FGH	)eeBHoo155??3FGH	)eeBHoo155??3FGH	*uuRX2EE"(OO4GHI	:bi 0 0 4eeBI6F6F6JKL	:bi 0 0 4eeBI6F6F6JKL	:bi 0 0 4eeBI6F6F6JKL	)eeBGnn0%%..2Dq2HIJ	)eeBHoo155??3F3JKL	)eeBHoo155??3F3JKL	)eeBGnn014eeBHoo6IJK	)eeBHoo1A5uuRX7JKL	)eeBHoo1A5uuRX7JKL	:bh 3UU28__5H15LMN	:bi 0 0 4eeBI6F6F6JQ6NOP	:bi 0 0 4eeBI6F6F6JQ6NOP# ,! !- ,!( ( (  FA*+,,FA*+29===	
 - - -  877#rvrv';<	

 ;::!:rv6	
	 - - - 	66HHHIIJ+ , , ,  @ @ @AA @ @ @AA  BA BA( ( ( / / /2 2f# #g2 2f# 			661a.@@@A	&&':::;	yyy8889	&&I>>>?			661bfc"2)DDDE			FF;;;i@@@A
 
- -
 
-- - -- - - 1
Q)V,
ruy)V4
sY	95
RUWi0
sWi1
QIv.
"(28


 1
$a	('9gF
Q(F+
sY&1
sY)4
RUWh/
tgx1
"(29


!A
%q	)8XxH
Q*g.
sY
G4
sY
I6
RUWj'2
tgz73
b7J0
QGY/
S9gy1
QGY/
S9gy1/ 86 69 86
6 
6 
6   x 899- - :9- EEE - - -   
 

- 
-
 

-   
 

- 
-
 

-  #3Y"?@ - -	 - 	 	 	 - - -- - -&/ / /- - - - -r   