public double IsPositive(double value, ZeroSignMode zeroSignMode = ZeroSignMode.IsNeither, [InvokerParameterName] string paramName = null, OptsFn optsFn = null) { if (value > 0 || (value == 0 && (ZeroSignMode.IsPositive == zeroSignMode || ZeroSignMode.IsBoth == zeroSignMode))) { return(value); } throw Ensure.ExceptionFactory.ArgumentException(string.Format(ExceptionMessages.Numbers_IsPositive_Failed, value), paramName, optsFn); }
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 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 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"); }
public static double IsNotNegative(double value, ZeroSignMode zeroSignMode = ZeroSignMode.IsNeither, [InvokerParameterName] string paramName = null, OptsFn optsFn = null) => Ensure.Comparable.IsNotNegative(value, zeroSignMode, paramName, optsFn);
public static long IsPositive(long value, ZeroSignMode zeroSignMode = ZeroSignMode.IsNeither, [InvokerParameterName] string paramName = null, OptsFn optsFn = null) => Ensure.Comparable.IsPositive(value, zeroSignMode, paramName, optsFn);