§
    ƒÛg	  ã                   óú  — d Z ddlZddlmZmZ ddlmZ  eej        ej        f¦  «        d„ ¦   «         Zed„ ¦   «         Z	 ed¬¦  «        d	„ ¦   «         Z
 ed¬¦  «        d
„ ¦   «         Zd„ ZdZddlmZ d„ Z ed¬¦  «        d„ ¦   «         Z ed¬¦  «        d„ ¦   «         ZddlZddlmZ  ed¬¦  «        d„ ¦   «         Zd„ Zd„ ZdZdZ ed¬¦  «        d„ ¦   «         Zd„ Z ed¬¦  «        Z ed¬¦  «        ZdS )z_
Separate module with function samples for serialization tests,
to avoid issues with __main__.
é    N)ÚjitÚgenerated_jit)Útypesc                 ó   — | |z   S ©N© ©ÚaÚbs     úT/granary/edev/quantum/lib/python3.11/site-packages/numba/tests/serialize_usecases.pyÚadd_with_sigr      ó   € àˆq‰5€Ló    c                 ó   — | |z   S r   r   r	   s     r   Úadd_without_sigr      r   r   T©Únopythonc                 ó   — | |z   S r   r   r	   s     r   Úadd_nopythonr      r   r   c                 ó(   — t          ¦   «          | |z   S r   )Úobjectr	   s     r   Úadd_nopython_failr      s   € å
�H„H€HØˆq‰5€Lr   c                 ó>   ‡ — t          d¬¦  «        ˆ fd„¦   «         }|S )NTr   c                 ó   •— ‰| z   |z   S r   r   )r   Úcr
   s     €r   Úinnerzclosure.<locals>.inner   s   ø€ à�1‰u�q‰yÐr   ©r   )r
   r   s   ` r   Úclosurer      s7   ø€ Ý�$ÐÑÔðð ð ð ñ Ôðà€Lr   g      @)Úsqrtc                 ó6   ‡ — t          di |¤Žˆ fd„¦   «         }|S )Nc                 óˆ   •— t          t          t          dz   ¦  «        }t          j        ‰| ¦  «        t	          |¦  «        z   S )Né   )ÚmaxÚKÚmathÚhypotr   )ÚyÚkÚxs     €r   r   z#closure_with_globals.<locals>.inner(   s5   ø€ õ ••1�q‘5‰MŒMˆõ Œz˜!˜QÑÔ¥$ q¡'¤'Ñ)Ð)r   r   r   )r)   Újit_argsr   s   `  r   Úclosure_with_globalsr+   '   s7   ø€ Ý€_€_ˆ8€_€_ð*ð *ð *ð *ñ „_ð*ð €Lr   c                 ó,   — t          j        | |¦  «        S r   ©r%   r&   ©r)   r'   s     r   Úother_functionr/   1   s   € åŒ:�a˜ÑÔÐr   )Úforceobjc                 ó   — t           | z  S r   )r$   ©r)   s    r   Úget_global_objmoder3   5   s   € åˆq‰5€Lr   c                 óx   — t          j        d¦  «         t          j        | ¦  «        t          j        ¦   «         fS )Né*   )ÚnprandÚseedÚnpÚcosÚrandomr2   s    r   Úget_renamed_moduler;   <   s(   € å
„K��O„O€OÝŒ6�!‰9Œ9•f”m‘o”oÐ%Ð%r   c                 ó>   ‡ — t          d¬¦  «        ˆ fd„¦   «         }|S )NTr   c                 ó*   •— t          ‰| ¦  «        |z   S r   )r/   )r'   Úzr)   s     €r   r   z-closure_calling_other_function.<locals>.innerC   s   ø€ å˜a Ñ#Ô# aÑ'Ð'r   r   )r)   r   s   ` r   Úclosure_calling_other_functionr?   B   s7   ø€ Ý�$ÐÑÔð(ð (ð (ð (ñ Ôð(à€Lr   c                 óx   ‡ ‡— t          d¬¦  «        ˆ fd„¦   «         Št          d¬¦  «        ˆˆ fd„¦   «         }|S )NTr   c                 ó.   •— t          j        ‰| ¦  «        S r   r-   )r'   r)   s    €r   Úother_innerz2closure_calling_other_closure.<locals>.other_innerI   s   ø€ åŒz˜!˜QÑÔÐr   c                 ó    •—  ‰| ¦  «        ‰z   S r   r   )r'   rB   r)   s    €€r   r   z,closure_calling_other_closure.<locals>.innerM   s   ø€ àˆ{˜1‰~Œ~ Ñ!Ð!r   r   )r)   r   rB   s   ` @r   Úclosure_calling_other_closurerD   H   sn   øø€ Ý�$ÐÑÔð ð  ð  ð  ñ Ôð õ 	�$ÐÑÔð"ð "ð "ð "ð "ñ Ôð"à€Lr   é   r5   c                 óR   ‡— dŠt          | t          j        ¦  «        rd„ }nˆfd„}|S )Nr"   c                 ó   — | |z   t           z   S r   )Úk1r.   s     r   Úimplzgenerated_add.<locals>.impl\   s   € Ø�q‘5�2‘:Ðr   c                 ó$   •— | |z   t           z   ‰z   S r   )Úk2)r)   r'   Úk3s     €r   rI   zgenerated_add.<locals>.impl_   s   ø€ Ø�q‘5�2‘: ‘?Ð"r   )Ú
isinstancer   ÚComplex)r)   r'   rI   rL   s      @r   Úgenerated_addrO   X   sN   ø€ à	
€BÝ�!•U”]Ñ#Ô#ð #ð	ð 	ð 	ð 	ð	#ð 	#ð 	#ð 	#ð 	#à€Kr   c                  ó„   — d}i }t          |                     ¦   «         |¦  «          t          di | ¤Ž|d         ¦  «        S )Nz…
        def dyn_func(x):
            res = 0
            for i in range(x):
                res += x
            return res
        Údyn_funcr   )ÚexecÚstripr   )r*   ÚcodeÚnss      r   Ú_get_dyn_funcrV   e   sF   € ð€Dð 
€BÝˆ�Š‰Œ�rÑÔÐØ�3ˆ?ˆ?�ˆ?ˆ?˜2˜jœ>Ñ*Ô*Ð*r   ) Ú__doc__r%   Únumbar   r   Ú
numba.corer   Úint32r   r   r   r   r   r$   r   r+   r/   r3   Únumpyr8   Únumpy.randomr:   r6   r;   r?   rD   rH   rK   rO   rV   rQ   Údyn_func_objmoder   r   r   ú<module>r^      s=  ððð ð
 €€€à $Ð $Ð $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð ð €€e„k�5”;ÐÑ Ô ðð ñ !Ô ðð ðð ñ „ðð €ˆdÐÑÔðð ñ Ôðð €ˆdÐÑÔðð ñ Ôððð ð ð €à Ð Ð Ð Ð Ð ðð ð ð €ˆdÐÑÔðð ñ Ôðð €ˆdÐÑÔðð ñ Ôðð Ð Ð Ð Ø Ð Ð Ð Ð Ð à€ˆdÐÑÔð&ð &ñ Ôð&ð
ð ð ðð ð ð €Ø€à€˜ÐÑÔðð ñ Ôðð
+ð 
+ð 
+ð ˆ= $Ð'Ñ'Ô'€Ø �=¨$Ð/Ñ/Ô/Ð Ð Ð r   