Commit Graph

33 Commits

Author SHA1 Message Date
Neil Brown
a0203ff971 Corrected a haddock comment 2007-12-16 13:38:23 +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
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
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
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
c7fe0f1515 Added equation pruning and tested most of it using QuickCheck 2007-12-14 00:02:15 +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
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
Neil Brown
ed43b750c1 Added an initial messy implementation of the equality part of the Omega test 2007-12-11 16:54:36 +00:00