/// <summary> /// Compare /// </summary> /// <param name="il"></param> /// <param name="pred"></param> /// <returns></returns> public static ILGenerator Cmp(this ILGenerator il, PredicateType pred) { switch (pred) { case PredicateType.Equal: return il.Ceq(); case PredicateType.GreaterThan: return il.Cgt(); case PredicateType.GreaterThanOrEqual: return il.Cge(); case PredicateType.LessThan: return il.Clt(); case PredicateType.LessThanOrEqual: return il.Cle(); case PredicateType.NotEqual: return il.Cne(); case PredicateType.IsFalse: return il.Cfalse(); case PredicateType.IsTrue: return il.Ctrue(); default: throw new ArgumentException(@"Invalid Predicate Type", "pred"); } }
/// <summary> /// Greater or equals /// </summary> /// <param name="il"></param> /// <returns></returns> public static ILGenerator Cge(this ILGenerator il) { return il.Clt().Cfalse(); }