[Internal] actually initialize the array to n, not to 0.

This commit is contained in:
Vincent Hanquez 2015-04-10 09:26:17 +01:00
parent f470196f41
commit 0c3a57f573

View File

@ -47,7 +47,7 @@ array32 (I# n) l = unsafeDoIO $ IO $ \s ->
where
loop _ st mb [] = freezeArray mb st
loop i st mb ((W32# x):xs)
| booleanPrim (i ==# 0#) = freezeArray mb st
| booleanPrim (i ==# n) = freezeArray mb st
| otherwise =
let st' = writeWord32Array# mb i x st
in loop (i +# 1#) st' mb xs
@ -63,7 +63,7 @@ array64 (I# n) l = unsafeDoIO $ IO $ \s ->
where
loop _ st mb [] = freezeArray mb st
loop i st mb ((W64# x):xs)
| booleanPrim (i ==# 0#) = freezeArray mb st
| booleanPrim (i ==# n) = freezeArray mb st
| otherwise =
let st' = writeWord64Array# mb i x st
in loop (i +# 1#) st' mb xs