o
    Ô­j¥  ã                   @   sD  d dl Zd dlZd dlmZ d dlmZ eƒ Zejj	Z
ejjZdd„ Zejedd�ZdZd	d
„ Zej eƒ ¡Zdd„ Zeƒ Zeƒ ZejefksIJ ‚ejejksQJ ‚eedd�Zeed›de› d�ƒ eedd�Zeed›de› d�ƒ ejjZejjZ ejdd�dd„ ƒZ!ee!dde j"ƒƒ ejdd�dd„ ƒZ#e#ddde j"ƒ dS )é    N)ÚPCG64)Útimeitc                 C   sð   t  | ¡}t| d d ƒD ]h}dt|ƒ d }dt|ƒ d }|| ||  }|dks/|dkrOdt|ƒ d }dt|ƒ d }|| ||  }|dks/|dks/t  dt  |¡ | ¡}|| |d| < d| d | k ru|| |d| d < q|S )Né   é   g       @g      ð?g        g       À)ÚnpÚemptyÚrangeÚnext_dÚsqrtÚlog)ÚnÚstateÚoutÚiÚx1Úx2Úr2Úf© r   úc/var/www/html/CropPilot/venv/lib/python3.10/site-packages/numpy/random/_examples/numba/extending.pyÚnormals   s    
ý€r   T)Únopythoni'  c                   C   s
   t ttƒS )N)Únormalsjr   Ú
state_addrr   r   r   r   Ú	numbacall    s   
r   c                   C   s   t jtd�S )N)Úsize)ÚrgÚnormalr   r   r   r   r   Ú	numpycall%   s   r   iè  )Únumberz.2fz
 secs for z% PCG64 (Numba/PCG64) gaussian randomsz% PCG64 (NumPy/PCG64) gaussian randomsc                 C   sx   ||   }}||d? O }||d? O }||d? O }||d? O }||d? O }t |ƒ|@ }||kr8t |ƒ|@ }||ks.| | S )Nr   r   é   é   é   )Únext_u32)ÚlbÚubr   ÚmaskÚdeltaÚvalr   r   r   Úbounded_uint8   s   ÿr)   iC  iCŠ$ c                 C   s2   t j|t jd�}t|ƒD ]
}t| ||ƒ||< qd S )N)Údtype)r   r   Úuint32r   r)   )r$   r%   r   r   r   r   r   r   r   Úbounded_uintsK   s   ÿr,   i€–˜ )$Únumpyr   ÚnumbaÚnbÚnumpy.randomr   r   Úbit_genÚcffiÚnext_doubler	   Ústate_addressr   r   Újitr   r   r   ÚrandomÚ	Generatorr   r   Úr1r   ÚshapeÚt1ÚprintÚt2ÚctypesÚnext_uint32r#   r   Úctypes_stater)   Úvaluer,   r   r   r   r   Ú<module>   s:    



