// There is no default constructor, because these parameters are needed for most subclasses public DoomDetectionStrategy(Implementation imp, Block unifiedexit, List <Block> unreach) { m_BlockH = new BlockHierachy(imp, unifiedexit); __DEBUG_EQCLeaf = m_BlockH.Leaves.Count; //foreach (BlockHierachyNode bhn in m_BlockH.Leaves) //{ // if (bhn.Content.Count > 0) __DEBUG_minelements.Add(bhn.Content[0]); //} //if (imp.Blocks.Count>0) m_GatherInfo(imp.Blocks[0], 0, 0,0); if (__DEBUGOUT) { Console.WriteLine("MaBranchingDepth {0} MaxMinPP {1} ", m_MaxBranchingDepth, m_MaxK); Console.WriteLine("AvgLeaverPerPath {0} AvgPLen {1}", 0, 0); } MaxBlocks = imp.Blocks.Count; MinBlocks = imp.Blocks.Count; HACK_NewCheck = false; __DEBUG_BlocksTotal = imp.Blocks.Count; }
// There is no default constructor, because these parameters are needed for most subclasses public DoomDetectionStrategy(Implementation imp, Block unifiedexit, List<Block> unreach) { m_BlockH = new BlockHierachy(imp, unifiedexit); __DEBUG_EQCLeaf = m_BlockH.Leaves.Count; //foreach (BlockHierachyNode bhn in m_BlockH.Leaves) //{ // if (bhn.Content.Count > 0) __DEBUG_minelements.Add(bhn.Content[0]); //} //if (imp.Blocks.Count>0) m_GatherInfo(imp.Blocks[0], 0, 0,0); if (__DEBUGOUT) { Console.WriteLine("MaBranchingDepth {0} MaxMinPP {1} ", m_MaxBranchingDepth, m_MaxK); Console.WriteLine("AvgLeaverPerPath {0} AvgPLen {1}", 0, 0); } MaxBlocks = imp.Blocks.Count; MinBlocks = imp.Blocks.Count; HACK_NewCheck = false; __DEBUG_BlocksTotal = imp.Blocks.Count; }