-
Notifications
You must be signed in to change notification settings - Fork 129
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
Populate "high level" stl like algorithm #107
Comments
Hi, thanks for interest. It would be great to have this functionality in libsimdpp.
I think it doesn't matter as it's not hard to move code and libsimdpp currently does not expose the location of individual headers. At the beginning we could put generic algorithms to simdpp/algirothm folder and see later if there's better place. @xugng FYI. Do you already work on something like this by chance? |
@xugng: Ping :-) |
@p12tic, @ThomasRetornaz : No, I not working on this. Feel free to hack. |
HI i will make a pull request on std like transform algorithm but i have a few concern
#if SIMDPP_USE_NULL /// TypeTraits int8_t Regards |
I disabled public access to it due to hacking concerns. Could you email me at [email protected] and I'll send you instructions to access it and credentials needed for that.
The ideal alignment should differ per type - e.g. on AVX integer types only need to be 128-bit aligned whereas float types need to be 256-bit aligned. The alignment could be specified directly in the TypeTraits specializations, e.g. Also a couple of naming nitpicks: TypeTraits => type_traits, SIMDPP_FAST_SIZE => fast_size. Does that make sense to you? Thanks! |
Thanks i will send an email
Ok i miss this. I'm new on avx/avx2 instructions sets sorry ... |
Hi i converge to this `
It seems to do the job
If you have a time i will check my documentation and make a pull request for std like transform and reduce By the way do you think over stl like algorithm could be usefull for the library? If i have time i will work on it |
Follow review * fix indent * add "fuzzing" tests for all algorithm * add TEST_EQUAL_COLLECTIONS * add nrt helpers for generating data (to be moved elsewhere ?)
* Try to fix visual 2013/2015 compilation issues * enforce const/inline and noexcept for predicate
Hi
I currently migrate from boost:simd to libsimdpp
I heavily use transform and reduce algorithm from plain pointers and simd aware operators
I will try to implement such algorithm using libsimdpp
Are you interested if i providing such "high level" algorithm to the main library?
Possible signature for transform could be
template<typename T, typename U, typename UnOp> U* transform(T const* first, T const* last, U* out, UnOp f) { ..... }
where UnOp should be designed by users to handle both litterals and "simd vectors"
Transform functions must handle
I will add
Do you have any concern where i should put those different functions
I will make a pull request if you are interested
The text was updated successfully, but these errors were encountered: