§
    fŠtjü5  ã                   ó|   — 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dS )	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|                      ¦   «         dk    sJ ‚|                      ¦   «         dk    r(t          |¦  «        rt          |¦  «        r
|dk    s|sJ ‚|                      ¦   «         dk    r@t          |¦  «        rt          |¦  «        sJ ‚t          ||z
  dt          z  k    ¦  «        sJ ‚t          |¦  «        rV|                      ¦   «         dk    r<t          |¦  «        r-t          |¦  «        rt          |¦  «        rt          |¦  «        sJ ‚t          |¦  «        r|                      ¦   «         dk    r|nd}t          |¦  «        r|n|dk    }t          j        |¦  «        dk    rt          }t          | › d|› �¦  «         |                      ¦   «         dk    r|dz   |dz   z  dz  dz   }d	}n'|                      ¦   «         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|› �¦  «         |                      ¦   «         dk    s0|                      ¦   «         dk    s|                      ¦   «         dk    rut          |	¦  «        rf|	|dz   k     s#|	t          |dz
  |dz   |dz   z  dz  ¦  «        k    r:t          t          |dz
  d|z  dz   ¦  «        ¦  «        }	t          | › d|	› �¦  «         t          |
¦  «        �r‘|                      ¦   «         dk    s|                      ¦   «         dk    �r`|
}|
dk     rt          }
nt          t          |
¦  «        }
|                      ¦   «         dk    r%|dz   t          j        t"          ¦  «        j        z  }nB|                      ¦   «         dk    r(||z   dz   t          j        t"          ¦  «        j        z  }nd}|
t&          |z  k    rt          t&          |z  ¦  «        }
t          |t          t          |
¦  «        ¦  «        }
|rr|dk     rt          | › d|
› �¦  «         nW|t          |t          ¦  «        k     rt          | › d|
› �¦  «         n)|
t          ||¦  «        k     rt          | › d|
› d�¦  «         t          |¦  «        r|nt(          }t          |¦  «        r|nt*          }t          |¦  «        rWt          |¦  «        rHt          j        ||z
  ¦  «        dt          z  t          t          j        |¦  «        d¦  «        z  k     r|}t          |¦  «        rwt          j
        |¦  «        rt(          }n[|dk     s|dk    rOt          |¦  «        r%|dk    r|dk    rt          t          |dz  ¦  «        }nt(          }t          | › d|› �¦  «         t          |¦  «        rSt          j
        |¦  «        rt*          }n7t          |¦  «        r(||k     s|dk    r|dz   dz  }t          | › d|› �¦  «         t          |¦  «        rCt          j
        |¦  «        rt,          }n'|dk    s|dk    rt,          }t          | › d|› �¦  «         t          |¦  «        rQt          j
        |¦  «        rt.          }n5|dk     st          j        |¦  «        rt.          }t          | › d|› �¦  «         t          j        ||z
  ¦  «        dt          z  t          j        t          j        |¦  «        d¦  «        z  k     r|}|                      ¦   «         dk    r€t          j        t          t          j	        t4          t          j	        ||z
  ¦  «        dz  ¦  «        ¦  «        }t          j        t          t          j	        d|z  t6          ¦  «        ¦  «        }nt4          }t6          }|                      ¦   «         dk    rM|t          j	        ||z
  ¦  «        dz  k    r/t          j	        ||z
  ¦  «        dz  }t          | › d | › d!�¦  «         |dk    s(t          j
        |¦  «        st          j        |¦  «        r\t          j        |¦  «        r2|dk    r,|                      ¦   «         dk    rt          d"|z  |¦  «        }n|}t          | › d#|› �¦  «         |dk    s.||k     s(t          j
        |¦  «        st          j        |¦  «        r:t          t          t          d|z  |¦  «        ¦  «        }t          | › d$|› �¦  «         t          |¦  «        �r#|�rn|}t          j        |¦  «        ||z
  t          t          j        dt          j        |¦  «        ¦  «        z  k    z  } t          j        |¦  «        ||z
  t           t          j        dt          j        |¦  «        ¦  «        z  k    z  }!||          || <   ||!         ||!<   t          t          t          j	        |||           ||           z
  ||!          ||!          z
  g¦  «        ¦  «        }||z
  t          t          d|¦  «        z  k    r>t          t          t          d|z  |¦  «        ¦  «        }|rt          | › d%|› d&�¦  «         nÈt          j        ||¦  «        }n²|}"||d'|z  z   k    } ||d'|z  z   k    |||z   k     z  }#||d'|z  z
  k    }!||d'|z  z
  k     |||z
  k    z  }$||          || <   ||#         |z   ||#<   ||!         ||!<   ||$         |z
  ||$<   t=          t          j        |"|z
  ¦  «        dk    ¦  «        rt          | › d(�¦  «         t          |¦  «        r7t          j
        |¦  «        s|dk     rt>          }|rt          | › d)|› �¦  «         t          |¦  «        r7t          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k    r|dk     r|dk    sJ ‚||k    r|dk    sJ ‚|                      ¦   «         dk    r†t          |||z
  dz  k    ¦  «        sJ ‚t          t          j        |¦  «        ¦  «        sJ ‚t          ||k    o||k    p|||z   k    ¦  «        sJ ‚t          ||k    o||k    p|||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/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/_lib/pyprima/common/preproc.pyÚpreprocrT      sð  € õ ñ vØ˜1Š}ˆ}ˆ}ˆ}Ý�?Ñ#Ô#ð 	FØ" aÒ'Ð'Ð'Ð'Ø" aÒ'Ð'¨6¯<ª<©>¬>¸XÒ+EÐ+EÐ+EÐEØ�<Š<‰>Œ>˜XÒ%Ð%­'°/Ñ*BÔ*BÐ%ÅwÈ~ÑG^ÔG^Ð%Ø" aÒ'Ð'¨>Ð'Ð'Ð9Ø�<Š<‰>Œ>˜XÒ%Ð%Ý˜2‘;”;Ð.¥7¨2¡;¤;Ð.Ð.Ð.Ý�r˜B‘w !¥c¡'Ò)Ñ*Ô*Ð*Ð*Ð*Ý�9ÑÔð 	vØ—<’<‘>”> XÒ-Ð-µ'¸*Ñ2EÔ2EÐ-Í'ÐRTÉ+Ì+Ð-ÕZaÐbdÑZeÔZeÐ-ÕjqÐrtÑjuÔjuÐ-Ð-Ðuõ +2°/Ñ*BÔ*BÐiÀvÇ|Â|Á~Ä~ÐYaÒGaÐGa�o�oÐhi€Oõ )0°Ñ(?Ô(?ÐY�^�^ÀoÐXYÒFY€Nõ 
„vˆf�~„~˜ÒÐÝˆÝ�ÐgÐgÐ_eÐgÐgÑhÔhÐhð ‡|‚|�~„~˜Ò!Ð!Ø ‘l x°!¡|Ñ4°qÑ8¸1Ñ<ˆ
Ø+ˆˆØ	�Š‰Œ˜8Ò	#Ð	#Ø ‘\ˆ
Ø'ˆˆà ‘\ˆ
Ø'ˆØ�
ÒÐØˆÝ�ÐgÐgÀÐgÐgÐ_eÐgÐgÑhÔhÐhð �‚{€{ØˆÝ�ÐeÐeÐ\cÐeÐeÑfÔfÐfÝ�'˜6Ñ"Ô"€Gõ 
„x�ÑÔð _Ý!ˆÝ�Ð]Ð]ÐT[Ð]Ð]Ñ^Ô^Ð^ð 	�Š‰Œ˜(Ò"Ð" f§l¢l¡n¤n¸Ò&@Ð&@ÀFÇLÂLÁNÄNÐV^ÒD^ÐD^ÕdkÐloÑdpÔdpÐD^Ø�(˜Q‘,ÒÐ #­¨F°Q©J¸(ÀQ¹,È8ÐVWÉ<Ñ9XÐ\]Ñ8]Ñ(^Ô(^Ò"^Ð"^Ý•c˜& 1™* a¨(¡l°QÑ&6Ñ7Ô7Ñ8Ô8ˆCÝ�Fð  Pð  Pð  KNð  Pð  Pñ  Qô  Qð  Qõ ˆwÑÔñ S˜VŸ\š\™^œ^¨xÒ7Ð7¸6¿<º<¹>¼>ÈXÒ;UÑ;UØˆ
Ø�QŠ;ˆ;Ý%ˆGˆGå�+ wÑ/Ô/ˆGà�<Š<‰>Œ>˜XÒ%Ð%Ø! A™­¬µ%©¬Ô)AÑAˆIˆIØ�\Š\‰^Œ^˜xÒ'Ð'Ø(¨8Ñ3°aÑ7½2¼8ÅE¹?¼?Ô;SÑSˆIˆIàˆIð •Z )Ñ+Ò+Ð+Ý�* yÑ0Ñ1Ô1ˆGÝ�f�c¥+¨wÑ7Ô7Ñ8Ô8ˆØð 	SØ˜AŠ~ˆ~Ý˜ÐkÐkÐbiÐkÐkÑlÔlÐlÐlØ�c &­+Ñ6Ô6Ò6Ð6Ý˜ÐNÐNÀWÐNÐNÑOÔOÐOÐOØ�3˜z¨6Ñ2Ô2Ò2Ð2Ý˜ÐQÐQ°GÐQÐQÐQÑRÔRÐRõ ! ™œÐ8��­L€JÝ  ™œÐ8��­L€Jõ ˆt�}„}ð � ™œð ÝŒ6�$˜‘+ÑÔ ­¡­sµ2´6¸$±<´<ÀÑ/CÔ/CÑ!CÒCÐCØˆDåˆt�}„}ð }ÝŒ8�D‰>Œ>ð 
	}õ  ˆDˆDØ�AŠXˆX˜ š˜å�t‰}Œ}ð $ ¨a¢ °JÀ!²O°OÝ�3  s¡
Ñ+Ô+��å#�Ý�FÐ{Ð{ÐuyÐ{Ð{Ñ|Ô|Ð|åˆt�}„}ð }ÝŒ8�D‰>Œ>ð 	}õ  ˆDˆDÝ�T‰]Œ]ð 	}  zÒ 1Ð 1°T¸A²X°XØ˜1‘H Ñ#ˆDÝ�FÐ{Ð{ÐuyÐ{Ð{Ñ|Ô|Ð|õ ˆv�„ð gÝŒ8�FÑÔð 	gõ $ˆFˆFØ�qŠ[ˆ[˜F ašK˜KÝ#ˆFÝ�FÐeÐeÐ]cÐeÐeÑfÔfÐfåˆv�„ð qÝŒ8�FÑÔð 	qõ $ˆFˆFØ�aŠZˆZ�2œ8 FÑ+Ô+ˆZÝ#ˆFÝ�FÐoÐoÐgmÐoÐoÑpÔpÐpõ 
„vˆf�v‰oÑÔ ­¡­r¬z½"¼&À¹.¼.È!Ñ/LÔ/LÑ!LÒLÐLð ˆð ‡|‚|�~„~˜Ò!Ð!Ýœ¥C­¬µÅÄÀrÈBÁwÁÄÐRUÑ@UÑ)VÔ)VÑWÔWˆÝœ¥C­¬°°nÑ0DÅnÑ)UÔ)UÑVÔVˆˆå'ˆÝ'ˆà‡|‚|�~„~˜Ò!Ð!ð •B”F˜2 ™7‘O”O aÑ'Ò'Ð'õ ”V˜B ™G‘_”_ sÑ*ˆFÝ�FÐ{Ð{¨fÐ{Ð{Ð{Ñ|Ô|Ð|Ø�‚{€{•b”h˜vÑ&Ô&€{­"¬(°6Ñ*:Ô*:€{õ Œ;�vÑÔð 	$ 6¨A¢: :°&·,²,±.´.ÀHÒ2LÐ2LÝ˜˜f™ nÑ5Ô5ˆFˆFà#ˆFÝ�Ð_Ð_ÐW]Ð_Ð_Ñ`Ô`Ð`à�‚{€{�f˜v’o�o­¬°&Ñ)9Ô)9�o½R¼XÀfÑ=MÔ=M�oÝ•S�#˜c F™l¨NÑ;Ô;Ñ<Ô<ˆÝ�ÐtÐtÐlrÐtÐtÑuÔuÐuõ ˆyÑÔñ wØñ 	wØˆJÝ”+˜b‘/”/ R¨"¡Wµµb´jÀÅBÄFÈ2ÁJÄJÑ6OÔ6OÑ0OÒ%OÑPˆCÝ”+˜b‘/”/ R¨"¡Wµ°µr´zÀ!ÅRÄVÈBÁZÄZÑ7PÔ7PÑ0PÒ%PÑQˆCØ˜”gˆBˆs‰GØ˜”gˆBˆs‰GÝ��bœf f¨b°#°¬h¸¸S¸D¼Ñ.AÀ2ÀsÀdÄ8ÈbÐRUÐQUÌhÑCVÐ%WÑXÔXÑYÔYˆFØ˜FÑ"¥S­3¨q°*Ñ+=Ô+=Ñ%=Ò=Ð=Ý�S¥# c¨F¡l°FÑ";Ô";Ñ<Ô<�Øð qÝ˜Fð  pð  p¸6ð  pð  pð  pñ  qô  qð  qøåœ F¨FÑ3Ô3��àˆFð ˜˜S 6™\Ñ)Ò)ˆCØ˜R #¨¡,Ñ.Ò.°2¸¸V¹Ò3CÑDˆHØ˜˜S 6™\Ñ)Ò)ˆCØ˜b 3¨¡<Ñ/Ò/°B¸¸f¹Ò4DÑEˆIØ˜”gˆBˆs‰GØ˜hœ<¨&Ñ0ˆBˆx‰LØ˜”gˆBˆs‰GØ˜yœM¨FÑ2ˆBˆy‰Må•B”F˜6 B™;Ñ'Ô'¨!Ò+Ñ,Ô,ð wÝ˜ð  vð  vð  vñ  wô  wð  wõ 	�‰Œð hÝŒH�T‰NŒNð 	h˜d Qšh˜hÝˆDØð hÝ˜ÐfÐfÐ`dÐfÐfÑgÔgÐgõ 	�ÑÔð nÝŒH�WÑÔð 	n ¨1¢ Ý%ˆGØð nÝ˜ÐlÐlÐcjÐlÐlÑmÔmÐmõ ñ Ý�6‰{Œ{˜aÒÐÐÐØ˜!Š|ˆ| ¨6Ò 1Ð 1Ð 1Ð1Ý�3‰<Œ<ð 	Ø˜S 1™WÒ$Ð$Ð$Ð$Ø˜!’8�8�8�8Ý�7ÑÔð 	TØ�bœj­°fÑ=Ô=Ò=Ð=À'ÈVÒBSÐBSÐBSÐSÝ�4‰=Œ=ð 	;�W T™]œ]ð 	;Ø˜1’9�9 ¨¢ °$¸²(°(°(Ð:Ý�6‰?Œ?ð 	<�w v™œð 	<Ø˜A’:�: &¨1¢* *°¸!²°°Ð;Ø˜ÒÐ F¨Q¢J J JÐ.Ø�<Š<‰>Œ>˜XÒ%Ð%Ý�v " r¡'¨Q¡Ò.Ñ/Ô/Ð/Ð/Ð/Ý•r”{ 2‘”Ñ'Ô'Ð'Ð'Ð'Ý�r˜R’xÐC R¨2¢XÐ%B°°r¸F±{Ò1BÑDÔDÐDÐDÐDÝ�r˜R’xÐC R¨2¢XÐ%B°°r¸F±{Ò1BÑDÔDÐDÐDÐDÝ�4‰=Œ=ð 	Ø˜1’9�9�9�9à�6˜7 G¨V°V¸SÀ'È4ÐQXÐZ^Ð`dÐflÐntÐvxÐ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[      s"  ððð ð"ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð ð NRØ\`Ø15ðAyð Ayð Ayð Ayð Ayð AyrU   