Revision 1607 trunk/src/linad99/boundfun.cpp
boundfun.cpp (revision 1607)  

81  81 
} 
82  82  
83  83 
/** 
84 
Scale input variable between upper and lower bounds 

85 
and compute a penalty for exceeding the bounds. 

86 
\param x Variable to be scaled 

84 
Compute penalty for exceeding bounds on parameter; variable ojbects. 

85 
\param x Variable scaled between [1,1] 

87  86 
\param fmin Lower bound of x 
88  87 
\param fmin Upper bound of x 
89 
\param _fpen On return, contains penalty if x > fmax or x < fmin


88 
\param _fpen On return, contains penalty if x > 1 or x < 1


90  89 
\param s Divide x by s before scaling and setting bounds 
91 
\return Scaled value of x between fmin and fmax in the range [1,1]


90 
\return The variable x in original units


92  91 
*/ 
93  92 
dvariable boundp(const prevariable& x, double fmin, double fmax,const prevariable& _fpen,double s) 
94  93 
{ 
...  ...  
96  95 
} 
97  96  
98  97 
/** 
99 
Scale input variable between upper and lower bounds 

100 
and compute a penalty for exceeding the bounds. 

101 
\param x Variable to be scaled 

98 
Compute penalty for exceeding bounds on parameter; variable ojbects. 

99 
\param x Variable scaled between [1,1] 

102  100 
\param fmin Lower bound of x 
103  101 
\param fmin Upper bound of x 
104 
\param _fpen On return, contains penalty if x > fmax or x < fmin


105 
\return Scaled value of x between fmin and fmax in the range [1,1]


102 
\param _fpen On return, contains penalty if x > 1 or x < 1


103 
\return The variable x in original units


106  104 
*/ 
107  105 
dvariable boundp(const prevariable& x, double fmin, double fmax,const prevariable& _fpen) 
108  106 
{ 
...  ...  
245  243 
} 
246  244  
247  245 
/** 
248 
Scale input variable between upper and lower bounds 

249 
and compute a penalty for exceeding the bounds. 

250 
\param x Variable to be scaled 

246 
Return scaled variable to original units; constant objects. 

247 
\param x Variable scaled between [1,1] 

251  248 
\param fmin Lower bound of x 
252  249 
\param fmin Upper bound of x 
253 
\return Scaled value of x between fmin and fmax in the range [1,1]


250 
\return The variable x in original units


254  251 
*/ 
255  252 
double boundp(double x, double fmin, double fmax) 
256  253 
{ 
...  ...  
310  307 
} 
311  308  
312  309 
/** 
313 
Scale input variable between upper and lower bounds


314 
and compute a penalty for exceeding the bounds.


315 
\param x Variable to be scaled


310 
Compute penalty for exceeding bounds on parameter; constant ojbects.


311 
Inverse of \ref double boundp(const double& x, double fmin, double fmax,const double& _fpen).


312 
\param x Model variable


316  313 
\param fmin Lower bound of x 
317  314 
\param fmin Upper bound of x 
318  315 
\param _fpen On return, contains penalty if x > fmax or x < fmin 
319 
\return Scaled value of x between fmin and fmax in the range [1,1]


316 
\return The variable x in original units


320  317 
*/ 
321  318 
double boundp( double x, double fmin, double fmax,const double& _fpen) 
322  319 
{ 
...  ...  
378  375 
} 
379  376  
380  377 
/** 
381 
Inverse of \ref double boundp(double x, double fmin, double fmax, double s) 

382 
\param xx Variable in the range [1,1] as computed by boundp 

383 
\param fmin Lower bound of unscaled variable, x 

384 
\param fmin Upper bound of unscaled variable, x 

378 
Scale model variable over [1,1]; constant objects. 

379 
Inverse of \ref double boundp(double x, double fmin, double fmax) 

380 
\param x Model variable 

381 
\param fmin Lower bound of x 

382 
\param fmin Upper bound of x 

385  383 
\param s Divide x by s before scaling and setting bounds 
386 
\return Unscaled variable


384 
\return The variable x in original units


387  385 
*/ 
388  386 
double boundpin(double x, double fmin, double fmax,double s) 
389  387 
{ 
...  ...  
391  389 
} 
392  390  
393  391 
/** 
392 
Scale model variable over [1,1]; constant objects. 

394  393 
Inverse of \ref double boundp(double x, double fmin, double fmax) 
395 
\param xx Variable in the range [1,1] as computed by boundp 
Also available in: Unified diff