Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Translation of hip to use massiv #30

Open
lehins opened this issue Oct 1, 2018 · 1 comment
Open

Translation of hip to use massiv #30

lehins opened this issue Oct 1, 2018 · 1 comment
Assignees

Comments

@lehins
Copy link
Owner

lehins commented Oct 1, 2018

Earlier this year I released an array processing library massiv that is much more superior that Repa in terms of performance and usability. The whole reason why that library came into existence was, so I can use it for hip. It's about time I do a major rewrite of the library with a lot of API breaking changes. I already started work on it in massiv branch
There won't be too many new features at first, just an attempt to translate current code into using the new backend, while dropping Repa dependency completely.

This ticket will organize things that still need to be done so I don't accidentally forget something.

@lehins lehins self-assigned this Oct 1, 2018
@lehins
Copy link
Owner Author

lehins commented Oct 1, 2018

Current inventory

Major change is the type Image arr cs e -> Image cs e. All of images will be backed underneath by Storable arrays:

data Image cs e = Image !(Array S Ix2 (Pixel cs e))

Graphics.Image

Creation

  • - Image: no longer a type family but instead a data type wrapper around a 2D Array.
  • - makeImageR: This is no longer relevant, since Image will have a single representation
  • - makeImage:
  • - fromListsR: Also, no longer relevant
  • - fromLists:
  • - (new) fromList :: ix -> [Pixel cs e] -> Image cs e.
  • - toLists:
  • - (new) toList :: Image cs e -> [Pixel cs e]
  • - (new) toArray :: Image cs e -> Array Ix2 (Pixel cs e)
  • - (new) fromArray :: Array Ix2 (Pixel cs e) -> Image cs e

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant