X-Git-Url: http://gitweb.michael.orlitzky.com/?p=spline3.git;a=blobdiff_plain;f=src%2FMisc.hs;h=09773bf56655b13453ed7dff6e49b160bf70eb11;hp=d0eb7286559ecd0b5098fd67afd38bcbb0179e1c;hb=0d037f5f0829d9ee7fcccc58570305623665f52e;hpb=63b121a0397d4d2d8898a2a9f266859b047ba491 diff --git a/src/Misc.hs b/src/Misc.hs index d0eb728..09773bf 100644 --- a/src/Misc.hs +++ b/src/Misc.hs @@ -1,15 +1,24 @@ {-# LANGUAGE BangPatterns #-} + -- | The Misc module contains helper functions that seem out of place -- anywhere else. -module Misc +-- +module Misc ( + all_equal, + disjoint, + factorial, + flatten, + misc_properties, + misc_tests, + transpose_xz ) where -import qualified Data.Vector as V (Vector, elem, empty, filter) -import Test.Framework (Test, testGroup) -import Test.Framework.Providers.HUnit (testCase) -import Test.Framework.Providers.QuickCheck2 (testProperty) -import Test.HUnit (Assertion, assertEqual) -import Test.QuickCheck +import qualified Data.Vector as V ( Vector, elem, empty, filter ) +import Test.Framework ( Test, testGroup ) +import Test.Framework.Providers.HUnit ( testCase ) +import Test.Framework.Providers.QuickCheck2 ( testProperty ) +import Test.HUnit ( Assertion, assertEqual ) +import Test.QuickCheck ( Property, (==>) ) -- | The standard factorial function. See @@ -64,11 +73,9 @@ transpose_xz m = -- Only used in tests. -- all_equal :: (Eq a) => [a] -> Bool -all_equal xs = - all (== first_element) other_elements - where - first_element = head xs - other_elements = tail xs +all_equal [] = True -- Vacuously +all_equal (x:xs) = all (== x) xs + -- | Returns 'True' if the vectors xs and ys are disjoint, 'False'