X-Git-Url: https://mattmccutchen.net/match/match.git/blobdiff_plain/eb6c3c9f810799e3bfe8cd302dd9d00f97b4baf7..08f65a95a67fa8835b97a387d9d1e285972ca22a:/program/ArrayStuff.hs diff --git a/program/ArrayStuff.hs b/program/ArrayStuff.hs index ceb7516..df0a969 100644 --- a/program/ArrayStuff.hs +++ b/program/ArrayStuff.hs @@ -15,6 +15,9 @@ array2DtoListOfLists arr = let ((xlo, ylo), (xhi, yhi)) = bounds arr in map (\x -> map (\y -> arr ! (x, y)) $ range (ylo, yhi)) $ range (xlo, xhi) +listOfListsToArray2D ll = + listArray ((0, 0), (length ll - 1, length (head ll) - 1)) $ concat ll + -- Use instead of amap when the array implementation needs to change. -- E.g., mapping an unboxed array to an array whose elements must be boxed. amap2 f arr = funcArray (bounds arr) (\i -> f (arr ! i))