annotate liboctave/LSODE-opts.in @ 4043:6fae69a1796e

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