Mercurial > octave
annotate liboctave/DASSL.h @ 11502:4638800cd660
delete data pointer members from liboctave ODE/DAE classes; make destuctors virtual in ODE/DAE base classes
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 13 Jan 2011 03:16:40 -0500 |
parents | cbc402e64d83 |
children | fd0a3ac60b0e |
rev | line source |
---|---|
1841 | 1 /* |
2 | |
7017 | 3 Copyright (C) 1996, 1997, 2000, 2002, 2003, 2004, 2005, 2006, 2007 |
4 John W. Eaton | |
1841 | 5 |
6 This file is part of Octave. | |
7 | |
8 Octave is free software; you can redistribute it and/or modify it | |
9 under the terms of the GNU General Public License as published by the | |
7016 | 10 Free Software Foundation; either version 3 of the License, or (at your |
11 option) any later version. | |
1841 | 12 |
13 Octave is distributed in the hope that it will be useful, but WITHOUT | |
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
16 for more details. | |
17 | |
18 You should have received a copy of the GNU General Public License | |
7016 | 19 along with Octave; see the file COPYING. If not, see |
20 <http://www.gnu.org/licenses/>. | |
1841 | 21 |
22 */ | |
23 | |
24 #if !defined (octave_DASSL_h) | |
25 #define octave_DASSL_h 1 | |
26 | |
1871 | 27 #include <cfloat> |
1868 | 28 |
3998 | 29 #include "DASSL-opts.h" |
7231 | 30 #include "lo-math.h" |
1841 | 31 |
1868 | 32 class |
6108 | 33 OCTAVE_API |
1868 | 34 DASSL : public DAE, public DASSL_options |
1841 | 35 { |
36 public: | |
37 | |
11502
4638800cd660
delete data pointer members from liboctave ODE/DAE classes; make destuctors virtual in ODE/DAE base classes
John W. Eaton <jwe@octave.org>
parents:
10312
diff
changeset
|
38 DASSL (void) |
4638800cd660
delete data pointer members from liboctave ODE/DAE classes; make destuctors virtual in ODE/DAE base classes
John W. Eaton <jwe@octave.org>
parents:
10312
diff
changeset
|
39 : DAE (), DASSL_options (), initialized (false), liw (0), lrw (0), |
4638800cd660
delete data pointer members from liboctave ODE/DAE classes; make destuctors virtual in ODE/DAE base classes
John W. Eaton <jwe@octave.org>
parents:
10312
diff
changeset
|
40 info (), iwork (), rwork (), abs_tol (), rel_tol () { } |
1841 | 41 |
4587 | 42 DASSL (const ColumnVector& s, double tm, DAEFunc& f) |
11502
4638800cd660
delete data pointer members from liboctave ODE/DAE classes; make destuctors virtual in ODE/DAE base classes
John W. Eaton <jwe@octave.org>
parents:
10312
diff
changeset
|
43 : DAE (s, tm, f), DASSL_options (), initialized (false), liw (0), |
4638800cd660
delete data pointer members from liboctave ODE/DAE classes; make destuctors virtual in ODE/DAE base classes
John W. Eaton <jwe@octave.org>
parents:
10312
diff
changeset
|
44 lrw (0), info (), iwork (), rwork (), abs_tol (), rel_tol () { } |
1841 | 45 |
4587 | 46 DASSL (const ColumnVector& s, const ColumnVector& deriv, |
10312
cbc402e64d83
untabify liboctave header files
John W. Eaton <jwe@octave.org>
parents:
10158
diff
changeset
|
47 double tm, DAEFunc& f) |
11502
4638800cd660
delete data pointer members from liboctave ODE/DAE classes; make destuctors virtual in ODE/DAE base classes
John W. Eaton <jwe@octave.org>
parents:
10312
diff
changeset
|
48 : DAE (s, deriv, tm, f), DASSL_options (), initialized (false), |
4638800cd660
delete data pointer members from liboctave ODE/DAE classes; make destuctors virtual in ODE/DAE base classes
John W. Eaton <jwe@octave.org>
parents:
10312
diff
changeset
|
49 liw (0), lrw (0), info (), iwork (), rwork (), abs_tol (), |
4638800cd660
delete data pointer members from liboctave ODE/DAE classes; make destuctors virtual in ODE/DAE base classes
John W. Eaton <jwe@octave.org>
parents:
10312
diff
changeset
|
50 rel_tol () { } |
1841 | 51 |
1945 | 52 ~DASSL (void) { } |
1841 | 53 |
54 ColumnVector do_integrate (double t); | |
55 | |
56 Matrix do_integrate (const ColumnVector& tout); | |
57 | |
3519 | 58 Matrix do_integrate (const ColumnVector& tout, const ColumnVector& tcrit); |
59 | |
1841 | 60 Matrix integrate (const ColumnVector& tout, Matrix& xdot_out); |
61 | |
62 Matrix integrate (const ColumnVector& tout, Matrix& xdot_out, | |
10312
cbc402e64d83
untabify liboctave header files
John W. Eaton <jwe@octave.org>
parents:
10158
diff
changeset
|
63 const ColumnVector& tcrit); |
1841 | 64 |
3995 | 65 std::string error_message (void) const; |
66 | |
1841 | 67 private: |
68 | |
4049 | 69 bool initialized; |
70 | |
5275 | 71 octave_idx_type liw; |
72 octave_idx_type lrw; | |
4049 | 73 |
5275 | 74 Array<octave_idx_type> info; |
75 Array<octave_idx_type> iwork; | |
4049 | 76 |
1945 | 77 Array<double> rwork; |
1841 | 78 |
4049 | 79 Array<double> abs_tol; |
80 Array<double> rel_tol; | |
1841 | 81 }; |
82 | |
83 #endif |