public virtual TOut Visit(TExpression e, TIn input) { switch (Decoder.TypeOf(e)) { case ExpressionType.Unknown: return(Default(e, input)); case ExpressionType.Int32: return(VisitInt32(e, input)); case ExpressionType.Bool: return(VisitBool(e, input)); default: throw new AbstractInterpretationException("Unknown type for expressions " + Decoder.TypeOf(e)); } }
private static bool IsFloat <Variable, Expression>(Expression exp, IExpressionDecoder <Variable, Expression> decoder) { if (decoder == null) { return(false); } var type = decoder.TypeOf(exp); return(type == ExpressionType.Float32 || type == ExpressionType.Float64); }
static bool IsFloat <TVar, TExpr> (TExpr expr, IExpressionDecoder <TVar, TExpr> decoder) { if (decoder == null) { return(false); } var type = decoder.TypeOf(expr); return(type == ExpressionType.Float32 || type == ExpressionType.Float64); }