
    Џkh5                     z    d Z ddlmZmZmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZ ddlmZ ddlmZ ddlZ	 	 	 ddZy)	z
This is a module that preprocesses the inputs.

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.
   )	DEBUGGINGEPSIPRINT_DEFAULTFTARGET_DEFAULTMIN_MAXFILTMAXFILT_DEFAULT
MAXHISTMEMETA1_DEFAULTETA2_DEFAULTGAMMA1_DEFAULTGAMMA2_DEFAULTRHOBEG_DEFAULTRHOEND_DEFAULTCTOL_DEFAULTCWEIGHT_DEFAULT)present    )warnNc                    t         r|dk\  sJ t        |      r!|dk\  sJ |dk(  s| j                         dk(  sJ | j                         dk(  rt        |      rt        |      r	|dk(  s|sJ | j                         dk(  r2t        |      rt        |      sJ t        ||z
  dt        z  k\        sJ t        |      rA| j                         dk(  r,t        |      r!t        |      rt        |      rt        |      sJ t        |      r| j                         dk(  r|nd}t        |      r|n|dkD  }t        j                  |      dkD  rt        }t        |  d|        | j                         dk(  r|dz   |dz   z  dz  dz   }d	}n"| j                         dk(  r|dz   }d
}n|dz   }d}||k  r|}t        |  d| d|        |dk  r|}t        |  d|        t        ||      }t        j                  |      rt        }t        |  d|        | j                         dk(  s&| j                         dk(  s| j                         dk(  r_t        |	      rT|	|dz   k  s|	t        |dz
  |dz   |dz   z  dz        kD  r.t        t        |dz
  d|z  dz               }	t        |  d|	        t        |
      rX| j                         dk(  s| j                         dk(  r1|
}|
dk  rt        }
nt        t        |
      }
| j                         dk(  r*|dz   t        j                   t"              j$                  z  }nB| j                         dk(  r-||z   dz   t        j                   t"              j$                  z  }nd}|
t&        |z  kD  rt        t&        |z        }
t        |t        t        |
            }
|rZ|dk  rt        |  d|
        nD|t        |t              k  rt        |  d|
        n |
t        ||      k  rt        |  d|
 d       t        |      r|nt(        }t        |      r|nt*        }t        |      rOt        |      rDt        j                  ||z
        dt        z  t        t        j                  |      d      z  k  r|}t        |      ret        j                  |      rt(        }nI|dk  s|dk\  r?t        |      r|dkD  r|dk  rt        t        |dz        }nt(        }t        |  d|        t        |      rIt        j                  |      rt*        }n-t        |      r"||k  s|dkD  r|dz   dz  }t        |  d|        t        |      r<t        j                  |      rt,        }n |dk  s|dk\  rt,        }t        |  d|        t        |      rLt        j                  |      rt.        }n0|dk  st        j0                  |      rt.        }t        |  d|        t        j                  ||z
        dt        z  t        j2                  t        j                  |      d      z  k  r|}| j                         dk(  rt        j2                  t        t        j                  t4        t        j                  ||z
        dz              }t        j2                  t        t        j                  d|z  t6                    }nt4        }t6        }| j                         dk(  rJ|t        j                  ||z
        dz  kD  r,t        j                  ||z
        dz  }t        |  d |  d!       |dk  s*t        j                  |      st        j0                  |      rOt        j8                  |      r(|dkD  r#| j                         dk7  rt        d"|z  |      }n|}t        |  d#|        |dk  s/||k  s*t        j                  |      st        j0                  |      r-t        t        t        d|z  |            }t        |  d$|        t        |      r|rH|}t        j8                  |      ||z
  t        t        j2                  dt        j                  |            z  k  z  } t        j8                  |      ||z
  t         t        j2                  dt        j                  |            z  k\  z  }!||    || <   ||!   ||!<   t        t        t        j                  |||     ||     z
  ||!    ||!    z
  g            }||z
  t        t        d|      z  kD  r1t        t        t        d|z  |            }|rt        |  d%| d&       nt        j:                  ||      }n|}"||d'|z  z   k  } ||d'|z  z   kD  |||z   k  z  }#||d'|z  z
  k\  }!||d'|z  z
  k  |||z
  kD  z  }$||    || <   ||#   |z   ||#<   ||!   ||!<   ||$   |z
  ||$<   t=        t        j                  |"|z
        dkD        rt        |  d(       t        |      r2t        j                  |      s|dk  rt>        }|rt        |  d)|        t        |      r2t        j                  |      s|dk  rt@        }|rt        |  d*|        t         r^t        |      dk  sJ |dk\  r||k  sJ t        |	      r||	dz   k\  sJ |	dk\  sJ t        |
      r$|
