Files
ParkingRobot/ClumsyPilot/ParkrobTrajplanner/EMPlanner/Contracts/ContractNumeric.cs
T

19 lines
670 B
C#

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