Mercurial > octave
view examples/code/unwinddemo.cc @ 32060:1203a2d81a42
Add BIST tests for Matlab compatibility for functions which accept negative dimensions.
* data.cc (Fones, Finf, Feps, Feye): Add BIST test for negative dimensions.
* rand.cc (Frand): Add BIST test for negative dimensions.
* ov-cell.cc (Fcell): Add BIST test for negative dimensions.
author | Rik <rik@octave.org> |
---|---|
date | Wed, 26 Apr 2023 16:26:32 -0700 |
parents | 28913793f678 |
children |
line wrap: on
line source
#include <octave/oct.h> #include <octave/unwind-prot.h> void my_err_handler (const char *fmt, ...) { // Do nothing!! } void my_err_with_id_handler (const char *id, const char *fmt, ...) { // Do nothing!! } DEFUN_DLD (unwinddemo, args, nargout, "Unwind Demo") { if (args.length () < 2) print_usage (); NDArray a = args(0).array_value (); NDArray b = args(1).array_value (); // Create unwind_action objects. At the end of the enclosing scope, // destructors for these objects will call the given functions with // the specified arguments. octave::unwind_action restore_warning_handler (set_liboctave_warning_handler, current_liboctave_warning_handler); octave::unwind_action restore_warning_with_id_handler (set_liboctave_warning_with_id_handler, current_liboctave_warning_with_id_handler); set_liboctave_warning_handler (my_err_handler); set_liboctave_warning_with_id_handler (my_err_with_id_handler); return octave_value (quotient (a, b)); }