Ë
    x‰KgW
  ã                   óž   — 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                  «        yy)é    N)Úskip_on_cudasimÚCUDATestCase)ÚcudaÚfloat64c                 ó   — d| d<   y )Né   r   © )Úxs    úm/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/numba/cuda/tests/cudapy/test_optimization.pyÚkernel_funcr      s   € Ø€A€a‚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                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestOptimizationc                 ó
  — t         d d d…   f} t        j                  |«      t        «      }|j	                  «       }t
        D ]2  }| j                  |¬«      5  | j                  |||   «       d d d «       Œ4 y # 1 sw Y   Œ?xY w)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   sn   € ä‘s˜s‰|ˆoˆØ”—‘˜#“œ{Ó+ˆØ× Ñ Ó"ˆç&ˆHØ—‘ xÕ0Ø× Ñ  ¨3¨s©8Ô4÷ 1Ð0ñ 'ß0Ð0ús   ÁA9Á9B	c                 ó  — t         d d d…   f} t        j                  |d¬«      t        «      }|j	                  «       }t
        D ]2  }| j                  |¬«      5  | j                  |||   «       d d d «       Œ4 y # 1 sw Y   Œ?xY w)Nr   F©Úoptr   )r   r   r   r   r   r   r   ÚassertInr   s        r   Útest_eager_nooptz!TestOptimization.test_eager_noopt!   so   € ä‘s˜s‰|ˆoˆØ)”—‘˜# 5Ô)¬+Ó6ˆØ× Ñ Ó"ˆç&ˆHØ—‘ xÕ0Ø—‘˜h¨¨C©Ô1÷ 1Ð0ñ 'ß0Ð0ús   ÁA;Á;B	c                 ó„  — t        j                  t        «      }t        j                  dt        j
                  ¬«      } |d   |«       t        t        |j                  «       j                  «       «      «      d   }t        D ]/  }| j                  |¬«      5  | j                  ||«       d d d «       Œ1 y # 1 sw Y   Œ<xY w)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   € ä—‘œ+Ó&ˆÜH‰HQœbŸj™jÔ)ˆØˆˆt‰QŒô ”4˜×*Ñ*Ó,×2Ñ2Ó4Ó5Ó6°qÑ9ˆç&ˆHØ—‘ xÕ0Ø× Ñ  ¨3Ô/÷ 1Ð0ñ 'ß0Ð0ús   ÂB6Â6B?	c                 ó’  —  t        j                  d¬«      t        «      }t        j                  dt        j
                  ¬«      } |d   |«       t        t        |j                  «       j                  «       «      «      d   }t        D ]/  }| j                  |¬«      5  | j                  ||«       d d d «       Œ1 y # 1 sw Y   Œ<xY w)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ˆÜH‰HQœbŸj™jÔ)ˆØˆˆt‰QŒô ”4˜×*Ñ*Ó,×2Ñ2Ó4Ó5Ó6°qÑ9ˆç&ˆHØ—‘ xÕ0Ø—‘˜h¨Ô,÷ 1Ð0ñ 'ß0Ð0ús   ÂB=Â=C	c                 ó®   — t         t         t         f} t        j                  |d¬«      t        «      }|j	                  |«      }| j                  d|«       y )NT)Údeviceú
fma.rn.f64)r   r   r   r   r   r&   ©r   r   r6   r!   s       r   Útest_device_optz TestOptimization.test_device_optE   sC   € äœ¤Ð)ˆØ+”—‘˜# dÔ+¬KÓ8ˆØ× Ñ  Ó%ˆØ‰l CÕ(r   c                 ó°   — t         t         t         f} t        j                  |dd¬«      t        «      }|j	                  |«      }| j                  d|«       y )NTF)r6   r%   r7   )r   r   r   r   r   r   r8   s       r   Útest_device_nooptz"TestOptimization.test_device_nooptL   sG   € äœ¤Ð)ˆØ6”—‘˜# d°Ô6´{ÓCˆØ× Ñ  Ó%ˆà×Ñ˜ sÕ+r   N)	Ú__name__Ú
__module__Ú__qualname__r"   r'   r2   r4   r9   r;   r	   r   r   r   r      s    „ ò5ò2ò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ô<,|ó <,ó 5ð<,ð~ ˆzÒØ€H‡MM…Oð r   