/// <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 (Roe != null)
         {
             hashCode = hashCode * 59 + Roe.GetHashCode();
         }
         if (Npm != null)
         {
             hashCode = hashCode * 59 + Npm.GetHashCode();
         }
         if (Gpm != null)
         {
             hashCode = hashCode * 59 + Gpm.GetHashCode();
         }
         if (Np != null)
         {
             hashCode = hashCode * 59 + Np.GetHashCode();
         }
         if (Eps != null)
         {
             hashCode = hashCode * 59 + Eps.GetHashCode();
         }
         if (Mbr != null)
         {
             hashCode = hashCode * 59 + Mbr.GetHashCode();
         }
         if (Ts != null)
         {
             hashCode = hashCode * 59 + Ts.GetHashCode();
         }
         if (Cs != null)
         {
             hashCode = hashCode * 59 + Cs.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);
        }