comparison src/quad.cc @ 1329:13b630c0aad3

[project @ 1995-08-24 00:58:44 by jwe]
author jwe
date Thu, 24 Aug 1995 00:58:44 +0000
parents 611d403c7f3d
children 41c6ffb66c01
comparison
equal deleted inserted replaced
1328:ec2ab864e8eb 1329:13b630c0aad3
304 output_buf << "\n" << ends; 304 output_buf << "\n" << ends;
305 maybe_page_output (output_buf); 305 maybe_page_output (output_buf);
306 } 306 }
307 307
308 static void 308 static void
309 do_quad_option (char *keyword, double val) 309 set_quad_option (char *keyword, double val)
310 { 310 {
311 QUAD_OPTIONS *list = quad_option_table; 311 QUAD_OPTIONS *list = quad_option_table;
312 312
313 while (list->keyword != 0) 313 while (list->keyword != 0)
314 { 314 {
323 } 323 }
324 324
325 warning ("quad_options: no match for `%s'", keyword); 325 warning ("quad_options: no match for `%s'", keyword);
326 } 326 }
327 327
328 static Octave_object
329 show_quad_option (char *keyword)
330 {
331 Octave_object retval;
332
333 QUAD_OPTIONS *list = quad_option_table;
334
335 while (list->keyword != 0)
336 {
337 if (keyword_almost_match (list->kw_tok, list->min_len, keyword,
338 list->min_toks_to_match, MAX_TOKENS))
339 {
340 return (quad_opts.*list->d_get_fcn) ();
341 }
342 list++;
343 }
344
345 warning ("quad_options: no match for `%s'", keyword);
346
347 return retval;
348 }
349
328 DEFUN_DLD_BUILTIN ("quad_options", Fquad_options, Squad_options, -1, 1, 350 DEFUN_DLD_BUILTIN ("quad_options", Fquad_options, Squad_options, -1, 1,
329 "quad_options (KEYWORD, VALUE)\n\ 351 "quad_options (KEYWORD, VALUE)\n\
330 \n\ 352 \n\
331 Set or show options for quad. Keywords may be abbreviated\n\ 353 Set or show options for quad. Keywords may be abbreviated\n\
332 to the shortest match.") 354 to the shortest match.")
338 if (nargin == 0) 360 if (nargin == 0)
339 { 361 {
340 print_quad_option_list (); 362 print_quad_option_list ();
341 return retval; 363 return retval;
342 } 364 }
343 else if (nargin == 2) 365 else if (nargin == 1 || nargin == 2)
344 { 366 {
345 char *keyword = args(0).string_value (); 367 char *keyword = args(0).string_value ();
346 368
347 if (! error_state) 369 if (! error_state)
348 { 370 {
349 double val = args(1).double_value (); 371 if (nargin == 1)
350 372 return show_quad_option (keyword);
351 if (! error_state) 373 else
352 { 374 {
353 do_quad_option (keyword, val); 375 double val = args(1).double_value ();
354 return retval; 376
377 if (! error_state)
378 {
379 set_quad_option (keyword, val);
380 return retval;
381 }
355 } 382 }
356 } 383 }
357 } 384 }
358 385
359 print_usage ("quad_options"); 386 print_usage ("quad_options");