annotate src/feval.cc @ 241:0f14cdbcaed3

feval.cc: stop computation after an error occurs
author Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
date Wed, 25 Jun 2014 20:36:04 +0200
parents 418a5119047b
children 5e9b5bbdc56b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
216
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
1 /*
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
2 Copyright (C) 2013 Marco Vassallo <gedeone-octave@users.sourceforge.net>
241
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
3 Copyright (C) 2014 Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
216
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
4
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
5 This program is free software; you can redistribute it and/or modify it under
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
6 the terms of the GNU General Public License as published by the Free Software
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
7 Foundation; either version 3 of the License, or (at your option) any later
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
8 version.
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
9
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
10 This program is distributed in the hope that it will be useful, but WITHOUT
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
11 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
12 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
13 details.
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
14
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
15 You should have received a copy of the GNU General Public License along with
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
16 this program; if not, see <http://www.gnu.org/licenses/>.
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
17 */
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
18
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
19 #include "function.h"
233
b07ec30369ab Add checks to feval
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 216
diff changeset
20 #include <stdexcept>
237
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
21 #include <vector>
216
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
22
237
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
23 DEFUN_DLD (feval, args, nargout, "-*- texinfo -*-\n\
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
24 @deftypefn {Function File} {[@var{fx}, @var{fy}, @var{fz}]} = \
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
25 feval (@var{function_name}, @var{x}, @var{y}, @var{z})\n\
216
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
26 Evaluate a function at a specific point of the domain and return the value. \n\
237
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
27 The input parameters are the function and the coordinates of the point where \n\
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
28 it has to be evaluated.\n\n\
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
29 Be aware that the number of input arguments and outputs depends on the \n\
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
30 dimensions of its domain and codomain.\n\
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
31 @example\n\
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
32 value = feval (p, x , y)\n\
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
33 @end example\n\
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
34 This is the expected call for a scalar field on a bidimensional domain.\n\
216
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
35 @seealso{Function}\n\
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
36 @end deftypefn")
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
37 {
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
38
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
39 int nargin = args.length ();
237
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
40 octave_value_list retval;
216
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
41
237
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
42 if (! function_type_loaded)
216
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
43 {
237
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
44 function::register_type ();
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
45 function_type_loaded = true;
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
46 mlock ();
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
47 }
216
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
48
237
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
49 if (args(0).type_id () == function::static_type_id ())
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
50 {
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
51 const function & fspo =
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
52 static_cast<const function&> (args(0).get_rep ());
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
53
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
54 if (!error_state)
216
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
55 {
237
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
56 const boost::shared_ptr<const dolfin::Function>
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
57 & f = fspo.get_pfun ();
216
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
58
237
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
59 octave_idx_type pdim = f->geometric_dimension ();
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
60 if (nargin != pdim + 1)
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
61 print_usage ();
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
62 else
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
63 {
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
64 std::vector <Matrix> coordinates;
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
65 dim_vector dims;
216
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
66
237
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
67 for (octave_idx_type in = 1; in <= pdim; ++in)
233
b07ec30369ab Add checks to feval
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 216
diff changeset
68 {
237
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
69 if (! args(in).is_real_type ())
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
70 error ("invalid argument");
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
71 else
233
b07ec30369ab Add checks to feval
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 216
diff changeset
72 {
237
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
73 Matrix aux = args(in).matrix_value ();
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
74 if (in == 1)
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
75 dims = aux.dims ();
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
76 else
233
b07ec30369ab Add checks to feval
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 216
diff changeset
77 {
237
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
78 dim_vector newdims = aux.dims ();
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
79 if (dims != newdims)
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
80 {
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
81 std::string msg = "all the input matrices should";
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
82 msg += " have the same size";
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
83 error (msg.c_str ());
241
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
84 break;
237
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
85 }
233
b07ec30369ab Add checks to feval
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 216
diff changeset
86 }
237
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
87 coordinates.push_back (aux);
233
b07ec30369ab Add checks to feval
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 216
diff changeset
88 }
216
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
89 }
237
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
90
241
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
91 if (! error_state)
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
92 {
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
93 octave_idx_type vdim = f->value_dimension (0);
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
94 if (nargout != vdim)
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
95 error ("wrong number of output arguments");
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
96 else
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
97 {
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
98 std::vector <Matrix> evaluations;
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
99 for (octave_idx_type out = 0; out < vdim; ++out)
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
100 evaluations.push_back (Matrix (dims));
237
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
101
241
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
102 for (octave_idx_type k = 0; k < dims.numel (); ++k)
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
103 {
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
104 Array<double> point (dim_vector (pdim, 1));
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
105 for (octave_idx_type el = 0; el < pdim; ++el)
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
106 point (el) = coordinates[el] (k);
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
107 dolfin::Array<double>
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
108 x (point.length (), point.fortran_vec ());
237
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
109
241
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
110 Array<double> res (dim_vector (vdim, 1));
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
111 dolfin::Array<double>
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
112 values (res.length (), res.fortran_vec ());
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
113 try
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
114 {
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
115 f->eval (values, x);
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
116 }
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
117 catch (std::runtime_error & err)
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
118 {
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
119 std::string msg = "cannot evaluate a function";
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
120 msg += " outside of its domain";
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
121 error (msg.c_str ());
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
122 break;
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
123 }
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
124
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
125 for (octave_idx_type el = 0; el < vdim; ++el)
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
126 evaluations[el] (k) = res (el);
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
127 }
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
128
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
129 if (! error_state)
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
130 {
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
131 for (std::vector<Matrix>::iterator it =
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
132 evaluations.begin ();
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
133 it != evaluations.end (); ++it)
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
134 retval.append (octave_value (*it));
0f14cdbcaed3 feval.cc: stop computation after an error occurs
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 237
diff changeset
135 }
237
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
136 }
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
137 }
216
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
138 }
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
139 }
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
140 }
237
418a5119047b New interface for function evaluation
Eugenio Gianniti <eugenio.gianniti@mail.polimi.it>
parents: 236
diff changeset
141
216
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
142 return retval;
a28b50969020 New version of feval which accept a matrix or an array as points
gedeone-octave <marcovass89@hotmail.it>
parents: 212
diff changeset
143 }