Esempio n. 1
0
        public void TestEnumerator3()
        {
            Entity expr    = "2 + 3 + x";
            var    pattern = Powf.PHang(Patterns.any1, Patterns.any2);

            var matches = new Set();

            foreach (var match in TreeAnalyzer.GetPatternEnumerator(expr, pattern))
            {
                matches.Add(match);
            }
            Assert.IsTrue(matches.Count == 0, "match is NOT empty, but should");
        }
Esempio n. 2
0
        public void TestEnumerator2()
        {
            Entity expr    = "a^x + ((b^y + c^z)^2)^x";
            var    pattern = Powf.PHang(Patterns.any1, Patterns.any2);

            var matches = new Set();

            foreach (var match in TreeAnalyzer.GetPatternEnumerator(expr, pattern))
            {
                matches.Add(match);
            }
            Assert.IsTrue(matches.Count == 5, "not all matched were found");
            foreach (var match in matches.FiniteSet())
            {
                Assert.IsNotNull(expr.FindSubtree(match), "match is not in expression");
            }
        }
 Minusf(Powf(Cosf(var any1), Integer(2)), Powf(Sinf(var any1a), Integer(2))) when any1 == any1a =>
 Sumf(Powf(Cosf(var any1), Integer(2)),
 // sin(:)^2 + cos(:)^2 = 1
 Sumf(Powf(Sinf(var any1), Integer(2)),
Esempio n. 6
0
 Phif(Powf(Integer prime, var variable)) when prime.IsPrime => new Powf(prime, variable - 1) * (prime - 1),