annotate liboctave/LSODE-opts.in @ 4049:a35a3c5d4740

[project @ 2002-08-16 08:54:31 by jwe]
author jwe
date Fri, 16 Aug 2002 08:54:31 +0000
parents 9678c5526190
children b79da8779a0e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3998
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
1 CLASS = "LSODE"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
2
4044
9678c5526190 [project @ 2002-08-15 16:54:55 by jwe]
jwe
parents: 3998
diff changeset
3 INCLUDE = "ODE.h"
9678c5526190 [project @ 2002-08-15 16:54:55 by jwe]
jwe
parents: 3998
diff changeset
4
3998
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
5 OPTION
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
6 NAME = "absolute tolerance"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
7 TYPE = "Array<double>"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
8 SET_ARG_TYPE = "const $TYPE&"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
9 INIT_BODY
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
10 $OPTVAR.resize (1);
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
11 $OPTVAR(0) = ::sqrt (DBL_EPSILON);
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
12 END_INIT_BODY
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
13 SET_CODE
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
14 void set_$OPT (double val)
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
15 {
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
16 $OPTVAR.resize (1);
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
17 $OPTVAR(0) = (val > 0.0) ? val : ::sqrt (DBL_EPSILON);
4049
a35a3c5d4740 [project @ 2002-08-16 08:54:31 by jwe]
jwe
parents: 4044
diff changeset
18 reset = true;
3998
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
19 }
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
20
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
21 void set_$OPT (const $TYPE& val)
4049
a35a3c5d4740 [project @ 2002-08-16 08:54:31 by jwe]
jwe
parents: 4044
diff changeset
22 { $OPTVAR = val; reset = true; }
3998
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
23 END_SET_CODE
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
24 END_OPTION
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
25
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
26 OPTION
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
27 NAME = "integration method"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
28 TYPE = "std::string"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
29 SET_ARG_TYPE = "const $TYPE&"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
30 INIT_VALUE = ""stiff""
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
31 SET_BODY
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
32 if (val == "stiff" || val == "bdf")
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
33 $OPTVAR = "stiff";
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
34 else if (val == "non-stiff" || val == "adams")
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
35 $OPTVAR = "non-stiff";
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
36 else
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
37 (*current_liboctave_error_handler)
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
38 ("lsode_options: method must be \"stiff\", \"bdf\", \"non-stiff\", or \"adams\"");
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
39 END_SET_BODY
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
40 END_OPTION
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
41
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
42 OPTION
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
43 NAME = "initial step size"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
44 TYPE = "double"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
45 INIT_VALUE = "-1.0"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
46 SET_EXPR = "(val >= 0.0) ? val : -1.0"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
47 END_OPTION
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
48
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
49 OPTION
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
50 NAME = "maximum step size"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
51 TYPE = "double"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
52 INIT_VALUE = "-1.0"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
53 SET_EXPR = "(val >= 0.0) ? val : -1.0"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
54 END_OPTION
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
55
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
56 OPTION
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
57 NAME = "minimum step size"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
58 TYPE = "double"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
59 INIT_VALUE = "0.0"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
60 SET_EXPR = "(val >= 0.0) ? val : 0.0"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
61 END_OPTION
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
62
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
63 OPTION
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
64 NAME = "relative tolerance"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
65 TYPE = "double"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
66 INIT_VALUE = "::sqrt (DBL_EPSILON)"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
67 SET_EXPR = "(val > 0.0) ? val : ::sqrt (DBL_EPSILON)"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
68 END_OPTION
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
69
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
70 OPTION
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
71 NAME = "step limit"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
72 TYPE = "int"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
73 INIT_VALUE = "100000"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
74 SET_EXPR = "val"
f6df65db67f9 [project @ 2002-07-24 18:10:39 by jwe]
jwe
parents:
diff changeset
75 END_OPTION