Ë
    0Ò^j{  ã                   ó8   — d Z ddlmZmZmZmZmZ ddlZd„ Z	d„ Z
y)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                 ór  — 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          út/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/scipy/_external/pyprima/common/checkbreak.pyÚcheckbreak_uncr      s  € ô €Dð €Fô ¤	¬9Ô6FÌÐWÑWð  uð  \lð  msð  ltð  Zuó  uÐWô ”2—8‘8˜A“;ÔÐCÐ#:¸6¸(Ð!CÓCÐä”B—H‘H˜Q“KÔ ¤C¬¯©°A«Ô$7ÐWÐ<NÈvÈhÐ:WÓWÐ8ô Œ2�8‰8�A‹;Ôœ3œrŸx™x¨›{Ô+Üˆô Œ2�8‰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   s.  € ô €Dð €Fô ¤	¬9Ô6FÌÐWÑWð  uð  \lð  msð  ltð  Zuó  uÐWô ”2—8‘8˜A“;ÔÐCÐ#:¸6¸(Ð!CÓCÐä—‘˜”œrŸ{™{¨1œ~´·±¸%´ÄBÇKÁKÐPUÔDVÐÐ[vÐw}Ðv~ÐYÓÐWô Œ2�8‰8�A‹;Ôœ3œrŸx™x¨›{Ô+Üˆô 
‡x�x�„{”b—k‘k !”n¬¯©°¬¼2¿;¹;ÀuÔ;MÜˆà�‚}˜˜gšÜˆà	ˆV‚|Üˆà€Kr   )Ú__doc__Úinfosr   r   r   r   r   Únumpyr   r   r!   © r   r   ú<module>r&      s!   ðñ÷ XÕ Wã ò&óP&r   