diff liboctave/DASSL-opts.in @ 3998:f6df65db67f9

[project @ 2002-07-24 18:10:39 by jwe]
author jwe
date Wed, 24 Jul 2002 18:10:40 +0000
parents
children 9678c5526190
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/liboctave/DASSL-opts.in
@@ -0,0 +1,62 @@
+CLASS = "DASSL"
+
+OPTION
+  NAME = "absolute tolerance"
+  TYPE = "Array<double>"
+  SET_ARG_TYPE = "const $TYPE&"
+  INIT_BODY
+    $OPTVAR.resize (1);
+    $OPTVAR(0) = ::sqrt (DBL_EPSILON);
+  END_INIT_BODY
+  SET_CODE
+    void set_$OPT (double val)
+      {
+        $OPTVAR.resize (1);
+        $OPTVAR(0) = (val > 0.0) ? val : ::sqrt (DBL_EPSILON);
+      }
+
+    void set_$OPT (const $TYPE& val)
+      { $OPTVAR = val; }
+  END_SET_CODE
+END_OPTION
+
+OPTION
+  NAME = "relative tolerance"
+  TYPE = "Array<double>"
+  SET_ARG_TYPE = "const $TYPE&"
+  INIT_BODY
+    $OPTVAR.resize (1);
+    $OPTVAR(0) = ::sqrt (DBL_EPSILON);
+  END_INIT_BODY
+  SET_CODE
+    void set_$OPT (double val)
+      {
+        $OPTVAR.resize (1);
+        $OPTVAR(0) = (val > 0.0) ? val : ::sqrt (DBL_EPSILON);
+      }
+
+    void set_$OPT (const $TYPE& val)
+      { $OPTVAR = val; }
+  END_SET_CODE
+END_OPTION
+
+OPTION
+  NAME = "initial step size"
+  TYPE = "double"
+  INIT_VALUE = "-1.0"
+  SET_EXPR = "(val >= 0.0) ? val : -1.0"
+END_OPTION
+
+OPTION
+  NAME = "maximum step size"
+  TYPE = "double"
+  INIT_VALUE = "-1.0"
+  SET_EXPR = "(val >= 0.0) ? val : -1.0"
+END_OPTION
+
+OPTION
+  NAME = "minimum step size"
+  TYPE = "double"
+  INIT_VALUE = "0.0"
+  SET_EXPR = "(val >= 0.0) ? val : 0.0"
+END_OPTION