Commit Graph

962 Commits

Author SHA1 Message Date
Neil Brown
26bd792e61 Fixed a bug where the non-pruned version of the inequalities were being used in fmElimination; the Omega Test now functions properly 2008-01-09 17:14:15 +00:00
Neil Brown
524275cd9f Added the ability to print out the variable mapping and inequalities in a more readable format when tests fail 2008-01-09 17:14:02 +00:00
Neil Brown
d5a9829b0f Fixed the brute-force problems function so that it properly uses all inequalities not just the left-overs 2008-01-09 14:56:26 +00:00
Neil Brown
4ef97ed8b4 Changed the solveAndPrune test function to always have a valid mapping, even if there are no equalities 2008-01-09 14:55:59 +00:00
Neil Brown
4ee25b62ca Added some more comments to the fmElimination function 2008-01-09 12:46:50 +00:00
Neil Brown
8ec4832a03 Removed the unused half of VariableMapping 2008-01-09 12:27:02 +00:00
Neil Brown
57f18e5b18 Finished implementing the Omega Test - but a few tests are failing and I cannot yet see why 2008-01-09 12:05:09 +00:00
Neil Brown
d23baf719b Added support for multiplication to the usage checking 2007-12-17 11:56:51 +00:00
Neil Brown
337d339641 Added comments to the makeEquations function 2007-12-17 11:43:18 +00:00
Neil Brown
218a1bd22c Rearranged the tests for makeEquations to use a helper function, and added a couple of cases (one of which doesn't yet pass) 2007-12-17 02:38:05 +00:00
Neil Brown
8f1d1368af Stopped makeEquations unnecessarily producing duplicate equations 2007-12-17 02:22:09 +00:00
Neil Brown
5a721fb428 Fixed the processing of expressions to equations to properly square the equations 2007-12-17 02:13:40 +00:00
Neil Brown
dc76d00085 Added better helper functions for testing the processing of expressions into equations 2007-12-17 02:13:17 +00:00
Neil Brown
91bfa4ae54 Added more helper functions to the Utils module, for dealing with arrays and maps 2007-12-17 02:08:37 +00:00
Neil Brown
1733869afd Tidied up the tests and amended SolveEq to allow you to provide the answers, which are then checked 2007-12-16 19:20:53 +00:00
Neil Brown
02aa63ffda Fixed the QuickCheck equality-equation generater so that it can no longer produce unsolveable equations 2007-12-16 19:05:32 +00:00
Neil Brown
70ce98021a Added a few more HUnit tests for the equality solver 2007-12-16 19:05:01 +00:00
Neil Brown
3965babaff Tidied up the testing framework for the HUnit Omega Test tests 2007-12-16 15:27:07 +00:00
Neil Brown
7403588aea Fixed a situation where QuickCheck could occasionally generate duplicate equalities (where one was the negation of the other) 2007-12-16 14:12:29 +00:00
Neil Brown
423d22fa13 Moved the ArrayUsageCheck tests to their own new file (ArrayUsageCheckTest) 2007-12-16 14:02:45 +00:00
Neil Brown
4f88a1e4a1 Added negative coefficients to the QuickCheck tests 2007-12-16 13:43:45 +00:00
Neil Brown
a0203ff971 Corrected a haddock comment 2007-12-16 13:38:23 +00:00
Neil Brown
6320bfdffb Tidied up some of the QuickCheck tests for the Omega Test pruning 2007-12-16 13:35:51 +00:00
Neil Brown
cc7d32ffeb Corrected a mistake in a comment 2007-12-16 12:51:41 +00:00
Neil Brown
3a65651885 Added a really hacky initial implementation of a pass that checks that parallel array usage is safe 2007-12-16 02:07:02 +00:00
Neil Brown
b4ccc9f8de Changed the representation of the exact (constant) solutions to equations to be a simple Map 2007-12-16 00:55:38 +00:00
Neil Brown
a1d3501313 Changed the QuickCheck tests to test that we can get the exact answer from a full equality set, and rather ham-fistedly fixed a bug where substitutions were being applied multiple times to the variable mapping 2007-12-16 00:33:27 +00:00
Neil Brown
d5461bb10b Moved the norm helper to be a top-level function in the tests 2007-12-15 03:19:25 +00:00
Neil Brown
3e4e5355ff Changed the VariableMapping mess into a more correct mess 2007-12-15 02:58:08 +00:00
Neil Brown
c0d06ce173 Added a first attempt at recording the variable mappings during equation manipulation, and changed all the current tests to ignore it 2007-12-15 00:34:50 +00:00
Neil Brown
2df97f813f Removed some unused old code from the ArrayUsageCheck module 2007-12-14 23:22:25 +00:00
Neil Brown
74490c005e Added some (fairly messy) code for taking a list of A.Expression and generating a list of equations 2007-12-14 23:15:39 +00:00
Neil Brown
d674a2fdd0 Added inequality elimination to the Omega Test, but need to also add the code for checking for integer solutions 2007-12-14 16:48:13 +00:00
Neil Brown
9d562c0b12 Corrected checkConstantEq to actually remove the constant equations, rather than only checking them for consistency 2007-12-14 16:45:34 +00:00
Neil Brown
d9b606143e Fixed a Haddock comment 2007-12-14 15:27:51 +00:00
Neil Brown
3814a039d5 Refactored the use of mygcd with foldl into one function 2007-12-14 15:17:19 +00:00
Neil Brown
1dabdfef9d Added some tests for the Omega Test that are not "easily" solved 2007-12-14 12:25:29 +00:00
Neil Brown
97c670b2ff Fixed and documented the checkOpposite function so that it works properly and the tests pass 2007-12-14 04:13:01 +00:00
Neil Brown
3380596ef0 Added more tests for the usage checker, and a helper function for testing parallel items 2007-12-14 04:12:29 +00:00
Neil Brown
2050124658 Added tests for solving equalities and inequalities, and an easy way of writing those tests using user-defined operators 2007-12-14 02:41:15 +00:00
Neil Brown
57311d8d1e Added consistency checking for constant-only inequalities and also added a few more useful functions 2007-12-14 01:11:29 +00:00
Neil Brown
22b09ad95c Changed the tests to also test pruning inconsistent equations 2007-12-14 00:41:06 +00:00
Neil Brown
c7fe0f1515 Added equation pruning and tested most of it using QuickCheck 2007-12-14 00:02:15 +00:00
Neil Brown
140bd94ce3 Added various (QuickCheck) Result helper functions to the TestUtils module 2007-12-13 23:51:49 +00:00
Neil Brown
8d89a88735 Added a couple more functions to the Utils module 2007-12-13 23:51:11 +00:00
Neil Brown
26dd2fa5c4 Renamed the TestUtil and TreeUtil modules to TestUtils and TreeUtils, to be consistent with the Utils module 2007-12-13 19:05:29 +00:00
Neil Brown
51d5d50d45 Added the ability to adjust the level of QuickCheck testing from the command-line 2007-12-13 18:51:25 +00:00
Neil Brown
337f189b8a Separated the QuickCheck tests from the HUnit tests and made the number of test-cases configurable for the QuickCheck tests 2007-12-13 18:21:53 +00:00
Neil Brown
54721cd19b Added some QuickCheck helper functions and types to TestUtil 2007-12-13 18:19:02 +00:00
Neil Brown
cbeb3ecd95 Added a QuickCheck test for the equality-solving part of the Omega test 2007-12-13 15:33:14 +00:00