
    h{                     8    S r SSKJrJrJrJrJr  SSKrS r	S r
g)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                    [         nSn[         [        [        [        [        4;  d
   SU 35       e[        [        R                  " U5      5      (       a
   SU 35       e[        [        R                  " U5      5      (       d$  [        [        R                  " U5      5      (       a
   SU 35       e[        [        R                  " U5      5      (       d$  [        [        R                  " U5      5      (       a  [        n[        [        R                  " U5      5      (       d$  [        [        R                  " U5      5      (       a  [        nX#::  a  [        nX:  a  [        nU$ )zW
This module checks whether to break out of the solver loop in the unconstrained case.
CHECKbreak_UNCPNAN_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          \/var/www/html/shao/venv/lib/python3.13/site-packages/scipy/_lib/pyprima/common/checkbreak.pycheckbreak_uncr      s     D F 	96FWW  u  \l  ms  lt  Zu  uW 288A;C#:6(!CCBHHQK  CA$7$7W<Nvh:WW8 288A;3rxx{++ 288A;3r{{1~..|	|K    c                 d   [         nSn[         [        [        [        [        4;  d
   SU 35       e[        [        R                  " U5      5      (       a
   SU 35       e[        R                  " U5      (       dQ  [        R                  " U5      (       d6  [        R                  " U5      (       d  [        R                  " U5      (       a
   SU 35       e[        [        R                  " U5      5      (       d$  [        [        R                  " U5      5      (       a  [        n[        R                  " U5      (       dQ  [        R                  " U5      (       d6  [        R                  " U5      (       d  [        R                  " U5      (       a  [        nX#::  a  XE::  a  [        nX:  a  [        nU$ )zU
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   sC    D F 	96FWW  u  \l  ms  lt  Zu  uW 288A;C#:6(!CCr{{1~~%BKKPUDVDV[vw}v~YW 288A;3rxx{++ 
xx{{bkk!nn2;;u;M;M}	|Kr   )__doc__infosr   r   r   r   r   numpyr   r   r!    r   r   <module>r&      s!    X W &P&r   