+
    :i                     
   R t ^ RItR^ R^R^R^R^R^R^R	^R
^	R^
R^R^R^R^/t]P                  ! R4      P                  ]P                  4      tR tR t	^ R^R^R^R^R^R^R ^	R!^
R"^R#^R$/t
R tR tR tR tR tR tR tR# )%z
Helper functions for np.timedelta64 and np.datetime64.
For now, multiples-of-units (for example timedeltas expressed in tens
of seconds) are not supported.
NYMWDhmsmsusnspsfsas natc                D    \         V ,          ^8  \         V,          ^8  8H  # )z:
Whether the *src* and *dest* units are of the same kind.
DATETIME_UNITSsrcdests   &&Y/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/np/npdatetime_helpers.py	same_kindr   (   s#     3!#)=)ABB    c                     \         V ,          p \         V,          pW8X  d   R # V ^8X  d   R # W8  d   R# V^8X  d   R# V ^8:  d
   V^8  d   R# R # )TFr   r   s   &&r   can_cast_timedelta_unitsr   /   sO    
 
C$D
{
by
zrz
axD1Hr   c                    V ^8X  d   ^# T p^pW!8  d    \         V,          w  r$Y4,          pK   W!8X  d   V# R#   \         d     R# i ; i)z
Return an integer multiplier allowing to convert from *big_unit_code*
to *small_unit_code*.
None is returned if the conversion is not possible through a
simple integer multiplication.
N)_factorsKeyError)big_unit_codesmall_unit_codecfactormults   &&   r   _get_conversion_multiplierr$   U   sZ     AF

	qkGA 	  		s   8 AAc                F    \        \        V ,          \        V,          4      # )z`
Return an integer multiplier allowing to convert from timedeltas
of *src_unit* to *dest_unit*.
)r$   r   )src_unit	dest_units   &&r   get_timedelta_conversion_factorr(   o   s"    
 &nX&>&4Y&?A Ar   c                   \         V ,          p\         V,          pV^8X  g   V^8X  d   V ^^3# V^8  d   V^8  d   \        RV : RV: R24      h^^rTV^ 8X  d   V^8  d   RpRp^pM0V^8X  d   RpRp^pM"V^8X  d   V^8  d   RpRp^pMV^8X  d   RpRp^pW28  d#   \        W#4      pVf	   Q W#34       hWV,          V3# \        W24      pVf	   Q W#34       hWWV,          3# )	a  
Compute a possible conversion for combining *datetime_unit* and
*timedelta_unit* (presumably for adding or subtracting).
Return (result unit, integer datetime multiplier, integer timedelta
multiplier). RuntimeError is raised if the combination is impossible.
zcannot combine datetime64(z) and timedelta64()i  i: i
  i  i@  )r   RuntimeErrorr$   )datetime_unittimedelta_unitdt_unit_codetd_unit_code	dt_factor	td_factorr"   s   &&     r   !get_datetime_timedelta_conversionr2   x   s0    "-0L!.1Lr\R/a""aLA-+^= > 	>ay q1&IILQ&IIL		1&I ILQ&I$IL#+LG!?L#??!619<<+LG!?L#??!);;;r   c                    \         V ,          p\         V,          pV^8X  d   V# V^8X  d   V # V^8  d
   V^8  d   R# W#8  d   V # V# )z
Return the unit result of combining *datetime_unit* with *timedelta_unit*
(e.g. by adding or subtracting).  None is returned if combining
those units is forbidden.
Nr   )r,   r-   r.   r/   s   &&  r    combine_datetime_timedelta_unitsr4      sX     "-0L!.1Lr		aLA-"r   c                n    \         V ,          p\         V,          pV^8X  d   V# V^8X  d   V # W28  d   V# V # )z1
Get the best (i.e. finer-grained) of two units.
r   )unit_aunit_babs   &&  r   get_best_unitr:      s?     	vAvABwBwuMr   c                     R # N r8   r9   s   &&r   datetime_minimumr?          r   c                     R # r<   r=   r>   s   &&r   datetime_maximumrB      r@   r   )      )      )      )   <   )rF   rJ   )     )	   rL   )
   rL   )   rL   )rD   rL   )   rL   )__doc__numpynpr   timedelta64astypeint64NATr   r   r   r$   r(   r2   r4   r:   r?   rB   r=   r   r   <module>rX      s     !!""""$ 	nnU""288,C0 wvwwwyyz


4A1<h(		r   