§
    ƒÛgßk  ã                   óž  — d dl Zd dlmZmZmZmZ d dlmZ d dl	m
Z
mZmZmZmZmZmZ d dlZd„ Zd„ Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,d „ Z-d!„ Z.d"„ Z/d#„ Z0d$„ Z1d%„ Z2d&„ Z3d'„ Z4d(„ Z5d)„ Z6d*„ Z7d+„ Z8d,„ Z9d-„ Z: G d.„ d/e¦  «        Z;e<d0k    r ej=        ¦   «          dS dS )1é    N)Úskip_unless_cc_53ÚunittestÚCUDATestCaseÚskip_on_cudasim)Únumpy_support)ÚcudaÚfloat32Úfloat64Úint32Ú	vectorizeÚvoidÚint64c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S ©Né   )r   ÚgridÚmathÚacos©ÚAÚBÚis      úW/granary/edev/quantum/lib/python3.11/site-packages/numba/cuda/tests/cudapy/test_math.pyÚ	math_acosr      ó(   € ÝŒ	�!‰Œ€AÝŒ9�Q�q”T‰?Œ?€A€a�D€D€Dó    c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Úasinr   s      r   Ú	math_asinr      r   r   c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Úatanr   s      r   Ú	math_atanr"      r   r   c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Úacoshr   s      r   Ú
math_acoshr%      ó*   € ÝŒ	�!‰Œ€AÝŒ:�a˜”dÑÔ€A€a�D€D€Dr   c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Úasinhr   s      r   Ú
math_asinhr)      r&   r   c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Úatanhr   s      r   Ú
math_atanhr,   $   r&   r   c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Úcosr   s      r   Úmath_cosr/   )   ó(   € ÝŒ	�!‰Œ€AÝŒ8�A�a”D‰>Œ>€A€a�D€D€Dr   c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Úsinr   s      r   Úmath_sinr3   .   r0   r   c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Útanr   s      r   Úmath_tanr6   3   r0   r   c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Úcoshr   s      r   Ú	math_coshr9   8   r   r   c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Úsinhr   s      r   Ú	math_sinhr<   =   r   r   c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Útanhr   s      r   Ú	math_tanhr?   B   r   r   c                 óv   — t          j        d¦  «        }t          j        | |         ||         ¦  «        ||<   d S r   )r   r   r   Úatan2©r   r   ÚCr   s       r   Ú
math_atan2rD   G   ó0   € ÝŒ	�!‰Œ€AÝŒ:�a˜”d˜A˜aœDÑ!Ô!€A€a�D€D€Dr   c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Úexpr   s      r   Úmath_exprH   L   r0   r   c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Úerfr   s      r   Úmath_erfrK   Q   r0   r   c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Úerfcr   s      r   Ú	math_erfcrN   V   r   r   c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Úexpm1r   s      r   Ú
math_expm1rQ   [   r&   r   c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Úfabsr   s      r   Ú	math_fabsrT   `   r   r   c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Úgammar   s      r   Ú
math_gammarW   e   r&   r   c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Úlgammar   s      r   Úmath_lgammarZ   j   s*   € ÝŒ	�!‰Œ€AÝŒ;�q˜”tÑÔ€A€a�D€D€Dr   c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Úlogr   s      r   Úmath_logr]   o   r0   r   c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Úlog2r   s      r   Ú	math_log2r`   t   r   r   c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Úlog10r   s      r   Ú
math_log10rc   y   r&   r   c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Úlog1pr   s      r   Ú
math_log1prf   ~   r&   r   c                 óv   — t          j        d¦  «        }t          j        | |         ||         ¦  «        ||<   d S r   )r   r   r   Ú	remainderrB   s       r   Úmath_remainderri   ƒ   s0   € ÝŒ	�!‰Œ€AÝŒ>˜!˜Aœ$  !¤Ñ%Ô%€A€a�D€D€Dr   c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Úsqrtr   s      r   Ú	math_sqrtrl   ˆ   r   r   c                 óv   — t          j        d¦  «        }t          j        | |         ||         ¦  «        ||<   d S r   )r   r   r   ÚhypotrB   s       r   Ú
math_hypotro   �   rE   r   c                 óv   — t          j        d¦  «        }t          j        | |         ||         ¦  «        ||<   d S r   )r   r   r   ÚpowrB   s       r   Úmath_powrr   ’   s0   € ÝŒ	�!‰Œ€AÝŒ8�A�a”D˜!˜Aœ$ÑÔ€A€a�D€D€Dr   c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Úceilr   s      r   Ú	math_ceilru   —   r   r   c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Úfloorr   s      r   Ú
math_floorrx   œ   r&   r   c                 óv   — t          j        d¦  «        }t          j        | |         ||         ¦  «        ||<   d S r   )r   r   r   ÚcopysignrB   s       r   Úmath_copysignr{   ¡   s0   € ÝŒ	�!‰Œ€AÝŒ=˜˜1œ˜q œtÑ$Ô$€A€a�D€D€Dr   c                 óv   — t          j        d¦  «        }t          j        | |         ||         ¦  «        ||<   d S r   )r   r   r   ÚfmodrB   s       r   Ú	math_fmodr~   ¦   s0   € ÝŒ	�!‰Œ€AÝŒ9�Q�q”T˜1˜Qœ4Ñ Ô €A€a�D€D€Dr   c                 ót   — t          j        d¦  «        }t          j        | |         ¦  «        \  ||<   ||<   d S r   )r   r   r   ÚmodfrB   s       r   Ú	math_modfr�   «   s0   € ÝŒ	�!‰Œ€AÝ”˜1˜Qœ4‘”�J€A€a�Dˆ!ˆA‰$ˆ$ˆ$r   c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Úisnanr   s      r   Ú
math_isnanr„   °   r&   r   c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Úisinfr   s      r   Ú
math_isinfr‡   µ   r&   r   c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Úisfiniter   s      r   Úmath_isfiniterŠ   º   s*   € ÝŒ	�!‰Œ€AÝŒ=˜˜1œÑÔ€A€a�D€D€Dr   c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Údegreesr   s      r   Úmath_degreesr�   ¿   ó*   € ÝŒ	�!‰Œ€AÝŒ<˜˜!œÑÔ€A€a�D€D€Dr   c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Úradiansr   s      r   Úmath_radiansr‘   Ä   rŽ   r   c                 óh   — t          j        d¦  «        }t          j        | |         ¦  «        ||<   d S r   )r   r   r   Útruncr   s      r   Ú
math_truncr”   É   r&   r   c                 óV   — t          j        d¦  «        }| |         ||         z  ||<   d S r   ©r   r   rB   s       r   Úmath_pow_binopr—   Î   s(   € ÝŒ	�!‰Œ€AØˆQŒ4�1�Q”4‰<€A€a�D€D€Dr   c                 óV   — t          j        d¦  «        }| |         ||         z  ||<   d S r   r–   rB   s       r   Úmath_mod_binopr™   Ó   s(   € ÝŒ	�!‰Œ€AØˆQŒ4�!�A”$‰;€A€a�D€D€Dr   c                   ó4  — e Zd ZdJd„ZdJd„ZdJd„ZdKd„ZdKd„Zd	„ Zd
„ Z	d„ Z
d„ ZdJd„ZdJd„ZdLd„ZdLd„Zd„ ZdJd„ZdJd„ZdKd„ZdKd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zed„ ¦   «         Z ed ¦  «        ed!„ ¦   «         ¦   «         Z d"„ Z!d#„ Z"d$„ Z#d%„ Z$d&„ Z%d'„ Z&d(„ Z'd)„ Z(d*„ Z)d+„ Z*d,„ Z+d-„ Z,d.„ Z-d/„ Z.d0„ Z/d1„ Z0d2„ Z1d3„ Z2 ed4¦  «        d5„ ¦   «         Z3d6„ Z4d7„ Z5d8„ Z6d9„ Z7d:„ Z8d;„ Z9d<„ Z:d=„ Z; ed>¦  «        d?„ ¦   «         Z<d@„ Z=dA„ Z>dB„ Z?dC„ Z@dD„ ZAdE„ ZBdF„ ZCdG„ ZDdH„ ZEdIS )MÚTestCudaMathr   r   c                 ób   — |                       ||t          j        t          j        ||¦  «         d S ©N)Úunary_templateÚnpÚfloat16©ÚselfÚfuncÚnpfuncÚstartÚstops        r   Úunary_template_float16z#TestCudaMath.unary_template_float16Ù   ó*   € Ø×Ò˜D &­"¬*µb´jÀ%ÈÑNÔNÐNÐNÐNr   c                 ób   — |                       ||t          j        t          j        ||¦  «         d S r�   ©rž   rŸ   r	   r¡   s        r   Úunary_template_float32z#TestCudaMath.unary_template_float32Ü   r¨   r   c                 ób   — |                       ||t          j        t          j        ||¦  «         d S r�   ©rž   rŸ   r
   r¡   s        r   Úunary_template_float64z#TestCudaMath.unary_template_float64ß   r¨   r   é2   c                 ób   — |                       ||t          j        t          j        ||¦  «         d S r�   )rž   rŸ   r   r
   r¡   s        r   Úunary_template_int64z!TestCudaMath.unary_template_int64â   s*   € Ø×Ò˜D &­"¬(µB´JÀÀtÑLÔLÐLÐLÐLr   c                 ób   — |                       ||t          j        t          j        ||¦  «         d S r�   )rž   rŸ   Úuint64r
   r¡   s        r   Úunary_template_uint64z"TestCudaMath.unary_template_uint64å   s*   € Ø×Ò˜D &­"¬)µR´ZÀÈÑMÔMÐMÐMÐMr   c                 ó*  — d}t          j        |||¦  «                             |¦  «        }t          j        |¦  «                             |¦  «        }	t	          j        |¦  «        d d d…         }
