Mercurial > hg > octave-nkf
diff liboctave/DASPK.h @ 3998:f6df65db67f9
[project @ 2002-07-24 18:10:39 by jwe]
author | jwe |
---|---|
date | Wed, 24 Jul 2002 18:10:40 +0000 |
parents | d4091aff6468 |
children | 9678c5526190 |
line wrap: on
line diff
--- a/liboctave/DASPK.h +++ b/liboctave/DASPK.h @@ -32,79 +32,7 @@ #include "DAE.h" -class -DASPK_options -{ -public: - - DASPK_options (void) { init (); } - - DASPK_options (const DASPK_options& opt) { copy (opt); } - - DASPK_options& operator = (const DASPK_options& opt) - { - if (this != &opt) - copy (opt); - - return *this; - } - - ~DASPK_options (void) { } - - void init (void) - { - double sqrt_eps = ::sqrt (DBL_EPSILON); - x_absolute_tolerance = sqrt_eps; - x_initial_step_size = -1.0; - x_maximum_step_size = -1.0; - x_minimum_step_size = 0.0; - x_relative_tolerance = sqrt_eps; - } - - void copy (const DASPK_options& opt) - { - x_absolute_tolerance = opt.x_absolute_tolerance; - x_initial_step_size = opt.x_initial_step_size; - x_maximum_step_size = opt.x_maximum_step_size; - x_minimum_step_size = opt.x_minimum_step_size; - x_relative_tolerance = opt.x_relative_tolerance; - } - - void set_default_options (void) { init (); } - - void set_absolute_tolerance (double val) - { x_absolute_tolerance = (val > 0.0) ? val : ::sqrt (DBL_EPSILON); } - - void set_initial_step_size (double val) - { x_initial_step_size = (val >= 0.0) ? val : -1.0; } - - void set_maximum_step_size (double val) - { x_maximum_step_size = (val >= 0.0) ? val : -1.0; } - - void set_minimum_step_size (double val) - { x_minimum_step_size = (val >= 0.0) ? val : 0.0; } - - void set_relative_tolerance (double val) - { x_relative_tolerance = (val > 0.0) ? val : ::sqrt (DBL_EPSILON); } - - double absolute_tolerance (void) { return x_absolute_tolerance; } - - double initial_step_size (void) { return x_initial_step_size; } - - double maximum_step_size (void) { return x_maximum_step_size; } - - double minimum_step_size (void) { return x_minimum_step_size; } - - double relative_tolerance (void) { return x_relative_tolerance; } - -private: - - double x_absolute_tolerance; - double x_initial_step_size; - double x_maximum_step_size; - double x_minimum_step_size; - double x_relative_tolerance; -}; +#include "DASPK-opts.h" class DASPK : public DAE, public DASPK_options