bitshuffle-avx2.h 920 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. /*********************************************************************
  2. Blosc - Blocked Shuffling and Compression Library
  3. Author: Francesc Alted <francesc@blosc.org>
  4. See LICENSES/BLOSC.txt for details about copyright and rights to use.
  5. **********************************************************************/
  6. /* AVX2-accelerated shuffle/unshuffle routines. */
  7. #ifndef BITSHUFFLE_AVX2_H
  8. #define BITSHUFFLE_AVX2_H
  9. #include "shuffle-common.h"
  10. #ifdef __cplusplus
  11. extern "C" {
  12. #endif
  13. /**
  14. AVX2-accelerated bitshuffle routine.
  15. */
  16. BLOSC_NO_EXPORT int64_t
  17. bshuf_trans_bit_elem_avx2(void* in, void* out, const size_t size,
  18. const size_t elem_size, void* tmp_buf);
  19. /**
  20. AVX2-accelerated bitunshuffle routine.
  21. */
  22. BLOSC_NO_EXPORT int64_t
  23. bshuf_untrans_bit_elem_avx2(void* in, void* out, const size_t size,
  24. const size_t elem_size, void* tmp_buf);
  25. #ifdef __cplusplus
  26. }
  27. #endif
  28. #endif /* BITSHUFFLE_AVX2_H */