
    M/Phe                     "    d Z ddlmZmZ ddZdS )a  Parallel utility function using joblib

copied from https://github.com/mne-tools/mne-python

Author: Alexandre Gramfort <gramfort@nmr.mgh.harvard.edu>
License: Simplified BSD

changes for statsmodels (Josef Perktold)
- try import from joblib directly, (does not import all of sklearn)

    )ModuleUnavailableWarningmodule_unavailable_doc   c                    	 	 ddl m}m} n# t          $ r ddlm}m} Y nw xY w |||          } ||           }|dk    rd	 ddl}|                                }nJ# t          t          f$ r6 ddl}|	                    t          j        d          t                     d}Y nw xY wnL# t          $ r? ddl}|	                    t          j        d          t                     d}| }t          }Y nw xY w|||fS )	a  Return parallel instance with delayed function

    Util function to use joblib only if available

    Parameters
    ----------
    func : callable
        A function
    n_jobs : int
        Number of jobs to run in parallel
    verbose : int
        Verbosity level

    Returns
    -------
    parallel : instance of joblib.Parallel or list
        The parallel object
    my_func : callable
        func if not parallel or delayed(func)
    n_jobs : int
        Number of jobs >= 0

    Examples
    --------
    >>> from math import sqrt
    >>> from statsmodels.tools.parallel import parallel_func
    >>> parallel, p_func, n_jobs = parallel_func(sqrt, n_jobs=-1, verbose=0)
    >>> print(n_jobs)
    >>> parallel(p_func(i**2) for i in range(10))
    r   )Paralleldelayed)verboseNmultiprocessing   joblib)r   r   r   ImportErrorsklearn.externals.joblibr   	cpu_countNotImplementedErrorwarningswarnr   formatr   list)	funcn_jobsr	   r   r   parallelmy_funcr   r   s	            Z/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/statsmodels/tools/parallel.pyparallel_funcr      s   >	C000000000 	C 	C 	CBBBBBBBBBB	C 8FG444'$--R<<&&&&(2244!45   4;<MNN68 8 8	    ,3H==.	0 	0 	0 Wf$$sM    B' !B' !!B' A B' AB# B' "B##B' 'AC0/C0N)r   )__doc__statsmodels.tools.sm_exceptionsr   r   r        r   <module>r       s]   
 
E E E E E E E E9% 9% 9% 9% 9% 9%r   