t	          j        |¦  «        d d d…         } t          j        |
|f¦  «        |¦  «        } |d|f         ||	¦  «         |t           j        k    rd}n|t           j	        k    rd}nd}t           j
                              ||¦  «        |	|¬¦  «         d S )Nr¯   r   g‚vIhÂ%<=ç�íµ ÷Æ°>gü©ñÒMbP?©Úrtol)rŸ   ÚlinspaceÚastypeÚ
empty_liker   Ú
from_dtyper   Újitr
   r	   ÚtestingÚassert_allclose)r¢   r£   r¤   ÚnpdtypeÚ	nprestyper¥   r¦   Únelemr   r   ÚarytypeÚrestypeÚcfuncr¸   s                 r   rž   zTestCudaMath.unary_templateè   s  € ØˆÝŒK˜˜t UÑ+Ô+×2Ò2°7Ñ;Ô;ˆÝŒM˜!ÑÔ×#Ò# IÑ.Ô.ˆÝÔ*¨7Ñ3Ô3°C°C°a°CÔ8ˆÝÔ*¨9Ñ5Ô5°c°c¸°cÔ:ˆØ,•”˜' 7Ð+Ñ,Ô,¨TÑ2Ô2ˆØˆˆa�ˆhŒ˜˜1ÑÔÐð •b”jÒ Ð ØˆDˆDØ�œ
Ò"Ð"ØˆDˆDàˆDÝ
Œ
×"Ò" 6 6¨!¡9¤9¨a°dÐ"Ñ;Ô;Ð;Ð;Ð;r   c           
      ór  — t          j        |¦  «        }|j        dz  }t          j        d||j        dd|j        t           j        t           j        g|¬¦  «        }t          j        |t           j        ¬¦  «        } t          j
        |d d d…         t          d d d…         f¦  «        |¦  «        }	 |	d|j        f         ||¦  «         t           j                             | ||¦  «        ¦  «          |	d|j        f         | |¦  «         t           j                             | || ¦  «        ¦  «         d S )Né   g        g      à?g      ð?©Údtyper   )rŸ   ÚfinfoÚtinyÚarrayÚmaxÚinfÚnanr»   r   r   r½   Úsizer¾   Úassert_array_equal)
r¢   r£   r¤   rÀ   ÚnpmtypeÚfiÚdenormr   r   rÅ   s
             r   Úunary_bool_special_valuesz&TestCudaMath.unary_bool_special_valuesý   s  € ÝŒX�gÑÔˆØ”˜1‘ˆÝŒH�b˜& "¤'¨3°°B´F½B¼FÅBÄFÐKØ"ð$ñ $ô $ˆåŒM˜!¥2¤8Ð,Ñ,Ô,ˆØ4•”˜' # # A #œ,­¨c¨c°¨c¬
