ó
    „ñ:i˜Z  ã                   ó<  • S SK r S SKJr  S SKJrJrJrJrJrJ	r	J
r
Jr  S SKJrJrJrJrJrJr  S SKJr  S SKJr  S SKJr  S SKJr  \" 5       r\R8                  r\R:                  r\R<                  r\" \5         " S	 S
\5      r\ " S S\5      5       r \ " S S\5      5       r!\ " S S\5      5       r"\ " S S\5      5       r#\ " S S\5      5       r$\ " S S\5      5       r%\ " S S\5      5       r&\ " S S\5      5       r'\ " S S\5      5       r(\ " S S\5      5       r)\ " S S \5      5       r*\ " S! S"\5      5       r+\ " S# S$\5      5       r,\ " S% S&\5      5       r-\ " S' S(\5      5       r.\ " S) S*\5      5       r/\ " S+ S,\5      5       r0\ " S- S.\5      5       r1\ " S/ S0\5      5       r2\ " S1 S2\5      5       r3\ " S3 S4\5      5       r4S5 r5S6 r6S7 r7\" \85       " S8 S9\5      5       r9S: r:S; r;S< r<S= r=\7" \R|                  R~                  5      r@\=" \ R‚                  5      rB\=" \ R†                  5      rD\7" \R|                  RŠ                  5      rF\=" \ RŽ                  5      rH\=" \ R’                  5      rJ\7" \R|                  R–                  5      rL\=" \ Rš                  5      rN\=" \ Rž                  5      rP\7" \R|                  R¢                  5      rR\7" \R|                  R¦                  5      rT\5" \R|                  Rª                  5      rV\6" \ R®                  5      rX\5" \R|                  R²                  5      rZ\6" \[5      r\\:" \R|                  Rº                  5      r^\<" \ R¾                  5        \:" \R|                  RÀ                  5      ra\<" \ RÄ                  5        \:" \R|                  RÆ                  5      rd\<" \ RÊ                  5        \:" \R|                  RÌ                  5      rg\<" \ RÐ                  5        \:" \R|                  RÒ                  5      rj\<" \ RÖ                  5        \:" \R|                  RØ                  5      rm\<" \ RÜ                  5        \=" \ RÞ                  5        \=" \ Rà                  5        S> rqS? rr\q" S@5      rs\q" SA5      rt\q" SB5      ru\q" SC5      rv\q" SD5      rw\q" SE5      rx\q" SF5      ry\q" SG5      rz\q" SH5      r{\q" SI5      r|\q" SJ5      r}\q" SK5      r~\q" SL5      r\q" SM5      r€\q" SN5      r�\r" SO5      r‚SP rƒ\GR                  \GR
                  \GR                  \GR                  \GR                  \GR                  4rŠ\GR                  \GR                  \GR                  \GR                  4r‹\GR                  \GR                  4rŒ\ƒ" \GR                  R‚                  \Š5      rŽ\ƒ" \GR                  RŽ                  \Š5      r�\ƒ" \GR                  GR                   \Š5      r‘\ƒ" \GR                  GR$                  \Š5      r“\ƒ" \GR                  GR(                  \Š5      r•\ƒ" \GR                  GR,                  \Š5      r—\ƒ" \GR                  GR0                  \‹5      r™\ƒ" \GR                  GR4                  \‹5      r›\ƒ" \GR                  GR8                  \‹5      r�\ƒ" \GR                  GR<                  \Œ5      rŸ\ƒ" \GR                  GR@                  \Œ5      r¡\ƒ" \GR                  GRD                  \‹5      r£\ " SQ SR\5      5       r¤\ " SS ST\5      5       r¥\ " SU SV\5      5       r¦\ " SW SX\5      5       r§\ " SY SZ\5      5       r¨\ " S[ S\\5      5       r©\ " S] S^\5      5       rª\ " S_ S`\5      5       r«\ " Sa Sb\5      5       r¬\ " Sc Sd\5      5       r­\" \\GR\                  " \5      5        \ H  r¯\" \¯\5        M     \	 H  r¯\" \¯\5        M     \ H  r¯\" \¯\5        M     \
 H  r¯\¯Se;   d  M  \" \¯\5        M     g)fé    N)Útypes)Úparse_dtypeÚparse_shapeÚregister_number_classesÚregister_numpy_ufuncÚtrigonometric_functionsÚcomparison_functionsÚmath_operationsÚbit_twiddling_functions)ÚAttributeTemplateÚConcreteTemplateÚAbstractTemplateÚCallableTemplateÚ	signatureÚRegistry©Údim3)Ú
Conversion)Úcuda)Ú declare_device_function_templatec                   ó   • \ rS rSrS rSrg)ÚCuda_array_declé   c                 ó   • S nU$ )Nc           	      óÒ  • [        U [        R                  5      (       a!  [        U [        R                  5      (       d  g Op[        U [        R                  [        R
                  45      (       a@  [        U  Vs/ s H"  n[        U[        R                  5      (       + PM$     sn5      (       a  g Og [        U 5      n[        U5      nUb  Ub  [        R                  " XCSS9$ g g s  snf )NÚC)ÚdtypeÚndimÚlayout)
Ú
isinstancer   ÚIntegerÚIntegerLiteralÚTupleÚUniTupleÚanyr   r   ÚArray)Úshaper   Úsr   Únb_dtypes        ÚV/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/numba/cuda/cudadecl.pyÚtyperÚ&Cuda_array_decl.generic.<locals>.typer   sÌ   € ô ˜%¤§¡×/Ñ/Ü! %¬×)=Ñ)=×>Ñ>Øð ?ä˜E¤E§K¡K´·±Ð#@×AÑAÜÙ!&ó(Ú!&˜Aô ' q¬%×*>Ñ*>Ó?×?Ù!&ñ(÷ )ñ )àð)ð ä˜uÓ%ˆDÜ" 5Ó)ˆHØÑ#¨Ñ(8Ü—{’{¨ÀSÑIÐIð )9Ð#ùò(s   Á9)C$© ©Úselfr+   s     r*   ÚgenericÚCuda_array_decl.generic   s   € ò	Jð& ˆó    r-   N©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r0   Ú__static_attributes__r-   r2   r*   r   r      s   † õr2   r   c                   ó@   • \ rS rSr\R
                  R                  rSrg)ÚCuda_shared_arrayé2   r-   N)	r4   r5   r6   r7   r   ÚsharedÚarrayÚkeyr8   r-   r2   r*   r:   r:   2   s   † à
�+‰+×
Ñ
ƒCr2   r:   c                   ó@   • \ rS rSr\R
                  R                  rSrg)ÚCuda_local_arrayé7   r-   N)	r4   r5   r6   r7   r   Úlocalr=   r>   r8   r-   r2   r*   r@   r@   7   s   † à
�*‰*×
Ñ
ƒCr2   r@   c                   óF   • \ rS rSr\R
                  R                  rS rSr	g)ÚCuda_const_array_likeé<   c                 ó   • S nU$ )Nc                 ó   • U $ ©Nr-   )Úndarrays    r*   r+   Ú,Cuda_const_array_like.generic.<locals>.typerA   s   € ØˆNr2   r-   r.   s     r*   r0   ÚCuda_const_array_like.generic@   s   € ò	àˆr2   r-   N)
r4   r5   r6   r7   r   ÚconstÚ
array_liker>   r0   r8   r-   r2   r*   rD   rD   <   s   † à
�*‰*×
Ñ
€Cõr2   rD   c                   óR   • \ rS rSr\R
                  r\" \R                  5      /r
Srg)ÚCuda_threadfence_deviceéF   r-   N)r4   r5   r6   r7   r   Úthreadfencer>   r   r   ÚnoneÚcasesr8   r-   r2   r*   rO   rO   F   s   † à
×
Ñ
€CÙ�u—z‘zÓ"Ð#ƒEr2   rO   c                   óR   • \ rS rSr\R
                  r\" \R                  5      /r
Srg)ÚCuda_threadfence_blockéL   r-   N)r4   r5   r6   r7   r   Úthreadfence_blockr>   r   r   rR   rS   r8   r-   r2   r*   rU   rU   L   s   † à
×
 Ñ
 €CÙ�u—z‘zÓ"Ð#ƒEr2   rU   c                   óR   • \ rS rSr\R
                  r\" \R                  5      /r
Srg)ÚCuda_threadfence_systeméR   r-   N)r4   r5   r6   r7   r   Úthreadfence_systemr>   r   r   rR   rS   r8   r-   r2   r*   rY   rY   R   s   † à
×
!Ñ
!€CÙ�u—z‘zÓ"Ð#ƒEr2   rY   c                   óŠ   • \ rS rSr\R
                  r\" \R                  5      \" \R                  \R                  5      /rSrg)ÚCuda_syncwarpéX   r-   N)r4   r5   r6   r7   r   Úsyncwarpr>   r   r   rR   Úi4rS   r8   r-   r2   r*   r]   r]   X   s-   † à
�-‰-€CÙ�u—z‘zÓ"¡I¨e¯j©j¸%¿(¹(Ó$CÐDƒEr2   r]   c                   óP  • \ rS rSr\R
                  r\" \R                  " \R                  \R                  45      \R                  \R                  \R                  \R                  \R                  5      \" \R                  " \R                  \R                  45      \R                  \R                  \R                  \R                  \R                  5      \" \R                  " \R                  \R                  45      \R                  \R                  \R                  \R                  \R                  5      \" \R                  " \R                  \R                  45      \R                  \R                  \R                  \R                  \R                  5      /rSrg)ÚCuda_shfl_sync_intrinsicé^   r-   N)r4   r5   r6   r7   r   Úshfl_sync_intrinsicr>   r   r   r#   r`   Úb1Úi8Úf4Úf8rS   r8   r-   r2   r*   rb   rb   ^   s  † à
×
"Ñ
"€Cá�%—+’+˜uŸx™x¨¯©Ð2Ó3Ø—(‘(˜EŸH™H e§h¡h°·±¸%¿(¹(ó	Dá�%—+’+˜uŸx™x¨¯©Ð2Ó3Ø—(‘(˜EŸH™H e§h¡h°·±¸%¿(¹(ó	Dá�%—+’+˜uŸx™x¨¯©Ð2Ó3Ø—(‘(˜EŸH™H e§h¡h°·±¸%¿(¹(ó	Dá�%—+’+˜uŸx™x¨¯©Ð2Ó3Ø—(‘(˜EŸH™H e§h¡h°·±¸%¿(¹(ó	Dð	ƒEr2   rb   c                   óÌ   • \ rS rSr\R
                  r\" \R                  " \R                  \R                  45      \R                  \R                  \R                  5      /rSrg)ÚCuda_vote_sync_intrinsicém   r-   N)r4   r5   r6   r7   r   Úvote_sync_intrinsicr>   r   r   r#   r`   re   rS   r8   r-   r2   r*   rj   rj   m   sG   † à
