add a byteArrayConvert which copy and returns potentially a different output type

This commit is contained in:
Vincent Hanquez 2015-04-22 06:25:33 +01:00
parent 26006dfe25
commit c06edc9591

View File

@ -23,6 +23,7 @@ module Crypto.Internal.ByteArray
, empty , empty
, byteArrayZero , byteArrayZero
, byteArrayCopy , byteArrayCopy
, byteArrayConvert
, byteArrayCopyRet , byteArrayCopyRet
, byteArrayCopyAndFreeze , byteArrayCopyAndFreeze
, byteArraySplit , byteArraySplit
@ -243,3 +244,6 @@ byteArrayMapAsWord64 f bs =
let r = f (fromBE64 w) let r = f (fromBE64 w)
poke d (toBE64 r) poke d (toBE64 r)
loop (i-1) (d `plusPtr` 8) (s `plusPtr` 8) loop (i-1) (d `plusPtr` 8) (s `plusPtr` 8)
byteArrayConvert :: (ByteArrayAccess bin, ByteArray bout) => bin -> bout
byteArrayConvert = flip byteArrayCopyAndFreeze (\_ -> return ())