Ð3Ñ4Ô4°TÑ:Ô:ˆàˆˆa�”ˆiÔ˜˜AÑÔÐÝ
Œ
×%Ò% a¨¨°©¬Ñ3Ô3Ð3àˆˆa�”ˆiÔ˜!˜˜QÑÔÐÝ
Œ
×%Ò% a¨¨°°©¬Ñ4Ô4Ð4Ð4Ð4r   c                 óT   — |                       ||t          j        t          ¦  «         d S r�   )rÕ   rŸ   r	   ©r¢   r£   r¤   s      r   Ú!unary_bool_special_values_float32z.TestCudaMath.unary_bool_special_values_float32  ó$   € Ø×&Ò& t¨VµR´ZÅÑIÔIÐIÐIÐIr   c                 óT   — |                       ||t          j        t          ¦  «         d S r�   )rÕ   rŸ   r
   r×   s      r   Ú!unary_bool_special_values_float64z.TestCudaMath.unary_bool_special_values_float64  rÙ   r   c                 ób   — |                       ||t          j        t          j        ||¦  «         d S r�   rª   r¡   s        r   Úunary_bool_template_float32z(TestCudaMath.unary_bool_template_float32  r¨   r   c                 ób   — |                       ||t          j        t          j        ||¦  «         d S r�   r­   r¡   s        r   Úunary_bool_template_float64z(TestCudaMath.unary_bool_template_float64  r¨   r   é1   c                 ób   — |                       ||t          j        t          j        ||¦  «         d S r�   )rž   rŸ   r   r¡   s        r   Úunary_bool_template_int32z&TestCudaMath.unary_bool_template_int32  ó*   € Ø×Ò˜D &­"¬(µB´H¸eÀTÑJÔJÐJÐJÐJr   c                 ób   — |                       ||t          j        t          j        ||¦  «         d S r�   )rž   rŸ   r   r¡   s        r   Úunary_bool_template_int64z&TestCudaMath.unary_bool_template_int64  rã   r   c                 ó”  — d}t          j        |||¦  «                             |¦  «        }t          j        |j        t           j        ¬¦  «        }	|d d d…         }
t
          d d d…         } t          j        |
|f¦  «        |¦  «        } |d|f         ||	¦  «         t           j         	                     ||¦  «        |	¦  «         d S )Nr¯   rÈ   r   )
rŸ   r¹   rº   ÚemptyÚshaper   r   r½   r¾   r¿   )r¢   r£   r¤   rÀ   rÒ   r¥   r¦   rÂ   r   r   ÚiarytypeÚoarytyperÅ   s                r   Úunary_bool_templatez TestCudaMath.unary_bool_template  s¼   € ØˆÝŒK˜˜t UÑ+Ô+×2Ò2°7Ñ;Ô;ˆÝŒH�Q”W¥B¤HÐ-Ñ-Ô-ˆØ˜3˜3˜Q˜3”<ˆÝ˜˜˜1˜”:ˆØ.•”˜( HÐ-Ñ.Ô.¨tÑ4Ô4ˆØˆˆa�ˆhŒ˜˜1ÑÔÐÝ
Œ
×"Ò" 6 6¨!¡9¤9¨aÑ0Ô0Ð0Ð0Ð0r   c                 ób   — |                       ||t          j        t          j        ||¦  «         d S r�   )Úbinary_templaterŸ   r	   r¡   s        r   Úbinary_template_float32z$TestCudaMath.binary_template_float32'  ó*   € Ø×Ò˜T 6­2¬:µr´zÀ5È$ÑOÔOÐOÐOÐOr   c                 ób   — |                       ||t          j        t          j        ||¦  «         d S r�   )rí   rŸ   r
   r¡   s        r   Úbinary_template_float64z$TestCudaMath.binary_template_float64*  rï   r   c                 ób   — |                       ||t          j        t          j        ||¦  «         d S r�   )rí   rŸ   r   r
   r¡   s        r   Úbinary_template_int64z"TestCudaMath.binary_template_int64-  s*   € Ø×Ò˜T 6­2¬8µR´ZÀÈÑMÔMÐMÐMÐMr   c                 ób   — |                       ||t          j        t          j        ||¦  «         d S r�   )rí   rŸ   r³   r
   r¡   s        r   Úbinary_template_uint64z#TestCudaMath.binary_template_uint640  s*   € Ø×Ò˜T 6­2¬9µb´jÀ%ÈÑNÔNÐNÐNÐNr   c                 óÜ  — d}t          j        |||¦  «                             |¦  «        }t          j        |¦  «                             |¦  «        }	t	          j        |¦  «        d d d…         }
