X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FMisc.hs;h=d0eb7286559ecd0b5098fd67afd38bcbb0179e1c;hb=b494ff845304fe1f255130539e271e6bfc2a5d3e;hp=4b285e4cc3b0cff1f8344aa09c905ed6b0c3fe99;hpb=40a354da29b99d773fc18c4c4ad0d136a93d7264;p=spline3.git diff --git a/src/Misc.hs b/src/Misc.hs index 4b285e4..d0eb728 100644 --- a/src/Misc.hs +++ b/src/Misc.hs @@ -25,12 +25,12 @@ import Test.QuickCheck -- 24 -- factorial :: Int -> Int -factorial !n - | n > 20 = error "integer overflow in factorial function" - | otherwise = go 1 n - where go !acc !i - | i <= 1 = acc - | otherwise = go (acc * i) (i - 1) +factorial !n = + go 1 n + where + go !acc !i + | i <= 1 = acc + | otherwise = go (acc * i) (i - 1) -- | Takes a three-dimensional list, and flattens it into a -- one-dimensional one. @@ -60,6 +60,9 @@ transpose_xz m = -- | Takes a list, and returns True if its elements are pairwise -- equal. Returns False otherwise. +-- +-- Only used in tests. +-- all_equal :: (Eq a) => [a] -> Bool all_equal xs = all (== first_element) other_elements @@ -82,6 +85,8 @@ all_equal xs = -- >>> disjoint xs ys -- False -- +-- Only used in tests. +-- disjoint :: (Eq a) => V.Vector a -> V.Vector a -> Bool disjoint xs ys = intersect xs ys == V.empty