Mercurial > octave-nkf
comparison libinterp/corefcn/spparms.cc @ 20617:ba2b07c13913
use new string_value method to handle value extraction errors
* __dispatch__.cc, balance.cc, colloc.cc, conv2.cc, data.cc, debug.cc,
graphics.cc, input.cc, matrix_type.cc, oct-hist.cc, schur.cc,
spparms.cc, symtab.cc, sysdep.cc, toplev.cc, utils.cc:
Use new string_value method.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 09 Oct 2015 10:06:39 -0400 |
parents | 4f45eaf83908 |
children |
comparison
equal
deleted
inserted
replaced
20616:fd0efcdb3718 | 20617:ba2b07c13913 |
---|---|
165 octave_sparse_params::set_vals (vals); | 165 octave_sparse_params::set_vals (vals); |
166 } | 166 } |
167 } | 167 } |
168 else if (nargin == 2) | 168 else if (nargin == 2) |
169 { | 169 { |
170 if (args(0).is_string ()) | 170 std::string str = args(0).string_value ("spparms: first argument must be a string"); |
171 { | 171 |
172 std::string str = args(0).string_value (); | 172 double val = args(1).double_value (); |
173 | 173 |
174 double val = args(1).double_value (); | 174 if (error_state) |
175 | 175 error ("spparms: second argument must be a real scalar"); |
176 if (error_state) | 176 else if (str == "umfpack") |
177 error ("spparms: second argument must be a real scalar"); | 177 warning ("spparms: request to disable umfpack solvers ignored"); |
178 else if (str == "umfpack") | 178 else if (!octave_sparse_params::set_key (str, val)) |
179 warning ("spparms: request to disable umfpack solvers ignored"); | 179 error ("spparms: KEY not found"); |
180 else if (!octave_sparse_params::set_key (str, val)) | |
181 error ("spparms: KEY not found"); | |
182 } | |
183 else | |
184 error ("spparms: first argument must be a string"); | |
185 } | 180 } |
186 else | 181 else |
187 error ("spparms: too many input arguments"); | 182 error ("spparms: too many input arguments"); |
188 | 183 |
189 return retval; | 184 return retval; |