t	          j        |¦  «        d d d…         } t          j        |
|
|f¦  «        |¦  «        } |d|f         |||	¦  «         t           j         	                     |||¦  «        |	¦  «         d S )Nr¯   r   )
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   rí   zTestCudaMath.binary_template3  sß   € ØˆÝŒK˜˜t UÑ+Ô+×2Ò2°7Ñ;Ô;ˆÝŒM˜!ÑÔ×#Ò# IÑ.Ô.ˆÝÔ*¨7Ñ3Ô3°C°C°a°CÔ8ˆÝÔ*¨9Ñ5Ô5°c°c¸°cÔ:ˆØ5•”˜' 7¨GÐ4Ñ5Ô5°dÑ;Ô;ˆØˆˆa�ˆhŒ˜˜1˜aÑ Ô Ð Ý
Œ
×"Ò" 6 6¨!¨Q¡<¤<°Ñ3Ô3Ð3Ð3Ð3r   c                 ó:  — |                       t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        dd¬¦  «         |                      t          t          j        dd¬¦  «         d S ©Nr   ©r¥   r¦   )r«   r   rŸ   Úarccosr®   r±   r´   ©r¢   s    r   Útest_math_acoszTestCudaMath.test_math_acos@  óx   € Ø×#Ò#¥I­r¬yÑ9Ô9Ð9Ø×#Ò#¥I­r¬yÑ9Ô9Ð9ð 	×!Ò!¥)­R¬Y¸aÀaÐ!ÑHÔHÐHØ×"Ò"¥9­b¬i¸qÀqÐ"ÑIÔIÐIÐIÐIr   c                 ó:  — |                       t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        dd¬¦  «         |                      t          t          j        dd¬¦  «         d S rø   )r«   r   rŸ   Úarcsinr®   r±   r´   rû   s    r   Útest_math_asinzTestCudaMath.test_math_asinK  rý   r   c                 ó.  — |                       t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         d S r�   )r«   r"   rŸ   Úarctanr®   r±   r´   rû   s    r   Útest_math_atanzTestCudaMath.test_math_atanV  sh   € Ø×#Ò#¥I­r¬yÑ9Ô9Ð9Ø×#Ò#¥I­r¬yÑ9Ô9Ð9Ø×!Ò!¥)­R¬YÑ7Ô7Ð7Ø×"Ò"¥9­b¬iÑ8Ô8Ð8Ð8Ð8r   c                 óF  — |                       t          t          j        dd¬¦  «         |                      t          t          j        dd¬¦  «         |                      t          t          j        dd¬¦  «         |                      t          t          j        dd¬¦  «         d S )Nr   é   rù   )r«   r%   rŸ   Úarccoshr®   r±   r´   rû   s    r   Útest_math_acoshzTestCudaMath.test_math_acosh_  s„   € Ø×#Ò#¥Jµ´
À!È!Ð#ÑLÔLÐLØ×#Ò#¥Jµ´
À!È!Ð#ÑLÔLÐLØ×!Ò!¥*­b¬jÀÈÐ!ÑJÔJÐJØ×"Ò"¥:­r¬zÀÈÐ"ÑKÔKÐKÐKÐKr   c                 ó.  — |                       t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         d S r�   )r«   r)   rŸ   Úarcsinhr®   r±   r´   rû   s    r   Útest_math_asinhzTestCudaMath.test_math_asinhh  sh   € Ø×#Ò#¥Jµ´
Ñ;Ô;Ð;Ø×#Ò#¥Jµ´
Ñ;Ô;Ð;Ø×!Ò!¥*­b¬jÑ9Ô9Ð9Ø×"Ò"¥:­r¬zÑ:Ô:Ð:Ð:Ð:r   c                 óF  — |                       t          t          j        dd¬¦  «         |                      t          t          j        dd¬¦  «         |                      t          t          j        dd¬¦  «         |                      t          t          j        dd¬¦  «         d S )Nr   gÍÌÌÌÌÌì?rù   )r«   r,   rŸ   Úarctanhr®   r±   r´   rû   s    r   Útest_math_atanhzTestCudaMath.test_math_atanhq  s„   € Ø×#Ò#¥Jµ´
À!È"Ð#ÑMÔMÐMØ×#Ò#¥Jµ´
À!È"Ð#ÑMÔMÐMØ×!Ò!¥*­b¬jÀÈÐ!ÑKÔKÐKØ×"Ò"¥:­r¬zÀÈÐ"ÑLÔLÐLÐLÐLr   c                 ó.  — |                       t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         d S r�   )r«   r/   rŸ   r.   r®   r±   r´   rû   s    r   Útest_math_coszTestCudaMath.test_math_cosz  óh   € Ø×#Ò#¥H­b¬fÑ5Ô5Ð5Ø×#Ò#¥H­b¬fÑ5Ô5Ð5Ø×!Ò!¥(­B¬FÑ3Ô3Ð3Ø×"Ò"¥8­R¬VÑ4Ô4Ð4Ð4Ð4r   c                 óú  — |                       t          t          j        ¦  «         |                       t          t          j        ¦  «         |                       t          t          j        ¦  «         |                       t          t          j	        d¬¦  «         |                       t          t          j        d¬¦  «         |                       t          t          j        d¬¦  «         |                       t          t          j        d¬¦  «         |                       t           t          j        ¦  «         |                       t$          t          j        ¦  «         |                       t(          t          j        ¦  «         d S )Nr   ©r¥   éÿÿÿÿ)r§   r3   rŸ   r2   r/   r.   rH   rG   r]   r\   r`   r_   rc   rb   rT   rS   rl   rk   ru   rt   rx   rw   rû   s    r   Útest_math_fp16zTestCudaMath.test_math_fp16€  s  € à×#Ò#¥H­b¬fÑ5Ô5Ð5Ø×#Ò#¥H­b¬fÑ5Ô5Ð5Ø×#Ò#¥H­b¬fÑ5Ô5Ð5Ø×#Ò#¥H­b¬f¸AÐ#Ñ>Ô>Ð>Ø×#Ò#¥I­r¬w¸aÐ#Ñ@Ô@Ð@Ø×#Ò#¥Jµ´ÀÐ#ÑBÔBÐBØ×#Ò#¥I­r¬w¸bÐ#ÑAÔAÐAØ×#Ò#¥I­r¬wÑ7Ô7Ð7Ø×#Ò#¥I­r¬wÑ7Ô7Ð7Ø×#Ò#¥Jµ´Ñ9Ô9Ð9Ð9Ð9r   z(numpy does not support trunc for float16c                 óP   — |                       t          t          j        ¦  «         d S r�   )r§   r”   rŸ   r“   rû   s    r   Útest_math_fp16_truncz!TestCudaMath.test_math_fp16_trunc�  s"   € ð 	×#Ò#¥Jµ´Ñ9Ô9Ð9Ð9Ð9r   c                 ó.  — |                       t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         d S r�   )r«   r3   rŸ   r2   r®   r±   r´   rû   s    r   Útest_math_sinzTestCudaMath.test_math_sin•  r  r   c                 ó.  — |                       t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         d S r�   )r«   r6   rŸ   r5   r®   r±   r´   rû   s    r   Útest_math_tanzTestCudaMath.test_math_tanž  r  r   c                 ó.  — |                       t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         d S r�   )r«   r9   rŸ   r8   r®   r±   r´   rû   s    r   Útest_math_coshzTestCudaMath.test_math_cosh§  óh   € Ø×#Ò#¥I­r¬wÑ7Ô7Ð7Ø×#Ò#¥I­r¬wÑ7Ô7Ð7Ø×!Ò!¥)­R¬WÑ5Ô5Ð5Ø×"Ò"¥9­b¬gÑ6Ô6Ð6Ð6Ð6r   c                 ó.  — |                       t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         d S r�   )r«   r<   rŸ   r;   r®   r±   r´   rû   s    r   Útest_math_sinhzTestCudaMath.test_math_sinh°  r  r   c                 ó.  — |                       t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         d S r�   )r«   r?   rŸ   r>   r®   r±   r´   rû   s    r   Útest_math_tanhzTestCudaMath.test_math_tanh¹  r  r   c                 ó.  — |                       t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         d S r�   )rî   rD   rŸ   Úarctan2rñ   ró   rõ   rû   s    r   Útest_math_atan2zTestCudaMath.test_math_atan2Â  sh   € Ø×$Ò$¥Zµ´Ñ<Ô<Ð<Ø×$Ò$¥Zµ´Ñ<Ô<Ð<Ø×"Ò"¥:­r¬zÑ:Ô:Ð:Ø×#Ò#¥Jµ´
Ñ;Ô;Ð;Ð;Ð;r   c                 óþ   — t           d„ ¦   «         }|                      t          |¦  «         |                      t          |¦  «         |                      t          |¦  «         |                      t          |¦  «         d S )Nc                 ó*   — t          j        | ¦  «        S r�   )r   rJ   ©Úxs    r   Úufuncz)TestCudaMath.test_math_erf.<locals>.ufuncÌ  s   € å”8˜A‘;”;Ðr   )r   r«   rK   r®   r±   r´   ©r¢   r)  s     r   Útest_math_erfzTestCudaMath.test_math_erfË  sy   € Ý	ð	ð 	ñ 
Œð	à×#Ò#¥H¨eÑ4Ô4Ð4Ø×#Ò#¥H¨eÑ4Ô4Ð4Ø×!Ò!¥(¨EÑ2Ô2Ð2Ø×"Ò"¥8¨UÑ3Ô3Ð3Ð3Ð3r   c                 óþ   — t           d„ ¦   «         }|                      t          |¦  «         |                      t          |¦  «         |                      t          |¦  «         |                      t          |¦  «         d S )Nc                 ó*   — t          j        | ¦  «        S r�   )r   rM   r'  s    r   r)  z*TestCudaMath.test_math_erfc.<locals>.ufuncØ  s   € å”9˜Q‘<”<Ðr   )r   r«   rN   r®   r±   r´   r*  s     r   Útest_math_erfczTestCudaMath.test_math_erfc×  sy   € Ý	ð	 ð 	 ñ 
Œð	 à×#Ò#¥I¨uÑ5Ô5Ð5Ø×#Ò#¥I¨uÑ5Ô5Ð5Ø×!Ò!¥)¨UÑ3Ô3Ð3Ø×"Ò"¥9¨eÑ4Ô4Ð4Ð4Ð4r   c                 ó.  — |                       t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         d S r�   )r«   rH   rŸ   rG   r®   r±   r´   rû   s    r   Útest_math_expzTestCudaMath.test_math_expã  r  r   c                 ó.  — |                       t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         d S r�   )r«   rQ   rŸ   rP   r®   r±   r´   rû   s    r   Útest_math_expm1zTestCudaMath.test_math_expm1ì  óh   € Ø×#Ò#¥Jµ´Ñ9Ô9Ð9Ø×#Ò#¥Jµ´Ñ9Ô9Ð9Ø×!Ò!¥*­b¬hÑ7Ô7Ð7Ø×"Ò"¥:­r¬xÑ8Ô8Ð8Ð8Ð8r   c                 ó>  — |                       t          t          j        d¬¦  «         |                      t          t          j        d¬¦  «         |                      t          t          j        d¬¦  «         |                      t          t          j        d¬¦  «         d S ©Nr  r  )r«   rT   rŸ   rS   r®   r±   r´   rû   s    r   Útest_math_fabszTestCudaMath.test_math_fabsõ  s|   € Ø×#Ò#¥I­r¬w¸bÐ#ÑAÔAÐAØ×#Ò#¥I­r¬w¸bÐ#ÑAÔAÐAØ×!Ò!¥)­R¬W¸BÐ!Ñ?Ô?Ð?Ø×"Ò"¥9­b¬g¸RÐ"Ñ@Ô@Ð@Ð@Ð@r   c                 ó  — t           d„ ¦   «         }|                      t          |d¬¦  «         |                      t          |d¬¦  «         |                      t          |d¬¦  «         |                      t          |d¬¦  «         d S )Nc                 ó*   — t          j        | ¦  «        S r�   )r   rV   r'  s    r   r)  z+TestCudaMath.test_math_gamma.<locals>.ufuncÿ  s   € å”:˜a‘=”=Ð r   çš™™™™™¹?r  r   )r   r«   rW   r®   r±   r´   r*  s     r   Útest_math_gammazTestCudaMath.test_math_gammaþ  s�   € Ý	ð	!ð 	!ñ 
Œð	!à×#Ò#¥J°¸SÐ#ÑAÔAÐAØ×#Ò#¥J°¸SÐ#ÑAÔAÐAØ×!Ò!¥*¨e¸1Ð!Ñ=Ô=Ð=Ø×"Ò"¥:¨u¸AÐ"Ñ>Ô>Ð>Ð>Ð>r   c                 ó  — t           d„ ¦   «         }|                      t          |d¬¦  «         |                      t          |d¬¦  «         |                      t          |d¬¦  «         |                      t          |d¬¦  «         d S )Nc                 ó*   — t          j        | ¦  «        S r�   )r   rY   r'  s    r   r)  z,TestCudaMath.test_math_lgamma.<locals>.ufunc  s   € å”;˜q‘>”>Ð!r   r9  r  r   )r   r«   rZ   r®   r±   r´   r*  s     r   Útest_math_lgammazTestCudaMath.test_math_lgamma
  s�   € Ý	ð	"ð 	"ñ 
