Mercurial > hg > octave-nkf
annotate examples/code/unwinddemo.cc @ 20830:b65888ec820e draft default tip gccjit
dmalcom gcc jit import
author | Stefan Mahr <dac922@gmx.de> |
---|---|
date | Fri, 27 Feb 2015 16:59:36 +0100 |
parents | 2f8500ca91d3 |
children |
rev | line source |
---|---|
6572 | 1 #include <octave/oct.h> |
2 #include <octave/unwind-prot.h> | |
3 | |
4 void | |
16867
be41c30bcb44
Re-write documentation and all examples of dynamically linked functions.
Rik <rik@octave.org>
parents:
14855
diff
changeset
|
5 my_err_handler (const char *fmt, ...) |
6572 | 6 { |
7 // Do nothing!! | |
8 } | |
9 | |
19607
95c533ed464b
use warning IDs for all warnings in liboctave
John W. Eaton <jwe@octave.org>
parents:
19225
diff
changeset
|
10 void |
95c533ed464b
use warning IDs for all warnings in liboctave
John W. Eaton <jwe@octave.org>
parents:
19225
diff
changeset
|
11 my_err_with_id_handler (const char *id, const char *fmt, ...) |
95c533ed464b
use warning IDs for all warnings in liboctave
John W. Eaton <jwe@octave.org>
parents:
19225
diff
changeset
|
12 { |
95c533ed464b
use warning IDs for all warnings in liboctave
John W. Eaton <jwe@octave.org>
parents:
19225
diff
changeset
|
13 // Do nothing!! |
95c533ed464b
use warning IDs for all warnings in liboctave
John W. Eaton <jwe@octave.org>
parents:
19225
diff
changeset
|
14 } |
95c533ed464b
use warning IDs for all warnings in liboctave
John W. Eaton <jwe@octave.org>
parents:
19225
diff
changeset
|
15 |
6572 | 16 DEFUN_DLD (unwinddemo, args, nargout, "Unwind Demo") |
17 { | |
20753
2f8500ca91d3
eliminate error_state from example files
John W. Eaton <jwe@octave.org>
parents:
19607
diff
changeset
|
18 if (args.length () < 2) |
6572 | 19 print_usage (); |
20753
2f8500ca91d3
eliminate error_state from example files
John W. Eaton <jwe@octave.org>
parents:
19607
diff
changeset
|
20 |
2f8500ca91d3
eliminate error_state from example files
John W. Eaton <jwe@octave.org>
parents:
19607
diff
changeset
|
21 NDArray a = args(0).array_value (); |
2f8500ca91d3
eliminate error_state from example files
John W. Eaton <jwe@octave.org>
parents:
19607
diff
changeset
|
22 NDArray b = args(1).array_value (); |
6572 | 23 |
20753
2f8500ca91d3
eliminate error_state from example files
John W. Eaton <jwe@octave.org>
parents:
19607
diff
changeset
|
24 // Declare unwind_protect frame which lasts as long as |
2f8500ca91d3
eliminate error_state from example files
John W. Eaton <jwe@octave.org>
parents:
19607
diff
changeset
|
25 // the variable frame has scope. |
2f8500ca91d3
eliminate error_state from example files
John W. Eaton <jwe@octave.org>
parents:
19607
diff
changeset
|
26 unwind_protect frame; |
2f8500ca91d3
eliminate error_state from example files
John W. Eaton <jwe@octave.org>
parents:
19607
diff
changeset
|
27 frame.add_fcn (set_liboctave_warning_handler, |
2f8500ca91d3
eliminate error_state from example files
John W. Eaton <jwe@octave.org>
parents:
19607
diff
changeset
|
28 current_liboctave_warning_handler); |
19607
95c533ed464b
use warning IDs for all warnings in liboctave
John W. Eaton <jwe@octave.org>
parents:
19225
diff
changeset
|
29 |
20753
2f8500ca91d3
eliminate error_state from example files
John W. Eaton <jwe@octave.org>
parents:
19607
diff
changeset
|
30 frame.add_fcn (set_liboctave_warning_with_id_handler, |
2f8500ca91d3
eliminate error_state from example files
John W. Eaton <jwe@octave.org>
parents:
19607
diff
changeset
|
31 current_liboctave_warning_with_id_handler); |
19607
95c533ed464b
use warning IDs for all warnings in liboctave
John W. Eaton <jwe@octave.org>
parents:
19225
diff
changeset
|
32 |
20753
2f8500ca91d3
eliminate error_state from example files
John W. Eaton <jwe@octave.org>
parents:
19607
diff
changeset
|
33 set_liboctave_warning_handler (my_err_handler); |
2f8500ca91d3
eliminate error_state from example files
John W. Eaton <jwe@octave.org>
parents:
19607
diff
changeset
|
34 set_liboctave_warning_with_id_handler (my_err_with_id_handler); |
19607
95c533ed464b
use warning IDs for all warnings in liboctave
John W. Eaton <jwe@octave.org>
parents:
19225
diff
changeset
|
35 |
20753
2f8500ca91d3
eliminate error_state from example files
John W. Eaton <jwe@octave.org>
parents:
19607
diff
changeset
|
36 return octave_value (quotient (a, b)); |
6572 | 37 } |