§
    J/Ph»  ã                   ó`   — d dl mZ d dlmZmZ  G d„ de¦  «        Z G d„ de¦  «        Zd„ ZdS )	é    )Úir)ÚVisitorÚCallVisitorc                   ó8   — e Zd ZdZ eg d¢¦  «        Zd„ Zd„ ZdS )ÚFastFloatBinOpVisitorzb
    A pass to add fastmath flag to float-binop instruction if they don't have
    any flags.
    )ÚfaddÚfsubÚfmulÚfdivÚfremÚfcmpc                 ó   — || _         d S ©N©Úflags©Úselfr   s     úW/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/numba/core/fastmathpass.pyÚ__init__zFastFloatBinOpVisitor.__init__   ó   € ØˆŒ
ˆ
ˆ
ó    c                 ó€   — |j         | j        v r+|j        s&| j        D ] }|j                             |¦  «         Œd S d S d S r   )ÚopnameÚfloat_binopsr   Úappend©r   ÚinstrÚflags      r   Úvisit_Instructionz'FastFloatBinOpVisitor.visit_Instruction   sb   € ØŒ<˜4Ô,Ð,Ð,Ø”;ð -Ø œJð -ð -DØ”K×&Ò& tÑ,Ô,Ð,Ð,ð -Ð,ð-ð -ð-ð -r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	frozensetr   r   r   © r   r   r   r      sT   € € € € € ðð ð 9ÐMÐMÐMÑNÔN€Lðð ð ð-ð -ð -ð -ð -r   r   c                   ó   — e Zd ZdZd„ Zd„ ZdS )ÚFastFloatCallVisitorzD
    A pass to change all float function calls to use fastmath.
    c                 ó   — || _         d S r   r   r   s     r   r   zFastFloatCallVisitor.__init__   r   r   c                 ó¬   — |j         t          j        ¦   «         t          j        ¦   «         fv r$| j        D ]}|j                             |¦  «         Œd S d S r   )Útyper   Ú	FloatTypeÚ
DoubleTyper   ÚfastmathÚaddr   s      r   Ú
visit_CallzFastFloatCallVisitor.visit_Call   s\   € àŒ:"œ,™.œ.­"¬-©/¬/Ð:Ð:Ð:Øœ
ð )ð )Ø”×"Ò" 4Ñ(Ô(Ð(Ð(ð ;Ð:ð)ð )r   N)r    r!   r"   r#   r   r/   r%   r   r   r'   r'      s<   € € € € € ðð ðð ð ð)ð )ð )ð )ð )r   r'   c                 óœ   — |j         }t          |¦  «                             | ¦  «         t          |¦  «                             | ¦  «         dS )zC
    Rewrite the given LLVM module to use fastmath everywhere.
    N)r   r   Úvisitr'   )ÚmodÚoptionsr   s      r   Úrewrite_moduler4   %   sI   € ð ŒM€EÝ˜%Ñ Ô ×&Ò& sÑ+Ô+Ð+Ý˜ÑÔ×%Ò% cÑ*Ô*Ð*Ð*Ð*r   N)Úllvmliter   Úllvmlite.ir.transformsr   r   r   r'   r4   r%   r   r   ú<module>r7      sœ   ðØ Ð Ð Ð Ð Ð Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7ð-ð -ð -ð -ð -˜Gñ -ô -ð -ð")ð )ð )ð )ð )˜;ñ )ô )ð )ð+ð +ð +ð +ð +r   