Œð	"à×#Ò#¥K°¸cÐ#ÑBÔBÐBØ×#Ò#¥K°¸cÐ#ÑBÔBÐBØ×!Ò!¥+¨u¸AÐ!Ñ>Ô>Ð>Ø×"Ò"¥;°¸QÐ"Ñ?Ô?Ð?Ð?Ð?r   c                 ó>  — |                       t          t          j        d¬¦  «         |                      t          t          j        d¬¦  «         |                      t          t          j        d¬¦  «         |                      t          t          j        d¬¦  «         d S ©Nr   r  )r«   r]   rŸ   r\   r®   r±   r´   rû   s    r   Útest_math_logzTestCudaMath.test_math_log  s|   € Ø×#Ò#¥H­b¬f¸AÐ#Ñ>Ô>Ð>Ø×#Ò#¥H­b¬f¸AÐ#Ñ>Ô>Ð>Ø×!Ò!¥(­B¬F¸!Ð!Ñ<Ô<Ð<Ø×"Ò"¥8­R¬V¸1Ð"Ñ=Ô=Ð=Ð=Ð=r   c                 ó>  — |                       t          t          j        d¬¦  «         |                      t          t          j        d¬¦  «         |                      t          t          j        d¬¦  «         |                      t          t          j        d¬¦  «         d S r?  )r«   r`   rŸ   r_   r®   r±   r´   rû   s    r   Útest_math_log2zTestCudaMath.test_math_log2  s|   € Ø×#Ò#¥I­r¬w¸aÐ#Ñ@Ô@Ð@Ø×#Ò#¥I­r¬w¸aÐ#Ñ@Ô@Ð@Ø×!Ò!¥)­R¬W¸AÐ!Ñ>Ô>Ð>Ø×"Ò"¥9­b¬g¸QÐ"Ñ?Ô?Ð?Ð?Ð?r   c                 ó>  — |                       t          t          j        d¬¦  «         |                      t          t          j        d¬¦  «         |                      t          t          j        d¬¦  «         |                      t          t          j        d¬¦  «         d S r?  )r«   rc   rŸ   rb   r®   r±   r´   rû   s    r   Útest_math_log10zTestCudaMath.test_math_log10(  s|   € Ø×#Ò#¥Jµ´ÀÐ#ÑBÔBÐBØ×#Ò#¥Jµ´ÀÐ#ÑBÔBÐBØ×!Ò!¥*­b¬h¸aÐ!Ñ@Ô@Ð@Ø×"Ò"¥:­r¬x¸qÐ"ÑAÔAÐAÐAÐAr   c                 ó.  — |                       t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         d S r�   )r«   rf   rŸ   re   r®   r±   r´   rû   s    r   Útest_math_log1pzTestCudaMath.test_math_log1p1  r3  r   c                 ó>  — |                       t          t          j        d¬¦  «         |                      t          t          j        d¬¦  «         |                      t          t          j        d¬¦  «         |                      t          t          j        d¬¦  «         d S )Ng•dyáý¥=r  r   )rî   ri   rŸ   rh   rñ   ró   rõ   rû   s    r   Útest_math_remainderz TestCudaMath.test_math_remainder:  s|   € Ø×$Ò$¥^µR´\ÈÐ$ÑOÔOÐOØ×$Ò$¥^µR´\ÈÐ$ÑOÔOÐOØ×"Ò"¥>µ2´<ÀqÐ"ÑIÔIÐIØ×#Ò#¥NµB´LÈÐ#ÑJÔJÐJÐJÐJr   z3math.remainder(0, 0) raises a ValueError on CUDASimc                 óL  — t          j        t          t          d d d…         t          t          ¦  «        ¦  «        d„ ¦   «         }t          j        dt
          j        ¦  «        } |d         |dd¦  «         |                      t          j        |d         ¦  «        ¦  «         d S )Nr   c                 ó6   — t          j        ||¦  «        | d<   d S )Nr   )r   rh   )Úrr(  Úys      r   Útest_0_0z6TestCudaMath.test_math_remainder_0_0.<locals>.test_0_0B  s   € å”> ! QÑ'Ô'ˆAˆa‰DˆDˆDr   )r   r   r   )	r   r½   r   r
   r   rŸ   ÚzerosÚ
