/// <summary>
 /// Gets the hash code
 /// </summary>
 /// <returns>Hash code</returns>
 public override int GetHashCode()
 {
     unchecked            // Overflow is fine, just wrap
     {
         int hashCode = 41;
         // Suitable nullity checks etc, of course :)
         if (Cr != null)
         {
             hashCode = hashCode * 59 + Cr.GetHashCode();
         }
         if (Qr != null)
         {
             hashCode = hashCode * 59 + Qr.GetHashCode();
         }
         if (Car != null)
         {
             hashCode = hashCode * 59 + Car.GetHashCode();
         }
         if (Tlgr != null)
         {
             hashCode = hashCode * 59 + Tlgr.GetHashCode();
         }
         if (Dar != null)
         {
             hashCode = hashCode * 59 + Dar.GetHashCode();
         }
         if (Em != null)
         {
             hashCode = hashCode * 59 + Em.GetHashCode();
         }
         return(hashCode);
     }
 }
        public override int GetHashCode()
        {
            int hash = 1;

            if (Ts != 0D)
            {
                hash ^= Ts.GetHashCode();
            }
            if (Cf != 0D)
            {
                hash ^= Cf.GetHashCode();
            }
            if (Cr != 0D)
            {
                hash ^= Cr.GetHashCode();
            }
            if (MassFl != 0)
            {
                hash ^= MassFl.GetHashCode();
            }
            if (MassFr != 0)
            {
                hash ^= MassFr.GetHashCode();
            }
            if (MassRl != 0)
            {
                hash ^= MassRl.GetHashCode();
            }
            if (MassRr != 0)
            {
                hash ^= MassRr.GetHashCode();
            }
            if (Eps != 0D)
            {
                hash ^= Eps.GetHashCode();
            }
            hash ^= matrixQ_.GetHashCode();
            hash ^= matrixR_.GetHashCode();
            if (CutoffFreq != 0)
            {
                hash ^= CutoffFreq.GetHashCode();
            }
            if (MeanFilterWindowSize != 0)
            {
                hash ^= MeanFilterWindowSize.GetHashCode();
            }
            if (MaxIteration != 0)
            {
                hash ^= MaxIteration.GetHashCode();
            }
            if (MaxLateralAcceleration != 0D)
            {
                hash ^= MaxLateralAcceleration.GetHashCode();
            }
            if (StandstillAcceleration != 0D)
            {
                hash ^= StandstillAcceleration.GetHashCode();
            }
            if (ThrottleDeadzone != 0D)
            {
                hash ^= ThrottleDeadzone.GetHashCode();
            }
            if (BrakeDeadzone != 0D)
            {
                hash ^= BrakeDeadzone.GetHashCode();
            }
            if (latErrGainScheduler_ != null)
            {
                hash ^= LatErrGainScheduler.GetHashCode();
            }
            if (headingErrGainScheduler_ != null)
            {
                hash ^= HeadingErrGainScheduler.GetHashCode();
            }
            if (steerWeightGainScheduler_ != null)
            {
                hash ^= SteerWeightGainScheduler.GetHashCode();
            }
            if (feedforwardtermGainScheduler_ != null)
            {
                hash ^= FeedforwardtermGainScheduler.GetHashCode();
            }
            if (calibrationTable_ != null)
            {
                hash ^= CalibrationTable.GetHashCode();
            }
            return(hash);
        }
        public override int GetHashCode()
        {
            int hash = 1;

            if (Ts != 0D)
            {
                hash ^= Ts.GetHashCode();
            }
            if (PreviewWindow != 0)
            {
                hash ^= PreviewWindow.GetHashCode();
            }
            if (Cf != 0D)
            {
                hash ^= Cf.GetHashCode();
            }
            if (Cr != 0D)
            {
                hash ^= Cr.GetHashCode();
            }
            if (MassFl != 0)
            {
                hash ^= MassFl.GetHashCode();
            }
            if (MassFr != 0)
            {
                hash ^= MassFr.GetHashCode();
            }
            if (MassRl != 0)
            {
                hash ^= MassRl.GetHashCode();
            }
            if (MassRr != 0)
            {
                hash ^= MassRr.GetHashCode();
            }
            if (Eps != 0D)
            {
                hash ^= Eps.GetHashCode();
            }
            hash ^= matrixQ_.GetHashCode();
            hash ^= reverseMatrixQ_.GetHashCode();
            if (CutoffFreq != 0)
            {
                hash ^= CutoffFreq.GetHashCode();
            }
            if (MeanFilterWindowSize != 0)
            {
                hash ^= MeanFilterWindowSize.GetHashCode();
            }
            if (MaxIteration != 0)
            {
                hash ^= MaxIteration.GetHashCode();
            }
            if (MaxLateralAcceleration != 0D)
            {
                hash ^= MaxLateralAcceleration.GetHashCode();
            }
            if (latErrGainScheduler_ != null)
            {
                hash ^= LatErrGainScheduler.GetHashCode();
            }
            if (headingErrGainScheduler_ != null)
            {
                hash ^= HeadingErrGainScheduler.GetHashCode();
            }
            return(hash);
        }