§
    fŠtj{  ã                   ó:   — d Z ddlmZmZmZmZmZ ddlZd„ Z	d„ Z
dS )zú
This module checks whether to break out of the solver loop.

Translated from Zaikun Zhang's modern-Fortran reference implementation in PRIMA.

Dedicated to late Professor M. J. D. Powell FRS (1936--2015).

Python translation by Nickolai Belakovski.
é   )ÚINFO_DEFAULTÚ	NAN_INF_XÚ	NAN_INF_FÚFTARGET_ACHIEVEDÚMAXFUN_REACHEDé    Nc                 óÆ  — t           }d}t           t          t          t          t          fvsJ d|› �¦   «         ‚t          t          j        |¦  «        ¦  «        rJ d|› �¦   «         ‚t          t          j        |¦  «        ¦  «        s!t          t          j        |¦  «        ¦  «        rJ d|› �¦   «         ‚t          t          j        |¦  «        ¦  «        s!t          t          j	        |¦  «        ¦  «        rt          }t          t          j        |¦  «        ¦  «        s!t          t          j        |¦  «        ¦  «        rt          }||k    rt          }|| k    rt          }|S )z_
    This module checks whether to break out of the solver loop in the unconstrained case.
    ÚCHECKbreak_UNCúPNAN_INF_X, NAN_INF_F, FTARGET_ACHIEVED, and MAXFUN_REACHED differ from INFO_DFT úX does not contain NaN zF is not NaN/+Inf ©
r   r   r   r   r   ÚanyÚnpÚisnanÚisposinfÚisinf)ÚmaxfunÚnfÚfÚftargetÚxÚinfoÚsrnames          úb/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/_lib/pyprima/common/checkbreak.pyÚcheckbreak_uncr      sM  € õ €Dð €Fõ ¥	­9Õ6FÍÐWÐWÐWÐWð  Zuð  msð  Zuð  ZuÑWÔWÐWõ •2”8˜A‘;”;ÑÔÐCÐCÐ!C¸6Ð!CÐ!CÑCÔCÐå•B”H˜Q‘K”KÑ Ô ÐW¥C­¬°A©¬Ñ$7Ô$7ÐWÐWÐ:WÈvÐ:WÐ:WÑWÔWÐ8õ �2Œ8�A‰;Œ;ÑÔð �3�rœx¨™{œ{Ñ+Ô+ð Ýˆõ �2Œ8�A‰;Œ;ÑÔð �3�rœ{¨1™~œ~Ñ.Ô.ð ÝˆàˆG‚|€|Ýˆà	ˆV‚|€|Ýˆà€Kó    c                 ó
  — t           }d}t           t          t          t          t          fvsJ d|› �¦   «         ‚t          t          j        |¦  «        ¦  «        rJ d|› �¦   «         ‚t          j        |¦  «        s<t          j        |¦  «        s(t          j        |¦  «        st          j        |¦  «        rJ d|› �¦   «         ‚t          t          j        |¦  «        ¦  «        s!t          t          j	        |¦  «        ¦  «        rt          }t          j        |¦  «        s<t          j        |¦  «        s(t          j        |¦  «        st          j        |¦  «        rt          }||k    r||k    rt          }|| k    rt          }|S )z]
    This module checks whether to break out of the solver loop in the constrained case.
    ÚCHECKbreak_CONr   r   zF or CSTRV is not NaN/+Inf r   )	r   r   ÚcstrvÚctolr   r   r   r   r   s	            r   Úcheckbreak_conr!   7   ss  € õ €Dð €Fõ ¥	­9Õ6FÍÐWÐWÐWÐWð  Zuð  msð  Zuð  ZuÑWÔWÐWõ •2”8˜A‘;”;ÑÔÐCÐCÐ!C¸6Ð!CÐ!CÑCÔCÐå”˜‘”Ð�rœ{¨1™~œ~Ðµ´¸%±´ÐÅBÄKÐPUÑDVÔDVÐÐÐYÐw}ÐYÐYÑÔÐWõ �2Œ8�A‰;Œ;ÑÔð �3�rœx¨™{œ{Ñ+Ô+ð Ýˆõ 
„x��{„{ð •b”k !‘n”nð ­¬°©¬ð ½2¼;ÀuÑ;MÔ;Mð Ýˆà�‚}€}˜˜gš˜Ýˆà	ˆV‚|€|Ýˆà€Kr   )Ú__doc__Úinfosr   r   r   r   r   Únumpyr   r   r!   © r   r   ú<module>r&      sq   ððð ð XÐ WÐ WÐ WÐ WÐ WÐ WÐ WÐ WÐ WÐ WÐ WÐ WÐ Wà Ð Ð Ð ð&ð &ð &ðP&ð &ð &ð &ð &r   