Конвертировать из UArray в StorableArray - PullRequest
1 голос
/ 06 февраля 2012

Я использую JuicyPixels для загрузки PNG-файлов с диска, и мне нужен указатель на необработанные данные пикселей.Он хранится в виде UArray в JuicyPixels.Как мне получить указатель?Это так же просто, как «приведение» к StorableArray?Если да, то как?

1 Ответ

4 голосов
/ 06 февраля 2012

Вы можете использовать thaw в IO:

do storableArray <- thaw uArray
   ...

Копирует весь массив, но, вероятно, более эффективно, чем рукописный код, делает то же самое. Если вы знаете, что не собираетесь снова обращаться к UArray, тогда вы можете использовать unsafeThaw, но в текущих реализациях библиотеки это все равно может привести к полной копии. (Типы массивов с реализацией без копирования unsafeThaw перечислены в его документации.)

Возможно, существует непереносимый способ получить необработанный указатель, лежащий за UArray, но я не смог найти его в GHC.Exts.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...