public static void IsPositive( this Param <sbyte> param, ZeroSignMode zeroSignMode = ZeroSignMode.ZeroIsNeither) { if (param.Value > 0) { return; } if (param.Value == 0 && zeroSignMode.HasFlag(ZeroSignMode.ZeroIsPositive)) { return; } Exceptions.ThrowArgumentException( param.Name, param.Value, param.OptsFn, "The value must be positive"); }
public static void IsNonNegative( this Param <float> param, ZeroSignMode zeroSignMode = ZeroSignMode.ZeroIsNeither) { if (param.Value > 0) { return; } if (param.Value == 0 && !zeroSignMode.HasFlag(ZeroSignMode.ZeroIsNegative)) { return; } Exceptions.ThrowArgumentException( param.Name, param.Value, param.OptsFn, "The value must be non-negative"); }
public static void IsNegative( this Param <double> param, ZeroSignMode zeroSignMode = ZeroSignMode.ZeroIsNeither) { if (param.Value < 0) { return; } // ReSharper disable once CompareOfFloatsByEqualityOperator if (param.Value == 0 && zeroSignMode.HasFlag(ZeroSignMode.ZeroIsNegative)) { return; } Exceptions.ThrowArgumentException( param.Name, param.Value, param.OptsFn, "The value must be negative"); }