§
    J/PhW
  ã                   ó²   — d dl Zd dlmZmZ d dlmZmZ d dlZd„ Z	d„ Z
dZ ed¦  «         G d„ d	e¦  «        ¦   «         Zed
k    r ej        ¦   «          dS dS )é    N)Úskip_on_cudasimÚCUDATestCase)ÚcudaÚfloat64c                 ó   — d| d<   d S )Né   r   © )Úxs    úi/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/numba/cuda/tests/cudapy/test_optimization.pyÚkernel_funcr      s   € Ø€A€aD€D€Dó    c                 ó   — | |z  |z   S )Nr	   )r
   ÚyÚzs      r   Údevice_funcr      s   € Øˆq‰51‰9Ðr   )Ú__local_depot0zcall.unizst.param.b64z Simulator does not optimize codec                   ó2   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestOptimizationc                 ó<  — t           d d d…         f} t          j        |¦  «        t          ¦  «        }|                     ¦   «         }t
          D ]L}|                      |¬¦  «        5  |                      |||         ¦  «         d d d ¦  «         n# 1 swxY w Y   ŒMd S )Nr   ©Úfragment)r   r   Újitr   Úinspect_asmÚremoved_by_optÚsubTestÚassertNotIn©ÚselfÚsigÚkernelÚptxr   s        r   Útest_eager_optzTestOptimization.test_eager_opt   sØ   € åss˜sŒ|ˆoˆØ•”˜#‘”{Ñ+Ô+ˆØ× Ò Ñ"Ô"ˆå&ð 	5ð 	5ˆHØ—’ xÑ0Ô0ð 5ð 5Ø× Ò  ¨3¨s¬8Ñ4Ô4Ð4ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5øð	5ð 	5s   Á'BÂB	ÂB	c                 ó@  — t           d d d…         f} t          j        |d¬¦  «        t          ¦  «        }|                     ¦   «         }t
          D ]L}|                      |¬¦  «        5  |                      |||         ¦  «         d d d ¦  «         n# 1 swxY w Y   ŒMd S )Nr   F©Úoptr   )r   r   r   r   r   r   r   ÚassertInr   s        r   Útest_eager_nooptz!TestOptimization.test_eager_noopt!   sÝ   € åss˜sŒ|ˆoˆØ)•”˜# 5Ð)Ñ)Ô)­+Ñ6Ô6ˆØ× Ò Ñ"Ô"ˆå&ð 	2ð 	2ˆHØ—’ xÑ0Ô0ð 2ð 2Ø—’˜h¨¨C¬Ñ1Ô1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2øð	2ð 	2s   Á)BÂB	ÂB	c                 óÂ  — t          j        t          ¦  «        }t          j        dt          j        ¬¦  «        } |d         |¦  «         t          t          |                     ¦   «          	                    ¦   «         ¦  «        ¦  «        d         }t          D ]F}|                      |¬¦  «        5  |                      ||¦  «         d d d ¦  «         n# 1 swxY w Y   ŒGd S )Nr   ©Údtype©r   r   r   )r   r   r   ÚnpÚzerosr   ÚnextÚiterr   Úitemsr   r   r   ©r   r    r
   r!   r   s        r   Útest_lazy_optzTestOptimization.test_lazy_opt+   s  € å”+Ñ&Ô&ˆÝŒHQbœjÐ)Ñ)Ô)ˆØˆˆtŒQ‰Œˆõ •4˜×*Ò*Ñ,Ô,×2Ò2Ñ4Ô4Ñ5Ô5Ñ6Ô6°qÔ9ˆå&ð 	0ð 	0ˆHØ—’ xÑ0Ô0ð 0ð 0Ø× Ò  ¨3Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0øð	0ð 	0s   Â0CÃC	ÃC	c                 óÖ  —  t          j        d¬¦  «        t          ¦  «        }t          j        dt          j        ¬¦  «        } |d         |¦  «         t          t          |                     ¦   «          	                    ¦   «         ¦  «        ¦  «        d         }t          D ]F}|                      |¬¦  «        5  |                      ||¦  «         d d d ¦  «         n# 1 swxY w Y   ŒGd S )NFr$   r   r)   r+   r   )r   r   r   r,   r-   r   r.   r/   r   r0   r   r   r&   r1   s        r   Útest_lazy_nooptz TestOptimization.test_lazy_noopt8   s  € à$•”˜eÐ$Ñ$Ô$¥[Ñ1Ô1ˆÝŒHQbœjÐ)Ñ)Ô)ˆØˆˆtŒQ‰Œˆõ •4˜×*Ò*Ñ,Ô,×2Ò2Ñ4Ô4Ñ5Ô5Ñ6Ô6°qÔ9ˆå&ð 	-ð 	-ˆHØ—’ xÑ0Ô0ð -ð -Ø—’˜h¨Ñ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -øð	-ð 	-s   Â:CÃC!	Ã$C!	c                 óÌ   — t           t           t           f} t          j        |d¬¦  «        t          ¦  «        }|                     |¦  «        }|                      d|¦  «         d S )NT)Údeviceú
fma.rn.f64)r   r   r   r   r   r&   ©r   r   r6   r!   s       r   Útest_device_optz TestOptimization.test_device_optE   sY   € å¥Ð)ˆØ+•”˜# dÐ+Ñ+Ô+­KÑ8Ô8ˆØ× Ò  Ñ%Ô%ˆØŠl CÑ(Ô(Ð(Ð(Ð(r   c                 óÎ   — t           t           t           f} t          j        |dd¬¦  «        t          ¦  «        }|                     |¦  «        }|                      d|¦  «         d S )NTF)r6   r%   r7   )r   r   r   r   r   r   r8   s       r   Útest_device_nooptz"TestOptimization.test_device_nooptL   s]   € å¥Ð)ˆØ6•”˜# d°Ð6Ñ6Ô6µ{ÑCÔCˆØ× Ò  Ñ%Ô%ˆà×Ò˜ sÑ+Ô+Ð+Ð+Ð+r   N)	Ú__name__Ú
__module__Ú__qualname__r"   r'   r2   r4   r9   r;   r	   r   r   r   r      sn   € € € € € ð5ð 5ð 5ð2ð 2ð 2ð0ð 0ð 0ð-ð -ð -ð)ð )ð )ð,ð ,ð ,ð ,ð ,r   r   Ú__main__)Únumpyr,   Únumba.cuda.testingr   r   Únumbar   r   Úunittestr   r   r   r   r<   Úmainr	   r   r   ú<module>rE      sÙ   ðØ Ð Ð Ð à <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ø Ð Ð Ð Ð Ð Ð Ð Ø €€€ðð ð ðð ð ð A€ð €Ð3Ñ4Ô4ð<,ð <,ð <,ð <,ð <,|ñ <,ô <,ñ 5Ô4ð<,ð~ ˆzÒÐØ€H„MO„O€O€O€Oð Ðr   