diff options
author | akashlal <unknown> | 2012-05-30 10:53:52 +0530 |
---|---|---|
committer | akashlal <unknown> | 2012-05-30 10:53:52 +0530 |
commit | 333fb97a740a68bf67d312764323541ae3046a42 (patch) | |
tree | 9d54ecbbf598f4071676968e9d61503acbd9387d /Source/VCGeneration | |
parent | da6ed3ad64c45ac4e1e7b8feafdc6d1aada79a7f (diff) |
extra recursion bound
Diffstat (limited to 'Source/VCGeneration')
-rw-r--r-- | Source/VCGeneration/StratifiedVC.cs | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/Source/VCGeneration/StratifiedVC.cs b/Source/VCGeneration/StratifiedVC.cs index 098d069c..fbb8f878 100644 --- a/Source/VCGeneration/StratifiedVC.cs +++ b/Source/VCGeneration/StratifiedVC.cs @@ -1873,9 +1873,21 @@ namespace VC { if (getProc(id) == str && !forcedCandidates.Contains(id)) ret++;
}
- if (extraRecursion.ContainsKey(str)) ret -= extraRecursion[str];
+ // Usual
+ if (!extraRecursion.ContainsKey(str))
+ return ret;
- return ret;
+ // Usual
+ if (ret <= CommandLineOptions.Clo.RecursionBound - 1)
+ return ret;
+
+ // Special
+ if (ret >= CommandLineOptions.Clo.RecursionBound &&
+ ret <= CommandLineOptions.Clo.RecursionBound + extraRecursion[str] - 1)
+ return CommandLineOptions.Clo.RecursionBound - 1;
+
+ // Special
+ return ret - extraRecursion[str];
}
// Set user-define increment/decrement to recursionBound
|