assertTruerƒ   )r¢   rM  rK  s      r   Útest_math_remainder_0_0z$TestCudaMath.test_math_remainder_0_0@  s‹   € å	Œ•$•w˜s˜s ˜s”|¥U­EÑ2Ô2Ñ	3Ô	3ð	(ð 	(ñ 
4Ô	3ð	(åŒH�Q�œ
Ñ#Ô#ˆØˆ�Œ�q˜!˜QÑÔÐØ�Š�œ  1¤™œÑ'Ô'Ð'Ð'Ð'r   c                 ó.  — |                       t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         d S r�   )r«   rl   rŸ   rk   r®   r±   r´   rû   s    r   Útest_math_sqrtzTestCudaMath.test_math_sqrtL  r  r   c                 ó.  — |                       t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         d S r�   )rî   ro   rŸ   rn   rñ   ró   rõ   rû   s    r   Útest_math_hypotzTestCudaMath.test_math_hypotU  sh   € Ø×$Ò$¥Zµ´Ñ:Ô:Ð:Ø×$Ò$¥Zµ´Ñ:Ô:Ð:Ø×"Ò"¥:­r¬xÑ8Ô8Ð8Ø×#Ò#¥Jµ´Ñ9Ô9Ð9Ð9Ð9r   c                 óÌ  — d}t          j        dd|¦  «                             |¦  «        }t          j        |t           j        ¬¦  «        }t          j        |¦  «        }t          j        |¦  «        d d d…         } t          j	        |t          d d d…         |f¦  «        t          ¦  «        } |d|f         |||¦  «         t          j        |¦  «        }t          t          |¦  «        ¦  «        D ]&}	t          j        ||	         ||	         ¦  «        ||	<   Œ't           j                             t          j        ||¦  «                             |¦  «        |d¬¦  «         d S )Nr¯   r   é   rÈ   r   r¶   r·   )rŸ   r¹   rº   Úaranger   r»   r   r¼   r   r½   rr   ÚrangeÚlenr   rq   r¾   r¿   Úpower)
r¢   rÀ   rÂ   r   r   rC   rÃ   rÅ   ÚCrefr   s
             r   Úpow_template_int32zTestCudaMath.pow_template_int32^  s4  € ØˆÝŒK˜˜2˜uÑ%Ô%×,Ò,¨WÑ5Ô5ˆÝŒI�e¥2¤8Ð,Ñ,Ô,ˆÝŒM˜!ÑÔˆÝÔ*¨7Ñ3Ô3°C°C°a°CÔ8ˆØ8•”˜'¥5¨¨¨1¨¤:¨wÐ7Ñ8Ô8½ÑBÔBˆØˆˆa�ˆhŒ˜˜1˜aÑ Ô Ð õ
 Œ}˜QÑÔˆÝ•s˜1‘v”v‘”ð 	+ð 	+ˆAÝ”h˜q œt Q q¤TÑ*Ô*ˆD�‰GˆGÝ
Œ
×"Ò"¥2¤8¨A¨q¡>¤>×#8Ò#8¸Ñ#AÔ#AÀ1È4Ð"ÑPÔPÐPÐPÐPr   c                 ó  — |                       t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          j        ¦  «         |                      t          j        ¦  «         d S r�   )rî   rr   rŸ   rZ  rñ   r\  r	   r
   rû   s    r   Útest_math_powzTestCudaMath.test_math_powo  sd   € Ø×$Ò$¥X­r¬xÑ8Ô8Ð8Ø×$Ò$¥X­r¬xÑ8Ô8Ð8Ø×Ò¥¤
Ñ+Ô+Ð+Ø×Ò¥¤
Ñ+Ô+Ð+Ð+Ð+r   c                 óš   — |                       t          t          j        ¦  «         |                      t          t          j        ¦  «         d S r�   )rî   r—   rŸ   rZ  rñ   rû   s    r   Útest_math_pow_binopz TestCudaMath.test_math_pow_binopx  s8   € Ø×$Ò$¥^µR´XÑ>Ô>Ð>Ø×$Ò$¥^µR´XÑ>Ô>Ð>Ð>Ð>r   c                 ó.  — |                       t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         d S r�   )r«   ru   rŸ   rt   r®   r±   r´   rû   s    r   Útest_math_ceilzTestCudaMath.test_math_ceil  r  r   c                 ó.  — |                       t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         d S r�   )r«   rx   rŸ   rw   r®   r±   r´   rû   s    r   Útest_math_floorzTestCudaMath.test_math_floorˆ  r3  r   c                 óP   — |                       t          t          j        ¦  «         d S r�   )r®   r”   rŸ   r“   rû   s    r   Útest_math_trunczTestCudaMath.test_math_trunc—  s    € Ø×#Ò#¥Jµ´Ñ9Ô9Ð9Ð9Ð9r   z%trunc only supported on NumPy float64c                 óä   — |                       t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         d S r�   )r«   r”   rŸ   r“   r±   r´   rû   s    r   Útest_math_trunc_non_float64z(TestCudaMath.test_math_trunc_non_float64š  sP   € à×#Ò#¥Jµ´Ñ9Ô9Ð9Ø×!Ò!¥*­b¬hÑ7Ô7Ð7Ø×"Ò"¥:­r¬xÑ8Ô8Ð8Ð8Ð8r   c                 ó¢   — |                       t          t          j        d¬¦  «         |                      t          t          j        d¬¦  «         d S r5  )rî   r{   rŸ   rz   rñ   rû   s    r   Útest_math_copysignzTestCudaMath.test_math_copysign£  sB   € Ø×$Ò$¥]µB´KÀrÐ$ÑJÔJÐJØ×$Ò$¥]µB´KÀrÐ$ÑJÔJÐJÐJÐJr   c                 óê  ‡ — ˆ fd„}ˆ fd„}d}‰                       d¦  «        5   |t          j        dd|¦  «        t          j        t          d d …         ¬¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                       d¦  «        5   |t          j        t          j        t          j         g¦  «        t          j        t          d d …         ¬¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                       d	¦  «        5   |t          j        t          d d …         ¬¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                       d
¦  «        5   |t          j        dd|¦  «        t          j        t          d d …         ¬¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                       d¦  «        5   |t          j        t          j        t          j         g¦  «        t          j        t          d d …         ¬¦  «         d d d ¦  «         n# 1 swxY w Y   ‰                       d¦  «        5   |t          j        t          d d …         ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 óÄ  •— t          j        t           j        g| ¬¦  «        }t          j        |¦  «        }t          j        |¦  «        } t	          j        |||f¦  «        t          ¦  «        } |dt          |¦  «        f         |||¦  «         ‰                     t          j	        |¦  «        ¦  «         ‰                     t          j	        |¦  «        ¦  «         d S )NrÈ   r   )
rŸ   rÌ   rÏ   Ú
zeros_liker   r½   r�   rY  rO  rƒ   )rÉ   rÃ   r   r   rC   rÅ   r¢   s         €r   Úmodf_template_nanz6TestCudaMath.test_math_modf.<locals>.modf_template_nan«  s¶   ø€ Ý”�"œ&˜¨Ð/Ñ/Ô/ˆAÝ”˜aÑ Ô ˆAÝ”˜aÑ Ô ˆAØ9•D”H˜g w°Ð8Ñ9Ô9½)ÑDÔDˆEØˆE�!•S˜‘V”V�)Ô˜Q  1Ñ%Ô%Ð%Ø�OŠO�BœH Q™KœKÑ(Ô(Ð(Ø�OŠO�BœH Q™KœKÑ(Ô(Ð(Ð(Ð(r   c                 óÞ  •— |                       |¦  «        } t          j        | ¦  «        }t          j        | ¦  «        } t          j        |||f¦  «        t
          ¦  «        } |dt          | ¦  «        f         | ||¦  «         t          j        | ¦  «        \  }}‰                     t          j	        ||¦  «        ¦  «         ‰                     t          j	        ||¦  «        ¦  «         d S r   )
