11 assert_parameter_correct(x);
13 bool different = (X.size() <= 0);
25 double abs_rel_diff_tol = 1.0e-17;
26 for(
int i=0; (i<X.rows()) && !different; i++) {
28 different = ( x(i) != 0.0 );
30 different = abs((X(i)-x(i))/X(i)) > abs_rel_diff_tol;
38 if( parameters_different(x) ) {
40 X.reference(x.copy());
46 if(x.rows() != expected_parameter_size()) {
48 e <<
"For this problem state, x does not have the expected size:\n" 49 <<
" Expected size " << expected_parameter_size()
50 <<
" Got size " << x.rows();
virtual blitz::Array< double, 1 > parameters() const
Returns the current parameters.
This is the base of the exception hierarchy for Full Physics code.
virtual void assert_parameter_correct(const blitz::Array< double, 1 > &x) const
Checks that the new input parameters are correct.
Apply value function to a blitz array.
Contains classes to abstract away details in various Spurr Radiative Transfer software.
virtual bool parameters_different(const blitz::Array< double, 1 > &x) const
Checks whether or not new input parameters are different from the current ones.