4 #if ! defined (octave_DASRT_options_h)
5 #define octave_DASRT_options_h 1
20 : m_absolute_tolerance (),
21 m_relative_tolerance (),
22 m_initial_step_size (),
24 m_maximum_step_size (),
32 : m_absolute_tolerance (opt.m_absolute_tolerance),
33 m_relative_tolerance (opt.m_relative_tolerance),
34 m_initial_step_size (opt.m_initial_step_size),
35 m_maximum_order (opt.m_maximum_order),
36 m_maximum_step_size (opt.m_maximum_step_size),
37 m_step_limit (opt.m_step_limit),
45 m_absolute_tolerance = opt.m_absolute_tolerance;
46 m_relative_tolerance = opt.m_relative_tolerance;
47 m_initial_step_size = opt.m_initial_step_size;
48 m_maximum_order = opt.m_maximum_order;
49 m_maximum_step_size = opt.m_maximum_step_size;
50 m_step_limit = opt.m_step_limit;
61 m_absolute_tolerance.resize (
dim_vector (1, 1));
62 m_absolute_tolerance(0) = ::sqrt (std::numeric_limits<double>::epsilon ());
63 m_relative_tolerance.resize (
dim_vector (1, 1));
64 m_relative_tolerance(0) = ::sqrt (std::numeric_limits<double>::epsilon ());
65 m_initial_step_size = -1.0;
67 m_maximum_step_size = -1.0;
74 m_absolute_tolerance = opt.m_absolute_tolerance;
75 m_relative_tolerance = opt.m_relative_tolerance;
76 m_initial_step_size = opt.m_initial_step_size;
77 m_maximum_order = opt.m_maximum_order;
78 m_maximum_step_size = opt.m_maximum_step_size;
79 m_step_limit = opt.m_step_limit;
87 m_absolute_tolerance.resize (
dim_vector (1, 1));
88 m_absolute_tolerance(0) = (val > 0.0) ? val : ::sqrt (std::numeric_limits<double>::epsilon ());
93 { m_absolute_tolerance = val; m_reset =
true; }
97 m_relative_tolerance.resize (
dim_vector (1, 1));
98 m_relative_tolerance(0) = (val > 0.0) ? val : ::sqrt (std::numeric_limits<double>::epsilon ());
103 { m_relative_tolerance = val; m_reset =
true; }
106 { m_initial_step_size = (val >= 0.0) ? val : -1.0; m_reset =
true; }
109 { m_maximum_order = val; m_reset =
true; }
112 { m_maximum_step_size = (val >= 0.0) ? val : -1.0; m_reset =
true; }
115 { m_step_limit = (val >= 0) ? val : -1; m_reset =
true; }
117 {
return m_absolute_tolerance; }
120 {
return m_relative_tolerance; }
123 {
return m_initial_step_size; }
126 {
return m_maximum_order; }
129 {
return m_maximum_step_size; }
132 {
return m_step_limit; }
138 double m_initial_step_size;
140 double m_maximum_step_size;
void set_maximum_step_size(double val)
void set_maximum_order(octave_idx_type val)
void set_default_options()
void set_relative_tolerance(const Array< double > &val)
octave_idx_type maximum_order() const
void set_relative_tolerance(double val)
octave_idx_type step_limit() const
void set_step_limit(octave_idx_type val)
void set_options(const DASRT_options &opt)
void set_absolute_tolerance(const Array< double > &val)
void set_initial_step_size(double val)
Array< double > relative_tolerance() const
DASRT_options(const DASRT_options &opt)
double initial_step_size() const
void set_absolute_tolerance(double val)
Array< double > absolute_tolerance() const
double maximum_step_size() const
Vector representing the dimensions (size) of an Array.