Пример #1
0
        private void VerifyPartialResult(MpirRandom rnd, RationalExpression expr, long expected)
        {
            rnd.Seed(123);

            using (var r = new HugeRational())
            {
                r.Value = expr;
                Assert.AreEqual(expected.ToString() + "/1", r.ToString());
            }
        }
Пример #2
0
        private void MarkExpressionsUsed(List <Type> allExpressions, RationalExpression expr)
        {
            var type = expr.GetType();

            allExpressions.Remove(type);

            var children = type.GetFields(BindingFlags.NonPublic | BindingFlags.Instance)
                           .Where(x => typeof(RationalExpression).IsAssignableFrom(x.FieldType))
                           .Select(x => (RationalExpression)x.GetValue(expr))
                           .Where(x => x != null)
                           .ToList();

            foreach (var childExpr in children)
            {
                MarkExpressionsUsed(allExpressions, childExpr);
            }
        }