public static bool IsNegativeInfinity <Variable, Expression>(this IExpressionDecoder <Variable, Expression> decoder, Expression exp) { Contract.Requires(decoder != null); Contract.Requires(exp != null); if (decoder.IsConstant(exp)) { var value = decoder.Constant(exp); if (value is Double) { return(Double.IsNegativeInfinity((Double)value)); } if (value is Single) { return(Single.IsNegativeInfinity((Single)value)); } } return(false); }