rº   rŸ   rm  r   r½   r�   rY  r€   rO  Úarray_equal)	r   rÉ   rÃ   r   rC   rÅ   ÚDÚEr¢   s	           €r   Úmodf_template_comparez:TestCudaMath.test_math_modf.<locals>.modf_template_compare´  sÆ   ø€ Ø—’˜‘”ˆAÝ”˜aÑ Ô ˆAÝ”˜aÑ Ô ˆAØ9•D”H˜g w°Ð8Ñ9Ô9½)ÑDÔDˆEØˆE�!•S˜‘V”V�)Ô˜Q  1Ñ%Ô%Ð%Ý”7˜1‘:”:‰DˆAˆqØ�OŠO�BœN¨1¨QÑ/Ô/Ñ0Ô0Ð0Ø�OŠO�BœN¨1¨QÑ/Ô/Ñ0Ô0Ð0Ð0Ð0r   r¯   zfloat32 modf on simple floatr   é
   )rÉ   rÃ   zfloat32 modf on +- infinityzfloat32 modf on nanzfloat64 modf on simple floatzfloat64 modf on +- infinityzfloat64 modf on nan)ÚsubTestrŸ   r¹   r	   rÌ   rÎ   r
   )r¢   rn  rs  rÂ   s   `   r   Útest_math_modfzTestCudaMath.test_math_modfª  s  ø€ ð	)ð 	)ð 	)ð 	)ð 	)ð	1ð 	1ð 	1ð 	1ð 	1ð ˆà�\Š\Ð8Ñ9Ô9ð 	6ð 	6Ø!Ð!¥"¤+¨a°°UÑ";Ô";Å2Ä:Ý*1°!°!°!¬*ð6ñ 6ô 6ð 6ð	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6ð �\Š\Ð7Ñ8Ô8ð 	6ð 	6Ø!Ð!¥"¤(­B¬FµR´V°GÐ+<Ñ"=Ô"=ÅRÄZÝ*1°!°!°!¬*ð6ñ 6ô 6ð 6ð	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6ð �\Š\Ð/Ñ0Ô0ð 	Dð 	DØÐ¥B¤J½ÀÀÀ¼
ÐCÑCÔCÐCð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dð �\Š\Ð8Ñ9Ô9ð 	6ð 	6Ø!Ð!¥"¤+¨a°°UÑ";Ô";Å2Ä:Ý*1°!°!°!¬*ð6ñ 6ô 6ð 6ð	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6ð �\Š\Ð7Ñ8Ô8ð 	6ð 	6Ø!Ð!¥"¤(­B¬FµR´V°GÐ+<Ñ"=Ô"=ÅRÄZÝ*1°!°!°!¬*ð6ñ 6ô 6ð 6ð	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6ð �\Š\Ð/Ñ0Ô0ð 	Dð 	DØÐ¥B¤J½ÀÀÀ¼
ÐCÑCÔCÐCð	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Døøøð 	Dð 	Dð 	Dð 	Dð 	Dð 	Dsm   £:A)Á)A-Á0A-Â	AC$Ã$C(Ã+C(Ä%D5Ä5D9Ä<D9Å:FÆFÆ"FÆ;AHÈHÈHÈ6%I(É(I,É/I,c                 ó¢   — |                       t          t          j        d¬¦  «         |                      t          t          j        d¬¦  «         d S r?  )rî   r~   rŸ   r}   rñ   rû   s    r   Útest_math_fmodzTestCudaMath.test_math_fmodÖ  sB   € Ø×$Ò$¥Yµ´¸qÐ$ÑAÔAÐAØ×$Ò$¥Yµ´¸qÐ$ÑAÔAÐAÐAÐAr   c                 ó¢   — |                       t          t          j        d¬¦  «         |                      t          t          j        d¬¦  «         d S r?  )rî   r™   rŸ   r}   rñ   rû   s    r   Útest_math_mod_binopz TestCudaMath.test_math_mod_binopÝ  sB   € Ø×$Ò$¥^µR´WÀAÐ$ÑFÔFÐFØ×$Ò$¥^µR´WÀAÐ$ÑFÔFÐFÐFÐFr   c                 óÂ  — |                       t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         d S r�   )	rÝ   r„   rŸ   rƒ   rß   râ   rå   rØ   rÛ   rû   s    r   Útest_math_isnanzTestCudaMath.test_math_isnanä  ó˜   € Ø×(Ò(­µR´XÑ>Ô>Ð>Ø×(Ò(­µR´XÑ>Ô>Ð>Ø×&Ò&¥zµ2´8Ñ<Ô<Ð<Ø×&Ò&¥zµ2´8Ñ<Ô<Ð<Ø×.Ò.­z½2¼8ÑDÔDÐDØ×.Ò.­z½2¼8ÑDÔDÐDÐDÐDr   c                 óÂ  — |                       t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         d S r�   )	rÝ   r‡   rŸ   r†   rß   râ   rå   rØ   rÛ   rû   s    r   Útest_math_isinfzTestCudaMath.test_math_isinfï  r}  r   c                 óÂ  — |                       t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         |                      t          t          j        ¦  «         d S r�   )	rÝ   rŠ   rŸ   r‰   rß   râ   rå   rØ   rÛ   rû   s    r   Útest_math_isfinitezTestCudaMath.test_math_isfiniteú  s˜   € Ø×(Ò(­½¼ÑDÔDÐDØ×(Ò(­½¼ÑDÔDÐDØ×&Ò&¥}µb´kÑBÔBÐBØ×&Ò&¥}µb´kÑBÔBÐBØ×.Ò.­}½b¼kÑJÔJÐJØ×.Ò.­}½b¼kÑJÔJÐJÐJÐJr   c                 óš   — |                       t          t          j        ¦  «         |                      t          t          j        ¦  «         d S r�   )rÝ   r�   rŸ   rŒ   rß   rû   s    r   Útest_math_degreeszTestCudaMath.test_math_degrees  ó8   € Ø×(Ò(­µr´zÑBÔBÐBØ×(Ò(­µr´zÑBÔBÐBÐBÐBr   c                 óš   — |                       t          t          j        ¦  «         |                      t          t          j        ¦  «         d S r�   )rÝ   r‘   rŸ   r�   rß   rû   s    r   Útest_math_radianszTestCudaMath.test_math_radians  r„  r   N)r   r   )r   r¯   )r   rà   )FÚ__name__Ú
__module__Ú__qualname__r§   r«   r®   r±   r´   rž   rÕ   rØ   rÛ   rÝ   rß   râ   rå   rë   rî   rñ   ró   rõ   rí   rü   r   r  r  r
  r  r  r   r  r   r  r  r  r  r  r!  r$  r+  r.  r0  r2  r6  r:  r=  r@  rB  rD  rF  rH  rP  rR  rT  r\  r^  r`  rb  rd  rf  rh  rj  rv  rx  rz  r|  r  r�  rƒ  r†  © r   r   r›   r›   Ø   sü  € € € € € ðOð Oð Oð OðOð Oð Oð OðOð Oð Oð OðMð Mð Mð MðNð Nð Nð Nð<ð <ð <ð*5ð 5ð 5ðJð Jð JðJð Jð JðOð Oð Oð OðOð Oð Oð OðKð Kð Kð KðKð Kð Kð Kð1ð 1ð 1ðPð Pð Pð PðPð Pð Pð PðNð Nð Nð NðOð Oð Oð Oð4ð 4ð 4ðJð Jð JðJð Jð Jð9ð 9ð 9ðLð Lð Lð;ð ;ð ;ðMð Mð Mð5ð 5ð 5ð ð
