
    ~Od	                         d dl mZ d dlmZ d dlmZmZ d dlmZ d dl	m
Z
 d dlmZ eeeeedZdd	Zdefd
ZdefdZdS )   RandomState)Philox)PCG64	PCG64DXSM)SFC64	Generator)MT19937)r   r   r   r   r   r   c                     | t           v rt           |          }nt          t          |           dz              |            S )a  
    Pickling helper function that returns a bit generator object

    Parameters
    ----------
    bit_generator_name : str
        String containing the name of the BitGenerator

    Returns
    -------
    bit_generator : BitGenerator
        BitGenerator instance
    z$ is not a known BitGenerator module.)BitGenerators
ValueErrorstr)bit_generator_namebit_generators     4lib/python3.11/site-packages/numpy/random/_pickle.py__bit_generator_ctorr      sV     ]**%&89/00 4J J K K 	K =??    c                 2    t           ||                     S )a  
    Pickling helper function that returns a Generator object

    Parameters
    ----------
    bit_generator_name : str
        String containing the core BitGenerator's name
    bit_generator_ctor : callable, optional
        Callable function that takes bit_generator_name as its only argument
        and returns an instantized bit generator.

    Returns
    -------
    rg : Generator
        Generator using the named core BitGenerator
    r	   r   bit_generator_ctors     r   __generator_ctorr   (   s    $ ''(:;;<<<r   c                 2    t           ||                     S )a  
    Pickling helper function that returns a legacy RandomState-like object

    Parameters
    ----------
    bit_generator_name : str
        String containing the core BitGenerator's name
    bit_generator_ctor : callable, optional
        Callable function that takes bit_generator_name as its only argument
        and returns an instantized bit generator.

    Returns
    -------
    rs : RandomState
        Legacy RandomState using the named core BitGenerator
    r   r   s     r   __randomstate_ctorr   =   s    & ))*<==>>>r   N)mtrandr   _philoxr   _pcg64r   r   _sfc64r   
_generatorr
   _mt19937r   r   r   r   r    r   r   <module>r"      s                $ $ $ $ $ $ $ $       ! ! ! ! ! !      #'!	    . )2(<= = = =* +4*>? ? ? ? ? ?r   