Closed Anonymous-Stranger closed 3 years ago
This pull request introduces 2 alerts when merging 8e94d9c4307653b6b6278f807bdf5c1eaa3c263f into 9e48bddc207850310c40393f891f07914eedfa84 - view on LGTM.com
new alerts:
Code is passing all tests on my WSL2 and Ubuntu 20.04 LTS systems. On the Ubuntu system, I needed to call sudo make install
to get the ExampleCMakeBuild to pass (the test was failing on the byhuang/ILAng master branch as well, until I called the install function).
After running valgrind on the tests, I don't think there are any memory leaks or use-after-free errors (I read that those can sometimes cause bus errors?).
The Ubuntu builds may be timing out on the TestApiObjects.Unrolling test, which checks that two virtually identical implementations of matrix-element vector multiplication are in fact the same. Granted, this isn't the easiest test, but it's restricted to a 4x4 matrix times a 4-element vector, and it takes milliseconds on my machine. The only reason I suspect that it's this one is that the others seem even less suspicious.
UPDATE: it's probably TestApiObjects.Unrolling -- the TravisCI build hung during that test. Will add a time-limit in order to check everything else.
Ready for review.
Also included is an alpha of some transformation functions for partitioning, zipping/unzipping, projecting, and joining certain kinds of objects. The code is correct, but I didn't include these functions in the facade because I wasn't sure about the return type of partitioning.
Also something to think about: should I go through and rename vector to array everywhere? As I've started working with CHCs, it seems to me like the model may eventually need vectors where the capacity is an SMT variable, and that may be more deserving of the name "vector". Dunno if it's worth the effort to do all that renaming on a hunch.
Third thing: the tests I added seem to add several (2-5) seconds of runtime to the total. Is that something to reduce?