# HG changeset patch # User jwe # Date 809225924 0 # Node ID 13b630c0aad35d1a9c328d07761de46b69d2c129 # Parent ec2ab864e8eb088ae1e1fcb97879aba54af3da12 [project @ 1995-08-24 00:58:44 by jwe] diff -r ec2ab864e8eb -r 13b630c0aad3 src/dassl.cc --- a/src/dassl.cc Tue Aug 22 22:33:13 1995 +0000 +++ b/src/dassl.cc Thu Aug 24 00:58:44 1995 +0000 @@ -274,7 +274,7 @@ } static void -do_dassl_option (char *keyword, double val) +set_dassl_option (char *keyword, double val) { DAE_OPTIONS *list = dassl_option_table; @@ -293,6 +293,28 @@ warning ("dassl_options: no match for `%s'", keyword); } +static Octave_object +show_dassl_option (char *keyword) +{ + Octave_object retval; + + DAE_OPTIONS *list = dassl_option_table; + + while (list->keyword != 0) + { + if (keyword_almost_match (list->kw_tok, list->min_len, keyword, + list->min_toks_to_match, MAX_TOKENS)) + { + return (dassl_opts.*list->d_get_fcn) (); + } + list++; + } + + warning ("dassl_options: no match for `%s'", keyword); + + return retval; +} + DEFUN_DLD_BUILTIN ("dassl_options", Fdassl_options, Sdassl_options, -1, 1, "dassl_options (KEYWORD, VALUE)\n\ \n\ @@ -308,18 +330,23 @@ print_dassl_option_list (); return retval; } - else if (nargin == 2) + else if (nargin == 1 || nargin == 2) { char *keyword = args(0).string_value (); if (! error_state) { - double val = args(1).double_value (); + if (nargin == 1) + return show_dassl_option (keyword); + else + { + double val = args(1).double_value (); - if (! error_state) - { - do_dassl_option (keyword, val); - return retval; + if (! error_state) + { + set_dassl_option (keyword, val); + return retval; + } } } } diff -r ec2ab864e8eb -r 13b630c0aad3 src/fsolve.cc --- a/src/fsolve.cc Tue Aug 22 22:33:13 1995 +0000 +++ b/src/fsolve.cc Thu Aug 24 00:58:44 1995 +0000 @@ -240,7 +240,7 @@ } static void -do_fsolve_option (char *keyword, double val) +set_fsolve_option (char *keyword, double val) { NLEQN_OPTIONS *list = fsolve_option_table; @@ -259,6 +259,28 @@ warning ("fsolve_options: no match for `%s'", keyword); } +static Octave_object +show_fsolve_option (char *keyword) +{ + Octave_object retval; + + NLEQN_OPTIONS *list = fsolve_option_table; + + while (list->keyword != 0) + { + if (keyword_almost_match (list->kw_tok, list->min_len, keyword, + list->min_toks_to_match, MAX_TOKENS)) + { + return (fsolve_opts.*list->d_get_fcn) (); + } + list++; + } + + warning ("fsolve_options: no match for `%s'", keyword); + + return retval; +} + DEFUN_DLD_BUILTIN ("fsolve_options", Ffsolve_options, Sfsolve_options, -1, 1, "fsolve_options (KEYWORD, VALUE)\n\ \n\ @@ -274,18 +296,23 @@ print_fsolve_option_list (); return retval; } - else if (nargin == 2) + else if (nargin == 1 || nargin == 2) { char *keyword = args(0).string_value (); if (! error_state) { - double val = args(1).double_value (); + if (nargin == 1) + return show_fsolve_option (keyword); + else + { + double val = args(1).double_value (); - if (! error_state) - { - do_fsolve_option (keyword, val); - return retval; + if (! error_state) + { + set_fsolve_option (keyword, val); + return retval; + } } } } diff -r ec2ab864e8eb -r 13b630c0aad3 src/lsode.cc --- a/src/lsode.cc Tue Aug 22 22:33:13 1995 +0000 +++ b/src/lsode.cc Thu Aug 24 00:58:44 1995 +0000 @@ -255,7 +255,7 @@ } static void -do_lsode_option (char *keyword, double val) +set_lsode_option (char *keyword, double val) { ODE_OPTIONS *list = lsode_option_table; @@ -274,6 +274,28 @@ warning ("lsode_options: no match for `%s'", keyword); } +static Octave_object +show_lsode_option (char *keyword) +{ + Octave_object retval; + + ODE_OPTIONS *list = lsode_option_table; + + while (list->keyword != 0) + { + if (keyword_almost_match (list->kw_tok, list->min_len, keyword, + list->min_toks_to_match, MAX_TOKENS)) + { + return (lsode_opts.*list->d_get_fcn) (); + } + list++; + } + + warning ("lsode_options: no match for `%s'", keyword); + + return retval; +} + DEFUN_DLD_BUILTIN ("lsode_options", Flsode_options, Slsode_options, -1, 1, "lsode_options (KEYWORD, VALUE)\n\ \n\ @@ -289,18 +311,23 @@ print_lsode_option_list (); return retval; } - else if (nargin == 2) + else if (nargin == 1 || nargin == 2) { char *keyword = args(0).string_value (); if (! error_state) { - double val = args(1).double_value (); + if (nargin == 1) + return show_lsode_option (keyword); + else + { + double val = args(1).double_value (); - if (! error_state) - { - do_lsode_option (keyword, val); - return retval; + if (! error_state) + { + set_lsode_option (keyword, val); + return retval; + } } } } diff -r ec2ab864e8eb -r 13b630c0aad3 src/npsol.cc --- a/src/npsol.cc Tue Aug 22 22:33:13 1995 +0000 +++ b/src/npsol.cc Thu Aug 24 00:58:44 1995 +0000 @@ -717,7 +717,7 @@ } static void -do_npsol_option (char *keyword, double val) +set_npsol_option (char *keyword, double val) { NPSOL_OPTIONS *list = npsol_option_table; @@ -746,6 +746,31 @@ warning ("npsol_options: no match for `%s'", keyword); } +static Octave_object +show_npsol_option (char *keyword) +{ + Octave_object retval; + + NPSOL_OPTIONS *list = npsol_option_table; + + while (list->keyword != 0) + { + if (keyword_almost_match (list->kw_tok, list->min_len, keyword, + list->min_toks_to_match, MAX_TOKENS)) + { + if (list->d_get_fcn) + return (npsol_opts.*list->d_get_fcn) (); + else + return (double) (npsol_opts.*list->i_get_fcn) (); + } + list++; + } + + warning ("npsol_options: no match for `%s'", keyword); + + return retval; +} + #endif #if defined (NPSOL_MISSING) @@ -776,18 +801,23 @@ print_npsol_option_list (); return retval; } - else if (nargin == 2) + else if (nargin == 1 || nargin == 2) { char *keyword = args(0).string_value (); if (! error_state) { - double val = args(1).double_value (); + if (nargin == 1) + return show_npsol_option (keyword); + else + { + double val = args(1).double_value (); - if (! error_state) - { - do_npsol_option (keyword, val); - return retval; + if (! error_state) + { + set_npsol_option (keyword, val); + return retval; + } } } } diff -r ec2ab864e8eb -r 13b630c0aad3 src/qpsol.cc --- a/src/qpsol.cc Tue Aug 22 22:33:13 1995 +0000 +++ b/src/qpsol.cc Thu Aug 24 00:58:44 1995 +0000 @@ -327,7 +327,7 @@ } static void -do_qpsol_option (char *keyword, double val) +set_qpsol_option (char *keyword, double val) { QPSOL_OPTIONS *list = qpsol_option_table; @@ -356,6 +356,31 @@ warning ("qpsol_options: no match for `%s'", keyword); } +static Octave_object +show_qpsol_option (char *keyword) +{ + Octave_object retval; + + QPSOL_OPTIONS *list = qpsol_option_table; + + while (list->keyword != 0) + { + if (keyword_almost_match (list->kw_tok, list->min_len, keyword, + list->min_toks_to_match, MAX_TOKENS)) + { + if (list->d_get_fcn) + return (qpsol_opts.*list->d_get_fcn) (); + else + return (double) (qpsol_opts.*list->i_get_fcn) (); + } + list++; + } + + warning ("qpsol_options: no match for `%s'", keyword); + + return retval; +} + #endif #if defined (QPSOL_MISSING) @@ -386,18 +411,23 @@ print_qpsol_option_list (); return retval; } - else if (nargin == 2) + else if (nargin == 1 || nargin == 2) { char *keyword = args(0).string_value (); if (! error_state) { - double val = args(1).double_value (); + if (nargin == 1) + return show_qpsol_option (keyword); + else + { + double val = args(1).double_value (); - if (! error_state) - { - do_qpsol_option (keyword, val); - return retval; + if (! error_state) + { + set_qpsol_option (keyword, val); + return retval; + } } } } diff -r ec2ab864e8eb -r 13b630c0aad3 src/quad.cc --- a/src/quad.cc Tue Aug 22 22:33:13 1995 +0000 +++ b/src/quad.cc Thu Aug 24 00:58:44 1995 +0000 @@ -306,7 +306,7 @@ } static void -do_quad_option (char *keyword, double val) +set_quad_option (char *keyword, double val) { QUAD_OPTIONS *list = quad_option_table; @@ -325,6 +325,28 @@ warning ("quad_options: no match for `%s'", keyword); } +static Octave_object +show_quad_option (char *keyword) +{ + Octave_object retval; + + QUAD_OPTIONS *list = quad_option_table; + + while (list->keyword != 0) + { + if (keyword_almost_match (list->kw_tok, list->min_len, keyword, + list->min_toks_to_match, MAX_TOKENS)) + { + return (quad_opts.*list->d_get_fcn) (); + } + list++; + } + + warning ("quad_options: no match for `%s'", keyword); + + return retval; +} + DEFUN_DLD_BUILTIN ("quad_options", Fquad_options, Squad_options, -1, 1, "quad_options (KEYWORD, VALUE)\n\ \n\ @@ -340,18 +362,23 @@ print_quad_option_list (); return retval; } - else if (nargin == 2) + else if (nargin == 1 || nargin == 2) { char *keyword = args(0).string_value (); if (! error_state) { - double val = args(1).double_value (); + if (nargin == 1) + return show_quad_option (keyword); + else + { + double val = args(1).double_value (); - if (! error_state) - { - do_quad_option (keyword, val); - return retval; + if (! error_state) + { + set_quad_option (keyword, val); + return retval; + } } } }