t        j:                  t        |      k\  r|
|k  sJ t        |      rt        |      r|dk\  r
||k  r|dk  sJ t        |      rt        |      r|dkD  r
|dk  r|dkD  sJ ||k\  r|dkD  sJ | j                         dk(  rxt        |||z
  dz  k        sJ t        t        j8                  |            sJ t        ||k\  xr ||k  xs |||z   k\        sJ t        ||k  xr ||k\  xs |||z
  k        sJ t        |      r|dk\  sJ |||||||	|
|||||||fS )+z`
    This subroutine preprocesses the inputs. It does nothing to the inputs that are valid.
    r   r   cobylabobyqa      zG: Invalid IPRINT; it should be 0, 1, -1, 2, -2, 3, or -3; it is set to uobyqaz(N+1)(N+2)/2 + 1znum_vars + 2znum_vars + 3z(: Invalid MAXFUN; it should be at least z; it is set to zD: Invalid MAXHIST; it should be a nonnegative integer; it is set to z<: Invalid FTARGET; it should be a real number; it is set to newuoalincoazn: Invalid NPT; it should be an integer in the interval [N+2, (N+1)(N+2)/2] and less than MAXFUN; it is set to zB: Invalid MAXFILT; it should be a positive integer; it is set to  z%: MAXFILT is too small; it is set to z: MAXFILT is set to z due to memory limitg      Y@g      @zY: Invalid ETA1; it should be in the interval [0, 1) and not more than ETA2; it is set to g      @zY: Invalid ETA2; it should be in the interval [0, 1) and not less than ETA1; it is set to zA: Invalid GAMMA1; it should in the interval (0, 1); it is set to zK: Invalid GAMMA2; it should be a real number not less than 1; it is set to g      @g?z: Invalid RHOBEG; zE requires 0 < RHOBEG <= np.min(XU-XL)/2; it is set to np.min(XU-XL)/4
   z?: Invalid RHOBEG; it should be a positive number; it is set to zT: Invalid RHOEND; it should be a positive number and RHOEND <= RHOBEG; it is set to z: RHOBEG is revised to zl and RHOEND to at most 0.1*RHOBEG so that the distance between X0 and the inactive bounds is at least RHOBEGg      ?z: X0 is revised so that the distance between X0 and the inactive bounds is at least RHOBEG set HONOUR_X0 to .TRUE. if you prefer to keep X0 unchangedz@: Invalid CTOL; it should be a nonnegative number; it is set to zC: Invalid CWEIGHT; it should be a nonnegative number; it is set to )!r   r   lowerallr   npabsr   r   minisnanr   intr   maxr   dtypefloatitemsizer	   r
   r   r   r   isinfmaximumr   r   isfiniteminimumanyr   r   )%solvernum_varsiprintmaxfunmaxhistftargetrhobegrhoendnum_constraintsnptmaxfiltctolcweighteta1eta2gamma1gamma2is_constrained
has_rhobeg	honour_x0xlxux0
min_maxfunmin_maxfun_str
maxfilt_in	unit_memo
eta1_local
eta2_localrhobeg_defaultrhoend_default
rhobeg_oldlbxubxx0_oldlbx_plus	ubx_minuss%                                        ]/var/www/teggl/fontify/venv/lib/python3.12/site-packages/scipy/_lib/pyprima/common/preproc.pypreprocrT      s    1}}?#"a'''"a'6<<>X+EEE<<>X%'/*Bw~G^"a'>99<<>X%2;72;..rBw!c')***9<<>X-'*2E'RT+ZabdZejqrtjuuu +2/*Bv||~YaGaohiO )0(?^oXYFYN 
vvf~x^_e^fgh ||~!lx!|4q81<
+	8	#\
'\
'
x??O_e^fgh {x[\c[def'6"G 
xx!xST[S\]^ 	("flln&@FLLNV^D^dklodp(Q,#FQJ(Q,8VW<9X\]8](^"^c&1*a(lQ&678CF8  J  KN  JO  P  Q wV\\^x76<<>X;U
Q;%G+w/G<<>X%!A%)A)AAI\\^x'(83a7288E?;S;SSII Z)++*y01Gfc+w78A~xabiajklc&+66xDWINO3z622x3G9<PQR !LJ LJ t}66$+s266$</C!CCDt}88D>  DAXt}aJ!O3s
+#F8tuytz{|t}88D>  DT]z 1TAX1H#DF8tuytz{| v88F $Fq[FaK#FF8\]c\defv88F $FaZ288F+#FF8fgmfnop 
vvfvorzz"&&.!/L!LL  ||~!CrBwRU@U)VWCn0Dn)UV''||~! BFF27Oa'' VVBG_s*FF8-fX5z{|{bhhv&"((6*: ;;v6A:&,,.H2Lfn5F#FxVW]V^_`{fvo&)9RXXf=MS#cFlN;<xklrkstu yJ++b/R"WbjjBFF2J6O0O%OPC++b/R"Wrzz!RVVBZ7P0P%PQCgBsGgBsGbfffb#hSD.A2sd8bRUQUhCV%WXYFF"S3q*+=%==S#cFlF";<F8#:6(  Co  p  qFF3F S6\))CR#,..2V3CDHS6\))Cb3<//Bf4DEIgBsGh<&0BxLgBsGyMF2ByMBFF6B;'!+,x   u  v  w 	HHTNdQhDx_`d_efg 	HHW1%Gxbcjbklm 6{a!|6 1113<S1W$$$!8O87bjjf=='VBSSS4=WT]19$(::6?wvA:&1*!;;FQJ..<<>X%v"r'Q.///r{{2'''rRxCR2X%BrF{1BDDDrRxCR2X%BrF{1BDDD4=19967GVVS'4QXZ^`dflntvxxx    )NNNNNNNNNNNNNNN)__doc__constsr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   warningsr   numpyr    rT    rU   rS   <module>r[      sB   " " " " "    NR\`15AyrU   