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
|
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
|
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
|
cbeb3ecd95
|
Added a QuickCheck test for the equality-solving part of the Omega test
|
2007-12-13 15:33:14 +00:00 |
|
Neil Brown
|
b1a8f1d30d
|
Made the arrayise function act on one list at a time, and made it visible for other functions
|
2007-12-13 15:32:46 +00:00 |
|
Neil Brown
|
e56d02b727
|
Made the mygcd function visible so that I can use it in building tests
|
2007-12-13 15:32:04 +00:00 |
|
Neil Brown
|
9082e5c887
|
Added lots of comments to the solveConstraints function and made a few trivial tweaks
|
2007-12-12 18:04:46 +00:00 |
|
Neil Brown
|
8d2751439b
|
Added another call to normaliseEq inside solveNext
|
2007-12-12 18:03:18 +00:00 |
|
Neil Brown
|
4e58d48d1c
|
Renamed normalise to normaliseEq and stopped it being applied to inequalities (as it will fail needlessly on those!)
|
2007-12-12 18:02:19 +00:00 |
|
Neil Brown
|
4eae0ede18
|
Removed the changeAllButOneDifferent function and replaced it with simpler code
|
2007-12-12 17:48:30 +00:00 |
|
Neil Brown
|
88f7d1ec92
|
Refactored the equation normalisation and added a custom GCD function
|
2007-12-12 17:40:37 +00:00 |
|
Neil Brown
|
94dca6fc10
|
Fixed a bug in the solveUnits function where everything was always being negated, when it should be dependent on whether the unit coefficient was 1 or -1
|
2007-12-12 17:24:50 +00:00 |
|
Neil Brown
|
76dc1c3b53
|
Added another test for the Omega Test
|
2007-12-12 17:21:25 +00:00 |
|
Neil Brown
|
bea8606bdc
|
Added more tests for the Omega Test equality solver, including one that highlights a current bug
|
2007-12-12 15:07:39 +00:00 |
|
Neil Brown
|
a5e277505f
|
Rewrote the substIn function in solveConstraints to be clearer and simpler
|
2007-12-12 15:07:01 +00:00 |
|
Neil Brown
|
1aa914e077
|
Tidied up the checkForUnit function in solveConstraints
|
2007-12-12 14:25:24 +00:00 |
|
Neil Brown
|
52054dff9f
|
Simplified the type of solve in solveConstraints (it doesn't actually need to return a value) and added a comment
|
2007-12-12 14:20:17 +00:00 |
|
Neil Brown
|
cba5ff45f1
|
Fixed a small bug in the equation normalisation
|
2007-12-12 14:16:29 +00:00 |
|
Neil Brown
|
2354c6a933
|
Simplified some monadic code in solveConstraints
|
2007-12-12 14:08:09 +00:00 |
|
Neil Brown
|
83ee41c75c
|
Transformed uses of the StIneq type into their long version so that I can remove StIneq (was only used in a few places anyway)
|
2007-12-12 14:03:07 +00:00 |
|
Neil Brown
|
961e1837de
|
Removed a couple of unused lines from the Omega Test
|
2007-12-12 13:58:52 +00:00 |
|
Neil Brown
|
c46580fbda
|
Changed the monad in the Omega Test equality stuff to StateT Maybe rather than State, and fixed some bugs in the Omega Test
|
2007-12-12 13:57:44 +00:00 |
|
Neil Brown
|
e34ebc67ea
|
Fixed a warning about the type of 0.5 defaulting to Double
|
2007-12-12 13:56:33 +00:00 |
|