using System; namespace MultiWheelC.TrajectoryPlanning.EMPlanner; /// /// 验证规划契约中必须为有限数的标量输入。 /// internal static class ContractNumeric { /// /// 拒绝 NaN 或无穷数值。 的单位由调用方语境决定; 原样传给异常构造器,方法本身不验证它。 /// public static void RequireFinite(double value, string parameterName) { if (double.IsNaN(value) || double.IsInfinity(value)) throw new ArgumentOutOfRangeException(parameterName, "A finite value is required."); } }