Ejemplo n.º 1
0
        public void BottomUpRewriter_Simple6()
        {
            var burs = GetNumOptimizer();

            var num = new BinaryNumTree(NumKind.Add, new BinaryNumTree(NumKind.Add, new UnaryNumTree(NumKind.Negate, ConstNumTree.Zero), new ConstNumTree(19)), new BinaryNumTree(NumKind.Multiply, new ConstNumTree(23), ConstNumTree.One));
            var res = burs.Rewrite(num);

            Assert.AreEqual(42, res.Eval());
        }
Ejemplo n.º 2
0
        public void BottomUpRewriter_Simple5()
        {
            var burs = GetNumOptimizer();

            var num = new BinaryNumTree(NumKind.Add, new ConstNumTree(19), new ConstNumTree(23));
            var res = burs.Rewrite(num);

            Assert.AreEqual(num.Eval(), res.Eval());
        }
Ejemplo n.º 3
0
        public void BottomUpOptimizer_Simple6()
        {
            var burs = GetNumOptimizer();

            var t = new BinaryNumTree(NumKind.Add, new UnaryNumTree(NumKind.Negate, ConstNumTree.Zero), new ConstNumTree(42));
            var r = burs.Optimize(t);

            Assert.AreEqual(t.Eval(), r.Eval());
            Assert.AreEqual("Const(42)", r.ToString());
        }
Ejemplo n.º 4
0
        public void BottomUpOptimizer_Simple4()
        {
            var burs = GetNumOptimizer();

            var t = new BinaryNumTree(NumKind.Multiply, new ConstNumTree(42), ConstNumTree.One);
            var r = burs.Optimize(t);

            Assert.AreEqual(t.Eval(), r.Eval());
            Assert.AreEqual("Const(42)", r.ToString());
        }