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);
        }
Example #3
0
            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);
            }