×
"Ñ
"€CÙ�u—{’{ E§H¡H¨e¯h©hÐ#7Ó8Ø—x‘x §¡¨5¯8©8ó5ð 6ƒEr2   rj   c                   óh  • \ rS rSr\R
                  r\" \R                  \R                  \R                  5      \" \R                  \R                  \R                  5      \" \R                  \R                  \R                  5      \" \R                  \R                  \R                  5      /rSrg)ÚCuda_match_any_syncét   r-   N)r4   r5   r6   r7   r   Úmatch_any_syncr>   r   r   r`   rf   rg   rh   rS   r8   r-   r2   r*   rn   rn   t   st   † à
×
Ñ
€Cá�%—(‘(˜EŸH™H e§h¡hÓ/Ù�%—(‘(˜EŸH™H e§h¡hÓ/Ù�%—(‘(˜EŸH™H e§h¡hÓ/Ù�%—(‘(˜EŸH™H e§h¡hÓ/ð	ƒEr2   rn   c            	       óH  • \ rS rSr\R
                  r\" \R                  " \R                  \R                  45      \R                  \R                  5      \" \R                  " \R                  \R                  45      \R                  \R                  5      \" \R                  " \R                  \R                  45      \R                  \R                  5      \" \R                  " \R                  \R                  45      \R                  \R                  5      /rSrg)ÚCuda_match_all_syncé   r-   N)r4   r5   r6   r7   r   Úmatch_all_syncr>   r   r   r#   r`   re   rf   rg   rh   rS   r8   r-   r2   r*   rr   rr      s¼   † à
×
Ñ
€Cá�%—+’+˜uŸx™x¨¯©Ð2Ó3°U·X±X¸u¿x¹xÓHÙ�%—+’+˜uŸx™x¨¯©Ð2Ó3°U·X±X¸u¿x¹xÓHÙ�%—+’+˜uŸx™x¨¯©Ð2Ó3°U·X±X¸u¿x¹xÓHÙ�%—+’+˜uŸx™x¨¯©Ð2Ó3°U·X±X¸u¿x¹xÓHð	ƒEr2   rr   c                   óR   • \ rS rSr\R
                  r\" \R                  5      /r
Srg)ÚCuda_activemaskéŠ   r-   N)r4   r5   r6   r7   r   Ú
activemaskr>   r   r   Úuint32rS   r8   r-   r2   r*   rv   rv   Š   s   † à
�/‰/€CÙ�u—|‘|Ó$Ð%ƒEr2   rv   c                   óR   • \ rS rSr\R
                  r\" \R                  5      /r
Srg)ÚCuda_lanemask_lté�   r-   N)r4   r5   r6   r7   r   Úlanemask_ltr>   r   r   ry   rS   r8   r-   r2   r*   r{   r{   �   s   † à
×
Ñ
€CÙ�u—|‘|Ó$Ð%ƒEr2   r{   c                   óô  • \ rS rSrSr\R                  r\" \	R                  \	R                  5      \" \	R                  \	R                  5      \" \	R                  \	R                  5      \" \	R                  \	R                  5      \" \	R                  \	R                  5      \" \	R                  \	R                  5      \" \	R                   \	R                   5      \" \	R"                  \	R"                  5      /rSrg)Ú	Cuda_popcé–   zz
Supported types from `llvm.popc`
[here](http://docs.nvidia.com/cuda/nvvm-ir-spec/index.html#bit-manipulations-intrinics)
r-   N)r4   r5   r6   r7   Ú__doc__r   Úpopcr>   r   r   Úint8Úint16Úint32Úint64Úuint8Úuint16ry   Úuint64rS   r8   r-   r2   r*   r   r   –   s©   † ñð �)‰)€Cá�%—*‘*˜eŸj™jÓ)Ù�%—+‘+˜uŸ{™{Ó+Ù�%—+‘+˜uŸ{™{Ó+Ù�%—+‘+˜uŸ{™{Ó+Ù�%—+‘+˜uŸ{™{Ó+Ù�%—,‘, §¡Ó-Ù�%—,‘, §¡Ó-Ù�%—,‘, §¡Ó-ð	ƒEr2   r   c                   óü   • \ rS rSrSr\R                  r\" \	R                  \	R                  \	R                  \	R                  5      \" \	R                  \	R                  \	R                  \	R                  5      /rSrg)ÚCuda_fmaé©   z{
Supported types from `llvm.fma`
[here](https://docs.nvidia.com/cuda/nvvm-ir-spec/index.html#standard-c-library-intrinics)
r-   N)r4   r5   r6   r7   r�   r   Úfmar>   r   r   Úfloat32Úfloat64rS   r8   r-   r2   r*   r‹   r‹   ©   sU   † ñð �(‰(€Cá�%—-‘- §¡°·±¸u¿}¹}ÓMÙ�%—-‘- §¡°·±¸u¿}¹}ÓMðƒEr2   r‹   c                   ó¨   • \ rS rSr\R
                  R                  r\" \	R                  \	R                  \	R                  \	R                  5      /rSrg)Ú	Cuda_hfmaé¶   r-   N)r4   r5   r6   r7   r   Úfp16Úhfmar>   r   r   Úfloat16rS   r8   r-   r2   r*   r‘   r‘   ¶   s4   † à
�)‰)�.‰.€Cá�%—-‘- §¡°·±¸u¿}¹}ÓMðƒEr2   r‘   c                   ó    • \ rS rSr\R
                  r\" \R                  \R                  5      \" \R                  \R                  5      /rSrg)Ú	Cuda_cbrté¾   r-   N)r4   r5   r6   r7   r   Úcbrtr>   r   r   rŽ   r�   rS   r8   r-   r2   r*   r—   r—   ¾   s8   † ð �)‰)€Cá�%—-‘- §¡Ó/Ù�%—-‘- §¡Ó/ðƒEr2   r—   c                   ó    • \ rS rSr\R
                  r\" \R                  \R                  5      \" \R                  \R                  5      /rSrg)Ú	Cuda_brevéÈ   r-   N)r4   r5   r6   r7   r   Úbrevr>   r   r   ry   r‰   rS   r8   r-   r2   r*   r›   r›   È   s6   † à
�)‰)€Cá�%—,‘, §¡Ó-Ù�%—,‘, §¡Ó-ðƒEr2   r›   c                   óô  • \ rS rSrSr\R                  r\" \	R                  \	R                  5      \" \	R                  \	R                  5      \" \	R                  \	R                  5      \" \	R                  \	R                  5      \" \	R                  \	R                  5      \" \	R                  \	R                  5      \" \	R                   \	R                   5      \" \	R"                  \	R"                  5      /rSrg)ÚCuda_clzéÑ   zz
Supported types from `llvm.ctlz`
[here](http://docs.nvidia.com/cuda/nvvm-ir-spec/index.html#bit-manipulations-intrinics)
r-   N)r4   r5   r6   r7   r�   r   Úclzr>   r   r   rƒ   r„   r…   r†   r‡   rˆ   ry   r‰   rS   r8   r-   r2   r*   rŸ   rŸ   Ñ   s©   † ñð �(‰(€Cá�%—*‘*˜eŸj™jÓ)Ù�%—+‘+˜uŸ{™{Ó+Ù�%—+‘+˜uŸ{™{Ó+Ù�%—+‘+˜uŸ{™{Ó+Ù�%—+‘+˜uŸ{™{Ó+Ù�%—,‘, §¡Ó-Ù�%—,‘, §¡Ó-Ù�%—,‘, §¡Ó-ð	ƒEr2   rŸ   c                   óô  • \ rS rSrSr\R                  r\" \	R                  \	R                  5      \" \	R                  \	R                  5      \" \	R                  \	R                  5      \" \	R                  \	R                  5      \" \	R                  \	R                  5      \" \	R                  \	R                   5      \" \	R                  \	R                  5      \" \	R                  \	R"                  5      /rSrg)ÚCuda_ffséä   zz
Supported types from `llvm.cttz`
[here](http://docs.nvidia.com/cuda/nvvm-ir-spec/index.html#bit-manipulations-intrinics)
r-   N)r4   r5   r6   r7   r�   r   Úffsr>   r   r   ry   rƒ   r„   r…   r†   r‡   rˆ   r‰   rS   r8   r-   r2   r*   r£   r£   ä   s©   † ñð �(‰(€Cá�%—,‘, §
¡
Ó+Ù�%—,‘, §¡Ó,Ù�%—,‘, §¡Ó,Ù�%—,‘, §¡Ó,Ù�%—,‘, §¡Ó,Ù�%—,‘, §¡Ó-Ù�%—,‘, §¡Ó-Ù�%—,‘, §¡Ó-ð	ƒEr2   r£   c                   ó2   • \ rS rSr\R
                  rS rSrg)Ú	Cuda_selpé÷   c                 ó@  • U(       a   eUu  p4n[         R                  [         R                  [         R                  [         R                  [         R
                  [         R                  [         R                  [         R                  4nXE:w  d  XF;  a  g [        XCXD5      $ rH   )
r   r�   rŽ   r„   rˆ   r…   ry   r†   r‰   r   )r/   ÚargsÚkwsÚtestÚaÚbÚsupported_typess          r*   r0   ÚCuda_selp.genericû   sk   € ÞˆˆwØ‰
ˆ�ô !Ÿ=™=¬%¯-©-Ü Ÿ;™;¬¯©Ü Ÿ;™;¬¯©Ü Ÿ;™;¬¯©ð6ˆð
 ‹6�QÓ-Øä˜ !Ó'Ð'r2   r-   N)	r4   r5   r6   r7   r   Úselpr>   r0   r8   r-   r2   r*   r§   r§   ÷   s   † à
�)‰)€Cõ(r2   r§   c                 ó>   ^ • [          " U 4S jS[        5      5       nU$ )Nc                   óX   >• \ rS rSr Y r\" \R                  \R                  5      /rSr	g)Ú'_genfp16_unary.<locals>.Cuda_fp16_unaryi  r-   N©
r4   r5   r6   r7   r>   r   r   r•   rS   r8   ©Úl_keys   €r*   ÚCuda_fp16_unaryr´     s   ø† áˆÙ˜5Ÿ=™=¨%¯-©-Ó8Ð9‹r2   r¸   ©Úregisterr   ©r·   r¸   s   ` r*   Ú_genfp16_unaryr¼     s%   ø€ Ü÷:Ô*ó :ó ð:ð Ðr2   c                 óH   ^ • [        T 5       " U 4S jS[        5      5       nU$ )Nc                   ó"   >• \ rS rSr Y rS rSrg)Ú0_genfp16_unary_operator.<locals>.Cuda_fp16_unaryi  c                 ó´   • U(       a   e[        U5      S:X  a@  US   [        R                  :X  a(  [        [        R                  [        R                  5      $ g g )Né   r   )Úlenr   r•   r   )r/   rª   r«   s      r*   r0   Ú8_genfp16_unary_operator.<locals>.Cuda_fp16_unary.generic  s?   € ÞˆN�7Ü�4‹y˜A‹~ $ q¡'¬U¯]©]Ó":Ü ¤§¡´·±Ó>Ð>ð #;ˆ~r2   r-   N©r4   r5   r6   r7   r>   r0   r8   r¶   s   €r*   r¸   r¿     s   ø† áˆõ	?r2   r¸   ©Úregister_globalr   r»   s   ` r*   Ú_genfp16_unary_operatorrÇ     s*   ø€ Ü�UÓ÷?Ô*ó ?ó ð?ð Ðr2   c                 ó>   ^ • [          " U 4S jS[        5      5       nU$ )Nc                   ón   >• \ rS rSr Y r\" \R                  \R                  \R                  5      /rSr	g)Ú)_genfp16_binary.<locals>.Cuda_fp16_binaryi#  r-   Nrµ   r¶   s   €r*   ÚCuda_fp16_binaryrÊ   #  s%   ø† áˆÙ˜5Ÿ=™=¨%¯-©-¸¿¹ÓGÐH‹r2   rË   r¹   )r·   rË   s   ` r*   Ú_genfp16_binaryrÌ   "  s(   ø€ Ü÷IÔ+ó Ió ðIð Ðr2   c                   ó   • \ rS rSrS rSrg)ÚFloati+  c                 ó\   • U(       a   eUu  nU[         R                  :X  a  [        X35      $ g rH   )r   r•   r   )r/   rª   r«   Úargs       r*   r0   ÚFloat.generic.  s,   € Þˆˆwà‰ˆà”%—-‘-ÓÜ˜SÓ&Ð&ð  r2   r-   Nr3   r-   r2   r*   rÎ   rÎ   +  s   † õ'r2   rÎ   c                 ó>   ^ • [          " U 4S jS[        5      5       nU$ )Nc                   ón   >• \ rS rSr Y r\" \R                  \R                  \R                  5      /r	Sr
g)Ú1_genfp16_binary_comparison.<locals>.Cuda_fp16_cmpi8  r-   N)r4   r5   r6   r7   r>   r   r   re   r•   rS   r8   r¶   s   €r*   ÚCuda_fp16_cmprÔ   8  s)   ø† áˆñ �e—h‘h §¡¨u¯}©}Ó=ð
‹r2   rÕ   r¹   )r·   rÕ   s   ` r*   Ú_genfp16_binary_comparisonrÖ   7  s%   ø€ Ü÷
Ô(ó 
ó ð
ð Ðr2   c                 óL   ^ ^• [        T 5       " U U4S jS[        5      5       nU$ )Nc                   ó(   >• \ rS rSr Y rU4S jrSrg)Ú1_fp16_binary_operator.<locals>.Cuda_fp16_operatoriP  c                 ó  >• U(       a   e[        U5      S:X  añ  US   [        R                  :X  d  US   [        R                  :X  aÂ  US   [        R                  :X  a#  U R                  R	                  US   US   5      nO"U R                  R	                  US   US   5      nU[
        R                  :X  d(  U[
        R                  :X  d  U[
        R                  :X  a)  [        T[        R                  [        R                  5      $ g g g )Né   r   rÁ   )
rÂ   r   r•   ÚcontextÚcan_convertr   ÚexactÚpromoteÚsafer   )r/   rª   r«   ÚconvertibleÚrettys       €r*   r0   Ú9_fp16_binary_operator.<locals>.Cuda_fp16_operator.genericT  sÑ   ø€ ÞˆN�7ä�4‹y˜A‹~Ø˜!‘W¤§¡Ó-°°a±¼E¿M¹MÓ1IØ˜‘GœuŸ}™}Ó,Ø"&§,¡,×":Ñ":¸4À¹7ÀDÈÁGÓ"L‘Kà"&§,¡,×":Ñ":¸4À¹7ÀDÈÁGÓ"L�Kð  ¤:×#3Ñ#3Ó3Ø¤:×#5Ñ#5Ó5Ø¤:§?¡?Ó2Ü$ U¬E¯M©M¼5¿=¹=ÓIÐIð 3ð! 2Jð r2   r-   NrÄ   )r·   râ   s   €€r*   ÚCuda_fp16_operatorrÙ   P  s   ø† áˆ÷	Jð 	Jr2   rä   rÅ   )r·   râ   rä   s   `` r*   Ú_fp16_binary_operatorrå   O  s3   ù€ Ü�UÓ÷Jð JÔ-ó Jó ðJð4 Ðr2   c                 ó6   • [        U [        R                  5      $ rH   )rå   r   re   ©Úops    r*   Ú_genfp16_comparison_operatorré   n  s   € Ü  ¤U§X¡XÓ.Ð.r2   c                 ó6   • [        U [        R                  5      $ rH   )rå   r   r•   rç   s    r*   Ú_genfp16_binary_operatorrë   r  s   € Ü  ¤U§]¡]Ó3Ð3r2   c                 óˆ   • [        SU  3[        R                  [        R                  45      n[        R                  " U5      $ ©NÚ__numba_wrapper_©r   r   r•   ÚFunction©ÚfnameÚdecls     r*   Ú_resolve_wrapped_unaryrô   •  s8   € Ü+Ð.>¸u¸gÐ,FÜ,1¯M©MÜ-2¯]©]Ð,<ó>€Dô �>Š>˜$ÓÐr2   c                 ó¦   • [        SU  3[        R                  [        R                  [        R                  45      n[        R                  " U5      $ rí   rï   rñ   s     r*   Ú_resolve_wrapped_binaryrö   œ  s?   € Ü+Ð.>¸u¸gÐ,FÜ,1¯M©MÜ-2¯]©]¼E¿M¹MÐ,KóM€Dô �>Š>˜$ÓÐr2   ÚhsinÚhcosÚhlogÚhlog10Úhlog2ÚhexpÚhexp10Úhexp2ÚhsqrtÚhrsqrtÚhfloorÚhceilÚhrcpÚhrintÚhtruncÚhdivc                 óB   ^ ^• [          " U U4S jS[        5      5       nU$ )Nc                   ó(   >• \ rS rSr Y rU4S jrSrg)Ú_gen.<locals>.Cuda_atomici·  c                 ó&  >• U(       a   eUu  p4nUR                   T;  a  g UR                  S:X  a0  [        UR                   U[        R                  UR                   5      $ UR                  S:”  a!  [        UR                   X4UR                   5      $ g ©NrÁ   )r   r   r   r   Úintp)r/   rª   r«   ÚaryÚidxÚvalr¯   s         €r*   r0   Ú!_gen.<locals>.Cuda_atomic.generic»  sq   ø€ ÞˆN�7Ø ‰MˆC�cà�y‰y Ó/Øà�x‰x˜1‹}Ü  §¡¨C´·±¸S¿Y¹YÓGÐGØ—‘˜A“Ü  §¡¨C°c·i±iÓ@Ð@ð r2   r-   NrÄ   )r·   r¯   s   €€r*   ÚCuda_atomicr	  ·  s   ø† áˆ÷
	Að 
	Ar2   r  )rº   r   )r·   r¯   r  s   `` r*   Ú_genr  ¶  s.   ù€ Ü÷Að AÔ&ó Aó ðAð Ðr2   c                   óF   • \ rS rSr\R
                  R                  rS rSr	g)ÚCuda_atomic_compare_and_swapià  c                 ó†   • U(       a   eUu  p4nUR                   nU[        ;   a  UR                  S:X  a  [        XcXf5      $ g g r  )r   Úinteger_numba_typesr   r   )r/   rª   r«   r  Úoldr  Údtys          r*   r0   Ú$Cuda_atomic_compare_and_swap.genericä  sC   € ÞˆˆwØ‰ˆ�#Ø�i‰iˆàÔ%Ó%¨#¯(©(°a«-Ü˜S sÓ0Ð0ð +8Ð%r2   r-   N)
r4   r5   r6   r7   r   ÚatomicÚcompare_and_swapr>   r0   r8   r-   r2   r*   r  r  à  s   † à
�+‰+×
&Ñ
&€Cõ1r2   r  c                   óF   • \ rS rSr\R
                  R                  rS rSr	g)ÚCuda_atomic_casií  c                 óÞ   • U(       a   eUu  p4pVUR                   nU[        ;  a  g UR                  S:X  a  [        Xs[        R
                  Xw5      $ UR                  S:”  a  [        XsXGU5      $ g r  )r   r  r   r   r   r  )r/   rª   r«   r  r  r  r  r  s           r*   r0   ÚCuda_atomic_cas.genericñ  se   € ÞˆˆwØ!Ñˆ�#Ø�i‰iˆàÔ)Ó)Øà�8‰8�q‹=Ü˜S¤u§z¡z°3Ó<Ð<Ø�X‰X˜‹\Ü˜S s°Ó5Ð5ð r2   r-   N)
r4   r5   r6   r7   r   r  Úcasr>   r0   r8   r-   r2   r*   r  r  í  s   † à
�+‰+�/‰/€Cõ6r2   r  c                   óh   • \ rS rSr\R
                  r\" \R                  \R                  5      /rSrg)ÚCuda_nanosleepiÿ  r-   N)r4   r5   r6   r7   r   Ú	nanosleepr>   r   r   Úvoidry   rS   r8   r-   r2   r*   r"  r"  ÿ  s"   † à
�.‰.€Cá�u—z‘z 5§<¡<Ó0Ð1ƒEr2   r"  c                   ó*   • \ rS rSr\rS rS rS rSr	g)Ú
Dim3_attrsi  c                 ó"   • [         R                  $ rH   ©r   r…   ©r/   Úmods     r*   Ú	resolve_xÚDim3_attrs.resolve_x
  ó   € Ü�{‰{Ðr2   c                 ó"   • [         R                  $ rH   r(  r)  s     r*   Ú	resolve_yÚDim3_attrs.resolve_y  r-  r2   c                 ó"   • [         R                  $ rH   r(  r)  s     r*   Ú	resolve_zÚDim3_attrs.resolve_z  r-  r2   r-   N)
r4   r5   r6   r7   r   r>   r+  r/  r2  r8   r-   r2   r*   r&  r&    s   † à
€Còòõr2   r&  c                   óR   • \ rS rSr\R
                  " \R                  5      rS r	Sr
g)ÚCudaSharedModuleTemplatei  c                 ó6   • [         R                  " [        5      $ rH   )r   rð   r:   r)  s     r*   Úresolve_arrayÚ&CudaSharedModuleTemplate.resolve_array  s   € Ü�~Š~Ô/Ó0Ð0r2   r-   N)r4   r5   r6   r7   r   ÚModuler   r<   r>   r7  r8   r-   r2   r*   r5  r5    s   † à
�,Š,�t—{‘{Ó
#€Cõ1r2   r5  c                   óR   • \ rS rSr\R
                  " \R                  5      rS r	Sr
g)ÚCudaConstModuleTemplatei  c                 ó6   • [         R                  " [        5      $ rH   )r   rð   rD   r)  s     r*   Úresolve_array_likeÚ*CudaConstModuleTemplate.resolve_array_like   s   € Ü�~Š~Ô3Ó4Ð4r2   r-   N)r4   r5   r6   r7   r   r9  r   rL   r>   r=  r8   r-   r2   r*   r;  r;    s   † à
�,Š,�t—z‘zÓ
"€Cõ5r2   r;  c                   óR   • \ rS rSr\R
                  " \R                  5      rS r	Sr
g)ÚCudaLocalModuleTemplatei$  c                 ó6   • [         R                  " [        5      $ rH   )r   rð   r@   r)  s     r*   r7  Ú%CudaLocalModuleTemplate.resolve_array(  ó   € Ü�~Š~Ô.Ó/Ð/r2   r-   N)r4   r5   r6   r7   r   r9  r   rB   r>   r7  r8   r-   r2   r*   r@  r@  $  s   † à
�,Š,�t—z‘zÓ
"€Cõ0r2   r@  c                   ó    • \ rS rSr\R
                  " \R                  5      rS r	S r
S rS rS rS rS rS	 rS
 rS rS rS rS rS rSrg)ÚCudaAtomicTemplatei,  c                 ó6   • [         R                  " [        5      $ rH   )r   rð   ÚCuda_atomic_addr)  s     r*   Úresolve_addÚCudaAtomicTemplate.resolve_add0  ó   € Ü�~Š~œoÓ.Ð.r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   ÚCuda_atomic_subr)  s     r*   Úresolve_subÚCudaAtomicTemplate.resolve_sub3  rJ  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   ÚCuda_atomic_andr)  s     r*   Úresolve_and_ÚCudaAtomicTemplate.resolve_and_6  rJ  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   ÚCuda_atomic_orr)  s     r*   Úresolve_or_ÚCudaAtomicTemplate.resolve_or_9  ó   € Ü�~Š~œnÓ-Ð-r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   ÚCuda_atomic_xorr)  s     r*   Úresolve_xorÚCudaAtomicTemplate.resolve_xor<  rJ  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   ÚCuda_atomic_incr)  s     r*   Úresolve_incÚCudaAtomicTemplate.resolve_inc?  rJ  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   ÚCuda_atomic_decr)  s     r*   Úresolve_decÚCudaAtomicTemplate.resolve_decB  rJ  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   ÚCuda_atomic_exchr)  s     r*   Úresolve_exchÚCudaAtomicTemplate.resolve_exchE  rC  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   ÚCuda_atomic_maxr)  s     r*   Úresolve_maxÚCudaAtomicTemplate.resolve_maxH  rJ  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   ÚCuda_atomic_minr)  s     r*   Úresolve_minÚCudaAtomicTemplate.resolve_minK  rJ  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   ÚCuda_atomic_nanminr)  s     r*   Úresolve_nanminÚ!CudaAtomicTemplate.resolve_nanminN  ó   € Ü�~Š~Ô0Ó1Ð1r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   ÚCuda_atomic_nanmaxr)  s     r*   Úresolve_nanmaxÚ!CudaAtomicTemplate.resolve_nanmaxQ  rt  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   r  r)  s     r*   Úresolve_compare_and_swapÚ+CudaAtomicTemplate.resolve_compare_and_swapT  s   € Ü�~Š~Ô:Ó;Ð;r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   r  r)  s     r*   Úresolve_casÚCudaAtomicTemplate.resolve_casW  rJ  r2   r-   N)r4   r5   r6   r7   r   r9  r   r  r>   rH  rM  rQ  rU  rZ  r^  rb  rf  rj  rn  rr  rw  rz  r}  r8   r-   r2   r*   rE  rE  ,  sZ   † à
�,Š,�t—{‘{Ó
#€Cò/ò/ò/ò.ò/ò/ò/ò0ò/ò/ò2ò2ò<õ/r2   rE  c                   ó   • \ rS rSr\R
                  " \R                  5      rS r	S r
S rS rS rS rS rS	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S r!S r"S r#S r$S r%S r&S r'g!)"ÚCudaFp16Templatei[  c                 ó6   • [         R                  " [        5      $ rH   )r   rð   Ú	Cuda_haddr)  s     r*   Úresolve_haddÚCudaFp16Template.resolve_hadd_  ó   € Ü�~Š~œiÓ(Ð(r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   Ú	Cuda_hsubr)  s     r*   Úresolve_hsubÚCudaFp16Template.resolve_hsubb  r…  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   Ú	Cuda_hmulr)  s     r*   Úresolve_hmulÚCudaFp16Template.resolve_hmule  r…  r2   c                 ó   • [         $ rH   )Úhdiv_devicer)  s     r*   Úresolve_hdivÚCudaFp16Template.resolve_hdivh  ó   € ÜÐr2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   Ú	Cuda_hnegr)  s     r*   Úresolve_hnegÚCudaFp16Template.resolve_hnegk  r…  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   Ú	Cuda_habsr)  s     r*   Úresolve_habsÚCudaFp16Template.resolve_habsn  r…  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   r‘   r)  s     r*   Úresolve_hfmaÚCudaFp16Template.resolve_hfmaq  r…  r2   c                 ó   • [         $ rH   )Úhsin_devicer)  s     r*   Úresolve_hsinÚCudaFp16Template.resolve_hsint  r’  r2   c                 ó   • [         $ rH   )Úhcos_devicer)  s     r*   Úresolve_hcosÚCudaFp16Template.resolve_hcosw  r’  r2   c                 ó   • [         $ rH   )Úhlog_devicer)  s     r*   Úresolve_hlogÚCudaFp16Template.resolve_hlogz  r’  r2   c                 ó   • [         $ rH   )Úhlog10_devicer)  s     r*   Úresolve_hlog10ÚCudaFp16Template.resolve_hlog10}  ó   € ÜÐr2   c                 ó   • [         $ rH   )Úhlog2_devicer)  s     r*   Úresolve_hlog2ÚCudaFp16Template.resolve_hlog2€  ó   € ÜÐr2   c                 ó   • [         $ rH   )Úhexp_devicer)  s     r*   Úresolve_hexpÚCudaFp16Template.resolve_hexpƒ  r’  r2   c                 ó   • [         $ rH   )Úhexp10_devicer)  s     r*   Úresolve_hexp10ÚCudaFp16Template.resolve_hexp10†  r®  r2   c                 ó   • [         $ rH   )Úhexp2_devicer)  s     r*   Úresolve_hexp2ÚCudaFp16Template.resolve_hexp2‰  r³  r2   c                 ó   • [         $ rH   )Úhfloor_devicer)  s     r*   Úresolve_hfloorÚCudaFp16Template.resolve_hfloorŒ  r®  r2   c                 ó   • [         $ rH   )Úhceil_devicer)  s     r*   Úresolve_hceilÚCudaFp16Template.resolve_hceil�  r³  r2   c                 ó   • [         $ rH   )Úhsqrt_devicer)  s     r*   Úresolve_hsqrtÚCudaFp16Template.resolve_hsqrt’  r³  r2   c                 ó   • [         $ rH   )Úhrsqrt_devicer)  s     r*   Úresolve_hrsqrtÚCudaFp16Template.resolve_hrsqrt•  r®  r2   c                 ó   • [         $ rH   )Úhrcp_devicer)  s     r*   Úresolve_hrcpÚCudaFp16Template.resolve_hrcp˜  r’  r2   c                 ó   • [         $ rH   )Úhrint_devicer)  s     r*   Úresolve_hrintÚCudaFp16Template.resolve_hrint›  r³  r2   c                 ó   • [         $ rH   )Úhtrunc_devicer)  s     r*   Úresolve_htruncÚCudaFp16Template.resolve_htruncž  r®  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   ÚCuda_heqr)  s     r*   Úresolve_heqÚCudaFp16Template.resolve_heq¡  ó   € Ü�~Š~œhÓ'Ð'r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   ÚCuda_hner)  s     r*   Úresolve_hneÚCudaFp16Template.resolve_hne¤  rà  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   ÚCuda_hger)  s     r*   Úresolve_hgeÚCudaFp16Template.resolve_hge§  rà  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   ÚCuda_hgtr)  s     r*   Úresolve_hgtÚCudaFp16Template.resolve_hgtª  rà  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   ÚCuda_hler)  s     r*   Úresolve_hleÚCudaFp16Template.resolve_hle­  rà  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   ÚCuda_hltr)  s     r*   Úresolve_hltÚCudaFp16Template.resolve_hlt°  rà  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   Ú	Cuda_hmaxr)  s     r*   Úresolve_hmaxÚCudaFp16Template.resolve_hmax³  r…  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   Ú	Cuda_hminr)  s     r*   Úresolve_hminÚCudaFp16Template.resolve_hmin¶  r…  r2   r-   N)(r4   r5   r6   r7   r   r9  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û  r8   r-   r2   r*   r€  r€  [  sª   † à
�,Š,�t—y‘yÓ
!€Cò)ò)ò)òò)ò)ò)òòòòòòòòòòòòòòòò(ò(ò(ò(ò(ò(ò)õ)r2   r€  c                   óæ   • \ rS rSr\R
                  " \5      rS rS r	S r
S rS rS rS rS	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S r!S r"S r#S r$Sr%g )!ÚCudaModuleTemplateiº  c                 óJ   • [         R                  " [        R                  5      $ rH   )r   r9  r   Úcgr)  s     r*   Ú
resolve_cgÚCudaModuleTemplate.resolve_cg¾  s   € Ü�|Š|œDŸG™GÓ$Ð$r2   c                 ó   • [         $ rH   r   r)  s     r*   Úresolve_threadIdxÚ$CudaModuleTemplate.resolve_threadIdxÁ  ó   € Üˆr2   c                 ó   • [         $ rH   r   r)  s     r*   Úresolve_blockIdxÚ#CudaModuleTemplate.resolve_blockIdxÄ  r  r2   c                 ó   • [         $ rH   r   r)  s     r*   Úresolve_blockDimÚ#CudaModuleTemplate.resolve_blockDimÇ  r  r2   c                 ó   • [         $ rH   r   r)  s     r*   Úresolve_gridDimÚ"CudaModuleTemplate.resolve_gridDimÊ  r  r2   c                 ó"   • [         R                  $ rH   r(  r)  s     r*   Úresolve_laneidÚ!CudaModuleTemplate.resolve_laneidÍ  r-  r2   c                 óJ   • [         R                  " [        R                  5      $ rH   )r   r9  r   r<   r)  s     r*   Úresolve_sharedÚ!CudaModuleTemplate.resolve_sharedÐ  ó   € Ü�|Š|œDŸK™KÓ(Ð(r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   r   r)  s     r*   Úresolve_popcÚCudaModuleTemplate.resolve_popcÓ  r…  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   r›   r)  s     r*   Úresolve_brevÚCudaModuleTemplate.resolve_brevÖ  r…  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   rŸ   r)  s     r*   Úresolve_clzÚCudaModuleTemplate.resolve_clzÙ  rà  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   r£   r)  s     r*   Úresolve_ffsÚCudaModuleTemplate.resolve_ffsÜ  rà  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   r‹   r)  s     r*   Úresolve_fmaÚCudaModuleTemplate.resolve_fmaß  rà  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   r—   r)  s     r*   Úresolve_cbrtÚCudaModuleTemplate.resolve_cbrtâ  r…  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   rO   r)  s     r*   Úresolve_threadfenceÚ&CudaModuleTemplate.resolve_threadfenceå  ó   € Ü�~Š~Ô5Ó6Ð6r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   rU   r)  s     r*   Úresolve_threadfence_blockÚ,CudaModuleTemplate.resolve_threadfence_blockè  s   € Ü�~Š~Ô4Ó5Ð5r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   rY   r)  s     r*   Úresolve_threadfence_systemÚ-CudaModuleTemplate.resolve_threadfence_systemë  r,  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   r]   r)  s     r*   Úresolve_syncwarpÚ#CudaModuleTemplate.resolve_syncwarpî  s   € Ü�~Š~œmÓ,Ð,r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   rb   r)  s     r*   Úresolve_shfl_sync_intrinsicÚ.CudaModuleTemplate.resolve_shfl_sync_intrinsicñ  ó   € Ü�~Š~Ô6Ó7Ð7r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   rj   r)  s     r*   Úresolve_vote_sync_intrinsicÚ.CudaModuleTemplate.resolve_vote_sync_intrinsicô  r9  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   rn   r)  s     r*   Úresolve_match_any_syncÚ)CudaModuleTemplate.resolve_match_any_sync÷  ó   € Ü�~Š~Ô1Ó2Ð2r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   rr   r)  s     r*   Úresolve_match_all_syncÚ)CudaModuleTemplate.resolve_match_all_syncú  r@  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   rv   r)  s     r*   Úresolve_activemaskÚ%CudaModuleTemplate.resolve_activemaský  rJ  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   r{   r)  s     r*   Úresolve_lanemask_ltÚ&CudaModuleTemplate.resolve_lanemask_lt   rC  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   r§   r)  s     r*   Úresolve_selpÚCudaModuleTemplate.resolve_selp  r…  r2   c                 ó6   • [         R                  " [        5      $ rH   )r   rð   r"  r)  s     r*   Úresolve_nanosleepÚ$CudaModuleTemplate.resolve_nanosleep  rW  r2   c                 óJ   • [         R                  " [        R                  5      $ rH   )r   r9  r   r  r)  s     r*   Úresolve_atomicÚ!CudaModuleTemplate.resolve_atomic	  r  r2   c                 óJ   • [         R                  " [        R                  5      $ rH   )r   r9  r   r“   r)  s     r*   Úresolve_fp16ÚCudaModuleTemplate.resolve_fp16  s   € Ü�|Š|œDŸI™IÓ&Ð&r2   c                 óJ   • [         R                  " [        R                  5      $ rH   )r   r9  r   rL   r)  s     r*   Úresolve_constÚ CudaModuleTemplate.resolve_const  ó   € Ü�|Š|œDŸJ™JÓ'Ð'r2   c                 óJ   • [         R                  " [        R                  5      $ rH   )r   r9  r   rB   r)  s     r*   Úresolve_localÚ CudaModuleTemplate.resolve_local  rY  r2   r-   N)&r4   r5   r6   r7   r   r9  r   r>   r  r  r  r  r  r  r  r  r  r  r!  r$  r'  r*  r.  r1  r4  r7  r;  r>  rB  rE  rH  rK  rN  rQ  rT  rW  r[  r8   r-   r2   r*   rþ  rþ  º  s¡   † à
�,Š,�tÓ
€Cò%òòòòòò)ò)ò)ò(ò(ò(ò)ò7ò6ò7ò-ò8ò8ò3ò3ò/ò0ò)ò.ò)ò'ò(õ(r2   rþ  )ÚlogÚlog2Úlog10)°ÚoperatorÚ
numba.corer   Únumba.core.typing.npydeclr   r   r   r   r   r	   r
   r   Únumba.core.typing.templatesr   r   r   r   r   r   Únumba.cuda.typesr   Únumba.core.typeconvr   Únumbar   Únumba.cuda.compilerr   Úregistryrº   Úregister_attrrÆ   r   r:   r@   rD   rO   rU   rY   r]   rb   rj   rn   rr   rv   r{   r   r‹   r‘   r—   r›   rŸ   r£   r§   r¼   rÇ   rÌ   ÚfloatrÎ   rÖ   rå   ré   rë   r“   Úhaddr‚  ÚaddÚCuda_addÚiaddÚ	Cuda_iaddÚhsubr‡  ÚsubÚCuda_subÚisubÚ	Cuda_isubÚhmulr‹  ÚmulÚCuda_mulÚimulÚ	Cuda_imulÚhmaxrö  Úhminrú  Úhnegr”  ÚnegÚCuda_negÚhabsr˜  ÚabsÚCuda_absÚheqrÝ  ÚeqÚhnerâ  ÚneÚhgeræ  ÚgeÚhgtrê  ÚgtÚhlerî  ÚleÚhltrò  ÚltÚtruedivÚitruedivrô   rö   rŸ  r£  r§  r«  r°  rµ  r¹  r½  rÉ  rÍ  rÁ  rÅ  rÑ  rÕ  rÙ  r�  r  r�   rŽ   r…   ry   r†   r‰   Úall_numba_typesr  Úunsigned_int_numba_typesr  rG  rL  Úmaxri  Úminrm  Únanmaxrv  Únanminrq  Úand_rP  Úor_rT  ÚxorrY  Úincr]  Údecra  Úexchre  r  r  r"  r&  r5  r;  r@  rE  r€  rþ  r9  Úfuncr-   r2   r*   Ú<module>r�     sq  ðÛ Ý ÷@÷ @ó @÷>÷ >õ "Ý *Ý Ý @á‹:€Ø×Ñ€Ø×&Ñ&€Ø×*Ñ*€á ˜Ô (ôÐ&ô ð0 
ô˜ó ó 
ðð 
ô�ó ó 
ðð 
ôÐ,ó ó 
ðð 
ô$Ð.ó $ó 
ð$ð
 
ô$Ð-ó $ó 
ð$ð
 
ô$Ð.ó $ó 
ð$ð
 
ôEÐ$ó Eó 
ðEð
 
ôÐ/ó ó 
ðð 
ô6Ð/ó 6ó 
ð6ð 
ôÐ*ó ó 
ðð 
ôÐ*ó ó 
ðð 
ô&Ð&ó &ó 
ð&ð
 
ô&Ð'ó &ó 
ð&ð
 
ôÐ ó ó 
ðð$ 
ô	Ðó 	ó 
ð	ð 
ôÐ ó ó 
ðð 
ôÐ ó ó 
ðð 
ôÐ ó ó 
ðð 
ôÐó ó 
ðð$ 
ôÐó ó 
ðð$ 
ô(Ð ó (ó 
ð(ò(ò
òñ �Óô'Ðó 'ó ð'òò0ò>/ò4ñ ˜DŸI™IŸN™NÓ+€	Ù# H§L¡LÓ1€Ù$ X§]¡]Ó3€	Ù˜DŸI™IŸN™NÓ+€	Ù# H§L¡LÓ1€Ù$ X§]¡]Ó3€	Ù˜DŸI™IŸN™NÓ+€	Ù# H§L¡LÓ1€Ù$ X§]¡]Ó3€	Ù˜DŸI™IŸN™NÓ+€	Ù˜DŸI™IŸN™NÓ+€	Ù˜4Ÿ9™9Ÿ>™>Ó*€	Ù" 8§<¡<Ó0€Ù˜4Ÿ9™9Ÿ>™>Ó*€	Ù" 3Ó'€Ù% d§i¡i§m¡mÓ4€Ù ˜XŸ[™[Ô )Ù% d§i¡i§m¡mÓ4€Ù ˜XŸ[™[Ô )Ù% d§i¡i§m¡mÓ4€Ù ˜XŸ[™[Ô )Ù% d§i¡i§m¡mÓ4€Ù ˜XŸ[™[Ô )Ù% d§i¡i§m¡mÓ4€Ù ˜XŸ[™[Ô )Ù% d§i¡i§m¡mÓ4€Ù ˜XŸ[™[Ô )Ù ˜×)Ñ)Ô *Ù ˜×*Ñ*Ô +ò ò ñ % VÓ,€Ù$ VÓ,€Ù$ VÓ,€Ù& xÓ0€Ù% gÓ.€Ù$ VÓ,€Ù& xÓ0€Ù% gÓ.€Ù% gÓ.€Ù& xÓ0€Ù& xÓ0€Ù% gÓ.€Ù$ VÓ,€Ù% gÓ.€Ù& xÓ0€Ù% fÓ-€òð& —=’= %§-¢-Ø—;’; §¢Ø—;’; §¢ð.€ð —{’{ E§L¢LØ—{’{ E§L¢Lð2Ð ð "ŸLšL¨%¯,ª,Ð7Ð á�t—{’{—‘¨Ó8€Ù�t—{’{—‘¨Ó8€Ù�t—{’{—’¨Ó8€Ù�t—{’{—’¨Ó8€Ù˜$Ÿ+š+×,Ò,¨oÓ>Ð Ù˜$Ÿ+š+×,Ò,¨oÓ>Ð Ù�t—{’{×'Ò'Ð)<Ó=€Ù�d—k’k—o’oÐ':Ó;€Ù�t—{’{—’Ð(;Ó<€Ù�t—{’{—’Ð(@ÓA€Ù�t—{’{—’Ð(@ÓA€Ù˜Ÿš×(Ò(Ð*=Ó>Ð ð 
ô	1Ð#3ó 	1ó 
ð	1ð 
ô6Ð&ó 6ó 
ð6ð" 
ô2Ð%ó 2ó 
ð2ð ô
Ð"ó 
ó ð
ð ô1Ð0ó 1ó ð1ð ô5Ð/ó 5ó ð5ð ô0Ð/ó 0ó ð0ð ô+/Ð*ó +/ó ð+/ð\ ô[)Ð(ó [)ó ð[)ð| ôX(Ð*ó X(ó ðX(ñv ��e—l“l 4Ó(Ô )ó
 $€DÙ˜˜Ö/ñ $ó !€DÙ˜˜Ö/ñ !ó $€DÙ˜˜Ö/ñ $ó €DØÐ'Õ'Ù˜T ?Ö3ò r2   