§
    ö” j
  ã                  ó„   — U d Z ddlmZ ddlZddlmZmZ ddlZddl	m
Z
 ddlmZ daded	<   dd„Zddd„Z	 ddd„Zdd„ZdS ) z%Common utilities for Numba operationsé    )ÚannotationsN)ÚTYPE_CHECKINGÚCallable)Úimport_optional_dependency)ÚNumbaUtilErrorFÚboolÚGLOBAL_USE_NUMBAÚengineú
str | NoneÚreturnc                ó$   — | dk    p
| du ot           S )z%Signal whether to use numba routines.ÚnumbaN)r	   )r
   s    úkC:\Users\Terasoftware\OneDrive\Desktop\faahhh\fyndo\fyndo\venv\Lib\site-packages\pandas/core/util/numba_.pyÚmaybe_use_numbar      s   € àWÒÐE ¨4 Ð!DÕ4DÐEó    ÚenableÚNonec                ó,   — | rt          d¦  «         | ad S )Nr   )r   r	   )r   s    r   Úset_use_numbar      s$   € àð ,Ý" 7Ñ+Ô+Ð+ØÐÐÐr   Úengine_kwargsúdict[str, bool] | NoneÚkwargsúdict | Noneúdict[str, bool]c                óÀ   — | €i } |                       dd¦  «        }|r|rt          d¦  «        ‚|                       dd¦  «        }|                       dd¦  «        }|||dœS )	a¶  
    Return arguments to pass to numba.JIT, falling back on pandas default JIT settings.

    Parameters
    ----------
    engine_kwargs : dict, default None
        user passed keyword arguments for numba.JIT
    kwargs : dict, default None
        user passed keyword arguments to pass into the JITed function

    Returns
    -------
    dict[str, bool]
        nopython, nogil, parallel

    Raises
    ------
    NumbaUtilError
    NÚnopythonTz\numba does not support kwargs with nopython=True: https://github.com/numba/numba/issues/2916ÚnogilFÚparallel)r   r   r   )Úgetr   )r   r   r   r   r   s        r   Úget_jit_argumentsr       sˆ   € ð, ð Øˆà× Ò  ¨TÑ2Ô2€HØð 
(ð 
Ýð9ñ
ô 
ð 	
ð ×Ò˜g uÑ-Ô-€EØ× Ò  ¨UÑ3Ô3€HØ ¨5¸hÐGÐGÐGr   Úfuncr   c                ó  — t           rddl}nt          d¦  «        }|j                             | ¦  «        r| }nTt          t          | j        d¦  «        | u st          | t          j
        ¦  «        r| }n|j                             | ¦  «        }|S )a  
    If user function is not jitted already, mark the user's function
    as jitable.

    Parameters
    ----------
    func : function
        user defined function

    Returns
    -------
    function
        Numba JITed function, or function marked as JITable by numba
    r   Nr   F)r   r   r   Ú	extendingÚ	is_jittedÚgetattrÚnpÚ__name__Ú
isinstanceÚtypesÚBuiltinFunctionTypeÚregister_jitable)r!   r   Ú
numba_funcs      r   Újit_user_functionr-   B   s›   € õ ð 4Øˆˆˆˆå*¨7Ñ3Ô3ˆà„× Ò  Ñ&Ô&ð 
<àˆ
ˆ
Ý	•T”] EÑ	*Ô	*¨dÐ	2ð <µjØeÔ'ñ7ô 7ð <ð
 ˆ
ˆ
à”_×5Ò5°dÑ;Ô;ˆ
àÐr   )r
   r   r   r   )F)r   r   r   r   )NN)r   r   r   r   r   r   )r!   r   r   r   )Ú__doc__Ú
__future__r   r)   Útypingr   r   Únumpyr&   Úpandas.compat._optionalr   Úpandas.errorsr   r	   Ú__annotations__r   r   r    r-   © r   r   ú<module>r6      s
  ðØ +Ð +Ð +Ø "Ð "Ð "Ð "Ð "Ð "à €€€ðð ð ð ð ð ð ð ð
 Ð Ð Ð à >Ð >Ð >Ð >Ð >Ð >Ø (Ð (Ð (Ð (Ð (Ð (àÐ Ð Ð Ð Ñ ðFð Fð Fð Fð
ð ð ð ð ð IMð!Hð !Hð !Hð !Hð !HðH ð  ð  ð  ð  ð  r   