Mercurial > octave
diff src/npsol.cc @ 620:8e4e7e5f307e
[project @ 1994-08-16 04:36:32 by jwe]
author | jwe |
---|---|
date | Tue, 16 Aug 1994 04:36:32 +0000 |
parents | 14b2a186a5c0 |
children | aecbe369233b |
line wrap: on
line diff
--- a/src/npsol.cc Mon Aug 15 04:54:33 1994 +0000 +++ b/src/npsol.cc Tue Aug 16 04:36:32 1994 +0000 @@ -95,27 +95,25 @@ } } - switch (objective_value.const_type ()) + if (objective_value.is_real_matrix ()) { - case tree_constant_rep::matrix_constant: - { - Matrix m = objective_value.matrix_value (); - if (m.rows () == 1 && m.columns () == 1) - retval = m.elem (0, 0); - else - { - gripe_user_returned_invalid ("npsol_objective"); - npsol_objective_error = 1; // XXX FIXME XXX - } - } - break; - case tree_constant_rep::scalar_constant: + Matrix m = objective_value.matrix_value (); + if (m.rows () == 1 && m.columns () == 1) + retval = m.elem (0, 0); + else + { + gripe_user_returned_invalid ("npsol_objective"); + npsol_objective_error = 1; // XXX FIXME XXX + } + } + else if (objective_value.is_real_scalar ()) + { retval = objective_value.double_value (); - break; - default: + } + else + { gripe_user_returned_invalid ("npsol_objective"); npsol_objective_error = 1; // XXX FIXME XXX - break; } return retval;