On 08/04/16 10:42, Martin Liška wrote:
I decided to use a new enum, hope it's better?
that's fine. But you know, if you set the enum values appropriately you could
use the | trick rather than the compare you've done (c++ enum type safety would
require an overloaded | operator though). I don't mind either way,
+get_cycles_count (line_t &linfo, bool handle_negative_cycles = true)
...
+ for (block_t *block = linfo.u.blocks; block; block = block->chain)
+ {
+ arc_vector_t path;
+ block_vector_t blocked;
+ vector<block_vector_t > block_lists;
+ result = circuit (block, path, block, blocked, block_lists, linfo,
count);
+ }
+
+ /* If we have a negative cycle, repeat the find_cycles routine. */
+ if (result == NEGATIVE_LOOP && handle_negative_cycles)
+ count += get_cycles_count (linfo, false);
The retry will depend on the result of the final call of circuit. Before it
happened if any loop was negated. Is this change intentional?
nathan