X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FAutopilot%2Fdigitalfilter.cxx;h=26377e13141b289635ca871e4103579e0b5c66fb;hb=ff91fec1bb4b59dc2a7084de2a5ab0469abb1f3e;hp=d73a2585e150d062bc87a70e8042148cb424a26c;hpb=f6c3a41b92f1e40749dfcd3b1afac5013ecaf719;p=flightgear.git diff --git a/src/Autopilot/digitalfilter.cxx b/src/Autopilot/digitalfilter.cxx index d73a2585e..26377e131 100644 --- a/src/Autopilot/digitalfilter.cxx +++ b/src/Autopilot/digitalfilter.cxx @@ -40,6 +40,7 @@ class DigitalFilterImplementation : public SGReferenced { protected: virtual bool configure( const std::string & nodeName, SGPropertyNode_ptr configNode) = 0; public: + virtual ~DigitalFilterImplementation() {} DigitalFilterImplementation(); virtual void initialize( double output ) {} virtual double compute( double dt, double input ) = 0; @@ -251,7 +252,7 @@ void NoiseSpikeFilterImplementation::initialize( double output ) double NoiseSpikeFilterImplementation::compute( double dt, double input ) { double delta = input - _output_1; - if( delta == 0.0 ) return input; // trivial + if( fabs(delta) <= SGLimitsd::min() ) return input; // trivial double maxChange = _rateOfChangeInput.get_value() * dt; const PeriodicalValue * periodical = _digitalFilter->getPeriodicalValue();