コード例 #1
0
            static void LessThanRefinement <TEnv, TVar, TExpr, TInterval>
                (Rational successor, TEnv env,
                TInterval leftIntv, TInterval rightIntv,
                TVar leftVar, TVar rightVar,
                ref InferenceResult <TVar, TInterval> result)
                where TEnv : IIntervalEnvironment <TVar, TExpr, TInterval, Rational>
                where TInterval : IntervalBase <TInterval, Rational>
                where TVar : IEquatable <TVar>
            {
                TInterval refined;

                if (TryRefineKLessThanRight <TEnv, TVar, TExpr, TInterval> (leftIntv, rightVar, successor, env, out refined))
                {
                    result = result.AddConstraintFor(rightVar, refined);
                }
                if (TryRefineLessThan <TEnv, TVar, TExpr, TInterval> (leftVar, rightIntv, env, out refined))
                {
                    result = result.AddConstraintFor(leftVar, refined);
                }
            }