public BoolValue Lt(IOrderedValue arg1, IOrderedValue arg2) { return(BoolValue.Create(CheckedLess(arg1, arg2))); }
// Checked Less function common code static bool CheckedLess(IOrderedValue arg1, IOrderedValue arg2) { Logger.Assert(arg1.DataType.BaseType == arg2.DataType.BaseType); return(arg1.IsLess(arg2)); }
public BoolValue Gt(IOrderedValue arg1, IOrderedValue arg2) { return(BoolValue.Create(!CheckedLess(arg1, arg2) && !arg1.Equals(arg2))); }
public BoolValue Le(IOrderedValue arg1, IOrderedValue arg2) { return(BoolValue.Create(CheckedLess(arg1, arg2) || arg1.Equals(arg2))); }
// Min/max public IOrderedValue Max(IOrderedValue arg1, IOrderedValue arg2) { return(CheckedLess(arg1, arg2) ? arg2 : arg1); }
public IOrderedValue Min(IOrderedValue arg1, IOrderedValue arg2) { return(CheckedLess(arg1, arg2) ? arg1 : arg2); }
// Less function common code static int compare(IOrderedValue arg1, IOrderedValue arg2) { Logger.Assert(arg1 != null && arg2 != null); return(arg1.Equals(arg2) ? 0 : arg1.IsLess(arg2) ? -1 : 1); }
public static P IsApproximately <P, V>(this IOrderedValue <P, V> par, V value) where P : SearchParam <P, V> => par.Is($"ap{par.Is(value).Value}");
public static P LessThanOrEqual <P, V>(this IOrderedValue <P, V> par, V value) where P : SearchParam <P, V> => par.Is($"le{par.Is(value).Value}");
public static P GreaterThan <P, V>(this IOrderedValue <P, V> par, V value) where P : SearchParam <P, V> => par.Is($"gt{par.Is(value).Value}");
public static P NotEqualTo <P, V>(this IOrderedValue <P, V> par, V value) where P : SearchParam <P, V> => par.Is($"ne{par.Is(value).Value}");