+% -----------------------------------------------------------------------------
+% $Id: PrelArrExtra.lhs,v 1.12 2000/12/12 12:19:58 simonmar Exp $
%
-% (c) The AQUA Project, Glasgow University, 1994-1996
+% (c) The University of Glasgow, 1994-2000
%
+
\section[PrelArrExtra]{Module @PrelArrExtra@}
The following functions should be in PrelArr, but need -monly-2-regs
module PrelArrExtra where
-import Ix
import PrelArr
import PrelByteArr
import PrelST
import PrelIOBase
import PrelBase
-import PrelGHC
\end{code}
%*********************************************************
-- only modifies its destination operand, which is already MutableByteArray.
freezeByteArray (MutableByteArray l u arr) = ST $ \ s ->
let n = sizeofMutableByteArray# arr in
- case (newCharArray# n s) of { (# s, newarr #) ->
+ case (newByteArray# n s) of { (# s, newarr #) ->
case ((unsafeCoerce# memcpy) newarr arr n s) of { (# s, () #) ->
case unsafeFreezeByteArray# newarr s of { (# s, frozen #) ->
(# s, ByteArray l u frozen #) }}}