
    wg                         d dl Zd dlZd dlmZ d dlmZmZmZm	Z	 d dl
mZmZ d Zd Z G d de      Zed	k(  r ej"                          yy)
    N)cuda)float32float64int32void)unittestCUDATestCasec                 @    t        j                  |      \  | d<   |d<   y Nr   )mathfrexp)aryxaryexpargs      m/home/mcse/projects/flask/flask-venv/lib/python3.12/site-packages/numba/cuda/tests/cudapy/test_frexp_ldexp.pysimple_frexpr      s    CDGVAY    c                 6    t        j                  ||      | d<   y r   )r   ldexp)r   r   exps      r   simple_ldexpr      s    jjc"DGr   c                   0    e Zd Zd Zd Zd Zd Zd Zd Zy)TestCudaFrexpLdexpc           	          t        j                  t        |d d  t        d d  |            t              }d}t        j                  d|      }t        j                  dt
        j                        } |d   |||       t
        j                  j                  | |d             | j                  |d       t
        j                  } |d   |||       t
        j                  j                  | |t
        j                               | j                  |d       t
        j                  } |d   |||       t
        j                  j                  | |t
        j                               | j                  |d       y )No!	@   dtyper   r   o!?   r   )r   jitr   r   r   npzerostestingassert_array_equalassertEqualinfnan)selfnptypenbtypecompiledr   r   r   s          r   template_test_frexpz&TestCudaFrexpLdexp.template_test_frexp   s   >488DE!Hf=>|Lxx(!288,tVS)


%%dF8,<=#fftVS)


%%dF266N;#fftVS)


%%dF266N;#r   c                 F    t        j                  t        |d d  |t                    t              }d}d}t        j                  d|      } |d   |||       t
        j                  j                  | |d             t
        j                  } |d   |||       t
        j                  j                  | |t
        j                               t
        j                  } |d   |||       t
        j                  j                  | |t
        j                               y )Nr    r!   r   r   r   r   )r   r"   r   r   r   r#   r$   r%   r&   r(   r)   )r*   r+   r,   r-   r   r   r   s          r   template_test_ldexpz&TestCudaFrexpLdexp.template_test_ldexp$   s    ;488DFE:;LIxx(tS#&


%%dF6N;fftS#&


%%dF266N;fftS#&


%%dF266N;r   c                 L    | j                  t        j                  t               y N)r.   r#   r   r*   s    r   test_frexp_f4z TestCudaFrexpLdexp.test_frexp_f44         W5r   c                 L    | j                  t        j                  t               y r2   )r0   r#   r   r3   s    r   test_ldexp_f4z TestCudaFrexpLdexp.test_ldexp_f47   r5   r   c                 L    | j                  t        j                  t               y r2   )r.   r#   r   r3   s    r   test_frexp_f8z TestCudaFrexpLdexp.test_frexp_f8:   r5   r   c                 L    | j                  t        j                  t               y r2   )r0   r#   r   r3   s    r   test_ldexp_f8z TestCudaFrexpLdexp.test_ldexp_f8=   r5   r   N)	__name__
__module____qualname__r.   r0   r4   r7   r9   r;    r   r   r   r      s     $&< 6666r   r   __main__)numpyr#   r   numbar   numba.typesr   r   r   r   numba.cuda.testingr   r	   r   r   r   r<   mainr?   r   r   <module>rF      sH       5 5 5)#.6 .6b zHMMO r   