Ich habe eine ByteString
, die die Darstellung von Float
s enthält. Jeder Float
wird durch 3 Bytes in ByteString
dargestellt.ByteString zu Vector Konvertierung
Ich brauche etwas Verarbeitung auf die Float
Werte, so würde ich gerne diese Verarbeitung auf einem Vector
von Float
Werte durchführen. Was wäre der beste Weg, dies zu tun?
Ich habe eine Funktion toFloat :: [Word8] -> Float
, die 3 Bytes des ByteString
in einen Float konvertiert. Also überlegte ich, über die ByteString
in Schritten von 3 Bytes zu iterieren und jeden Schritt in eine Float
für eine vector
zu konvertieren.
Ich habe die Bibliothek Funktionen für Vector
angeschaut, aber ich kann nichts finden, das diesem Zweck entspricht. Data.Vector.Storable.ByteString.byteStringToVector
sah vielversprechend aus, aber es konvertiert jedes Byte (statt alle 3 Bytes) und gibt mir keine Kontrolle darüber, wie die Konvertierung von ByteString
zu Float
passieren sollte.
das ist fast doppelt so schnell wie die "entfalteten" Versionen, die ich ausprobiert habe. http://sprung.us/cjfe – Michael