
    Mh                     r    S SK rS SKrS SKJr  S SKJrJrJrJ	r	J
r
Jr  S SKJr  S rS rS r " S S5      rg)	    N)NpyDatetimeUnit)OutOfBoundsDatetimeOutOfBoundsTimedeltaastype_overflowsafeis_unitlesspy_get_unit_from_dtypepy_td64_to_tdstructc                     [         R                  " S5      n [        U 5      (       a   e[         R                  " S5      n [        U 5      (       d   e[         R                  " S5      n [        U 5      (       a   e[         R                  " S5      n [        U 5      (       d   eSn[        R                  " [
        US9   [        [         R                  " [         R                  5      5        S S S 5        Sn[        R                  " [        US9   [        S5        S S S 5        g ! , (       d  f       N>= f! , (       d  f       g = f)	NM8[ns]
datetime64m8[ns]timedelta64z'dtype must be datetime64 or timedelta64matchz#Argument 'dtype' has incorrect typefoo)npdtyper   pytestraises
ValueErrorint64	TypeError)r   msgs     V/var/www/html/env/lib/python3.13/site-packages/pandas/tests/tslibs/test_np_datetime.pytest_is_unitlessr      s    HHXE5!!!!HH\"EuHHXE5!!!!HH]#Eu
3C	z	-BHHRXX&' 
. 0C	y	,E 
-	,	 
.	- 
-	,s   <.D"D3"
D03
Ec                  h   [        [        R                  " S5      5      [        R                  R
                  :X  d   e[        [        R                  " S5      5      [        R                  R
                  :X  d   e[        [        R                  " S5      5      [        R                  R
                  :X  d   e[        [        R                  " S5      5      [        R                  R
                  :X  d   e[        [        R                  " S5      5      [        R                  R
                  :X  d   e[        [        R                  " S5      5      [        R                  R
                  :X  d   e[        [        R                  " S5      5      [        R                  R
                  :X  d   e[        [        R                  " S5      5      [        R                  R
                  :X  d   e[        [        R                  " S	5      5      [        R                  R
                  :X  d   e[        [        R                  " S
5      5      [        R                  R
                  :X  d   e[        [        R                  " S5      5      [        R                  R
                  :X  d   e[        [        R                  " S5      5      [        R                   R
                  :X  d   e[        [        R                  " S5      5      [        R"                  R
                  :X  d   e[        [        R                  " S5      5      [        R                  R
                  :X  d   e[        [        R                  " S5      5      [        R                  R
                  :X  d   e[        [        R                  " S5      5      [        R                  R
                  :X  d   e[        [        R                  " S5      5      [        R                  R
                  :X  d   e[        [        R                  " S5      5      [        R                  R
                  :X  d   e[        [        R                  " S5      5      [        R                  R
                  :X  d   e[        [        R                  " S5      5      [        R                  R
                  :X  d   e[        [        R                  " S5      5      [        R                  R
                  :X  d   e[        [        R                  " S5      5      [        R                  R
                  :X  d   e[        [        R                  " S5      5      [        R                  R
                  :X  d   e[        [        R                  " S5      5      [        R                  R
                  :X  d   e[        [        R                  " S5      5      [        R                   R
                  :X  d   e[        [        R                  " S5      5      [        R"                  R
                  :X  d   eg )NzM8[Y]zM8[M]zM8[W]M8[D]zM8[h]zM8[m]zM8[s]zM8[ms]M8[us]r   zM8[ps]zM8[fs]zM8[as]zm8[Y]zm8[M]zm8[W]m8[D]zm8[h]zm8[m]zm8[s]zm8[ms]m8[us]r   zm8[ps]zm8[fs]zm8[as])r   r   r   r   NPY_FR_YvalueNPY_FR_MNPY_FR_WNPY_FR_DNPY_FR_hNPY_FR_mNPY_FR_s	NPY_FR_ms	NPY_FR_us	NPY_FR_ns	NPY_FR_ps	NPY_FR_fs	NPY_FR_as     r   test_get_unit_from_dtyper1   '   s   !"((7"348P8P8V8VVVV!"((7"348P8P8V8VVVV!"((7"348P8P8V8VVVV!"((7"348P8P8V8VVVV!"((7"348P8P8V8VVVV!"((7"348P8P8V8VVVV!"((7"348P8P8V8VVVV!"((8"459R9R9X9XXXX!"((8"459R9R9X9XXXX!"((8"459R9R9X9XXXX!"((8"459R9R9X9XXXX!"((8"459R9R9X9XXXX!"((8"459R9R9X9XXXX ""((7"348P8P8V8VVVV!"((7"348P8P8V8VVVV!"((7"348P8P8V8VVVV!"((7"348P8P8V8VVVV!"((7"348P8P8V8VVVV!"((7"348P8P8V8VVVV!"((7"348P8P8V8VVVV!"((8"459R9R9X9XXXX!"((8"459R9R9X9XXXX!"((8"459R9R9X9XXXX!"((8"459R9R9X9XXXX!"((8"459R9R9X9XXXX!"((8"459R9R9X9XXXXr0   c                     Sn [        U [        R                  R                  5      nSSSSSSSSSSS.
nX:X  d   e[        U [        R                  R                  5      nSS	S
SSSSSSSS.
nX4:X  d   e[        U [        R
                  R                  5      nSS	SSSSSSSSS.
nXV:X  d   e[        U [        R                  R                  5      nSSSSSSSSSSS.
nXx:X  d   eg )Nl   *L r      i  i|     i )
dayshrsminsecmsusnssecondsmicrosecondsnanoseconds      "   i0  iJ	    %      i2  i i3    
   i) )r	   r   r+   r"   r*   r)   r(   )	valres1exp1res2exp2res3exp3res4exp4s	            r   test_td64_to_tdstructrP   I   s-   
CsO$=$=$C$CDDD <<sO$=$=$C$CDDD <<sO$=$=$C$CDDD << sO$<$<$B$BCDD <<r0   c                   2    \ rS rSrS rS rS rS rS rSr	g)	TestAstypeOverflowSafe   c                 T   [         R                  " S5      n[         R                  " S5      nSn[        R                  " [
        US9   [        XSS9  S S S 5        [        R                  " [
        US9   [        XSS9  S S S 5        g ! , (       d  f       N;= f! , (       d  f       g = f)N   r   ]astype_overflowsafe values.dtype and dtype must be either both-datetime64 or both-timedelta64r   TcopyF)r   aranger   r   r   r   r   selfarrr   r   s       r   test_pass_non_dt64_array/TestAstypeOverflowSafe.test_pass_non_dt64_array   sz    iil"2 	 ]]9C06 1 ]]9C07 10 10 10s   B4B
B
B'c                 p   [         R                  " SSS9R                  S5      n[         R                  " S5      nSn[        R
                  " [        US9   [        XSS	9  S S S 5        [        R
                  " [        US9   [        XS
S	9  S S S 5        g ! , (       d  f       N;= f! , (       d  f       g = f)NrU   i8r   r   r   rV   r   TrW   F)r   rY   viewr   r   r   r   r   rZ   s       r   test_pass_non_dt64_dtype/TestAstypeOverflowSafe.test_pass_non_dt64_dtype   s    ii&++G4"2 	 ]]9C06 1 ]]9C07 10 10 10s   BB'
B$'
B5c                 (   [         R                  " S5      n[         R                  " SS5      nU[         R                  " SSS9-   nUR	                  U5      nUR	                  UR                  5      nXE:H  R                  5       (       a   eSn[        R                  " [        US9   [        X15        S S S 5        [         R                  " S	5      n[        X75      nUR	                  U5      n	[        R                  " X5        g ! , (       d  f       NW= f)
Nr   
2262-04-05DrF   r   ra   z"Out of bounds nanosecond timestampr   r   )r   r   r   rY   astypeallr   r   r   r   tmassert_numpy_array_equal
r[   r   dtr\   wrong	roundtripr   dtype2resultexpecteds
             r   test_astype_overflowsafe_dt644TestAstypeOverflowSafe.test_astype_overflowsafe_dt64   s    "]]<-299Rw// 

5!LL+	&++----2]].c:+ ; (#$S1::f%
##F5 ;:s   &D
Dc                 J   [         R                  " S5      n[         R                  " SS5      nU[         R                  " SSS9-   nUR	                  S5      nUR                  U5      nUR                  UR                  5      nXE:H  R                  5       (       a   eSn[        R                  " [        US9   [        X15        S S S 5        [         R                  " S	5      n[        X75      nUR                  U5      n	[        R                  " X5        g ! , (       d  f       NW= f)
Nr   rf   rg   rF   r   ra   z@Cannot convert 106752 days to timedelta64\[ns\] without overflowr   r    )r   r   r   rY   rb   rh   ri   r   r   r   r   rj   rk   rl   s
             r   test_astype_overflowsafe_td644TestAstypeOverflowSafe.test_astype_overflowsafe_td64   s    "]]<-299Rw//hhw 

5!LL+	&++----Q]]/s;+ < (#$S1::f%
##F5 <;s   7D
D"c                 >   [         R                  " SS/SS9n[         R                  " S5      nSn[        R                  " [
        US9   [        XSS	9  S S S 5        [        XS
S	9nUR                  U5      n[        R                  " XE5        g ! , (       d  f       N@= f)Ni$i  r   ra   r   z'Cannot losslessly cast '-1500 ns' to usr   F)round_okT)
r   arrayr   r   r   r   r   rh   rj   rk   )r[   r\   r   r   rq   rr   s         r   *test_astype_overflowsafe_disallow_roundingATestAstypeOverflowSafe.test_astype_overflowsafe_disallow_rounding   sy    hht}H5"7]]:S1U; 2 %S$?::e$
##F5 21s   	B
Br/   N)
__name__
__module____qualname____firstlineno__r]   rc   rs   rv   r{   __static_attributes__r/   r0   r   rR   rR      s    886*6,
6r0   rR   )numpyr   r   pandas._libs.tslibs.dtypesr   pandas._libs.tslibs.np_datetimer   r   r   r   r   r	   pandas._testing_testingrj   r   r1   rP   rR   r/   r0   r   <module>r      s;      6  ,YD>BT6 T6r0   