]> git.mxchange.org Git - flightgear.git/commitdiff
Divide-by-zero fixes from Csaba Halász
authortimoore <timoore>
Thu, 8 Jan 2009 07:57:04 +0000 (07:57 +0000)
committerTim Moore <timoore@redhat.com>
Thu, 8 Jan 2009 08:02:19 +0000 (09:02 +0100)
src/Instrumentation/heading_indicator.cxx
src/Instrumentation/heading_indicator_dg.cxx
src/Instrumentation/heading_indicator_fg.cxx

index b92d99086aec97227167c14920255273dce1d5ec..10f25e7990866818863b55439dc01816addaacfb 100644 (file)
@@ -87,7 +87,7 @@ HeadingIndicator::update (double dt)
 
                                 // Next, calculate the indicated heading,
                                 // introducing errors.
-    double factor = 0.01 / (spin * spin * spin * spin * spin * spin);
+    double factor = 100 * (spin * spin * spin * spin * spin * spin);
     double heading = _heading_in_node->getDoubleValue();
 
                                 // Now, we have to get the current
@@ -98,7 +98,7 @@ HeadingIndicator::update (double dt)
     while ((heading - _last_heading_deg) < -180)
         _last_heading_deg -= 360;
 
-    heading = fgGetLowPass(_last_heading_deg, heading, dt/factor);
+    heading = fgGetLowPass(_last_heading_deg, heading, dt * factor);
     _last_heading_deg = heading;
 
     heading += offset;
index 036caf47cb37472882bb3b4d978fc85934e64e14..d9923c2e556816642d228e7cfec095169fef08b0 100644 (file)
@@ -108,7 +108,7 @@ HeadingIndicatorDG::update (double dt)
 
                                 // Next, calculate the indicated heading,
                                 // introducing errors.
-    double factor = 0.01 / (spin * spin * spin * spin * spin * spin);
+    double factor = 100 * (spin * spin * spin * spin * spin * spin);
     double heading = _heading_in_node->getDoubleValue();
 
                                 // Now, we have to get the current
@@ -119,7 +119,7 @@ HeadingIndicatorDG::update (double dt)
     while ((heading - _last_heading_deg) < -180)
         _last_heading_deg -= 360;
 
-    heading = fgGetLowPass(_last_heading_deg, heading, dt/factor);
+    heading = fgGetLowPass(_last_heading_deg, heading, dt * factor);
     _last_heading_deg = heading;
 
     heading += offset;
index 01d33892d8d9a4873e1180214972ccac2f5d2b7f..e35df2d63d3dd754495d9be8685d1ecca18492ac 100644 (file)
@@ -109,7 +109,7 @@ HeadingIndicatorFG::update (double dt)
 
                                 // Next, calculate the indicated heading,
                                 // introducing errors.
-    double factor = 0.01 / (spin * spin * spin * spin * spin * spin);
+    double factor = 100 * (spin * spin * spin * spin * spin * spin);
     double heading = _heading_in_node->getDoubleValue();
 
                                 // Now, we have to get the current
@@ -120,7 +120,7 @@ HeadingIndicatorFG::update (double dt)
     while ((heading - _last_heading_deg) < -180)
         _last_heading_deg -= 360;
 
-    heading = fgGetLowPass(_last_heading_deg, heading, dt/factor);
+    heading = fgGetLowPass(_last_heading_deg, heading, dt * factor);
     _last_heading_deg = heading;
 
        heading += offset;