tree f8b32b6cdbe4f6e214e0cc8ce563d19c16c101fd
parent be4c48b35777c1e5c2266a03fb980e5734731ef6
author Arun Lakshman R <2631737+arunlakshman@users.noreply.github.com> 1547444101 +0530
committer Won Wook SONG <wonook@apache.org> 1547444101 +0900

[NEMO-11] Generalize Equality of Int Predicates for Loops (#103)

JIRA: [NEMO-11: Generalize Equality of Int Predicates for Loops](https://issues.apache.org/jira/projects/NEMO/issues/NEMO-11)

**Major changes:**
- None

**Minor changes to note:**
- `LoopFusionPass.checkEqualityOfIntPredicates` the recursive logic has been changed to iterative logic

**Tests for the changes:**
- Test cases have been added to the file `Util` class

**Other comments:**
- As this seems to be a utility method, this has been moved to a util class in the same module
- The access modifier of the method has been changed from `private` to `public` for testing


Closes #103 