:ð 
:ñ Ôð
:ð €_Ð?Ñ@Ô@Øð:ð :ñ Ôñ AÔ@ð:ð5ð 5ð 5ð5ð 5ð 5ð7ð 7ð 7ð7ð 7ð 7ð7ð 7ð 7ð<ð <ð <ð4ð 4ð 4ð5ð 5ð 5ð5ð 5ð 5ð9ð 9ð 9ðAð Að Að?ð ?ð ?ð@ð @ð @ð>ð >ð >ð@ð @ð @ðBð Bð Bð9ð 9ð 9ðKð Kð Kð €_ÐJÑKÔKð(ð (ñ LÔKð(ð7ð 7ð 7ð:ð :ð :ðQð Qð Qð",ð ,ð ,ð?ð ?ð ?ð7ð 7ð 7ð9ð 9ð 9ð:ð :ð :ð €_Ð<Ñ=Ô=ð9ð 9ñ >Ô=ð9ðKð Kð Kð'Dð 'Dð 'DðXBð Bð BðGð Gð GðEð Eð EðEð Eð EðKð Kð KðCð Cð CðCð Cð Cð Cð Cr   r›   Ú__main__)>ÚnumpyrŸ   Únumba.cuda.testingr   r   r   r   Únumba.npr   Únumbar   r	   r
   r   r   r   r   r   r   r   r"   r%   r)   r,   r/   r3   r6   r9   r<   r?   rD   rH   rK   rN   rQ   rT   rW   rZ   r]   r`   rc   rf   ri   rl   ro   rr   ru   rx   r{   r~   r�   r„   r‡   rŠ   r�   r‘   r”   r—   r™   r›   r‡  ÚmainrŠ  r   r   ú<module>r‘     sh  ðØ Ð Ð Ð ð1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð #Ð "Ð "Ð "Ð "Ð "Ø GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GØ €€€ðð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
"ð "ð "ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
&ð &ð &ð
ð ð ð
"ð "ð "ð
 ð  ð  ð
ð ð ð
ð ð ð
%ð %ð %ð
!ð !ð !ð
!ð !ð !ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
vCð vCð vCð vCð vC�<ñ vCô vCð vCðr ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   