bitshuffle-sse2.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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. /* SSE2-accelerated shuffle/unshuffle routines. */
  7. #ifndef BITSHUFFLE_SSE2_H
  8. #define BITSHUFFLE_SSE2_H
  9. #include "shuffle-common.h"
  10. #ifdef __cplusplus
  11. extern "C" {
  12. #endif
  13. BLOSC_NO_EXPORT int64_t
  14. bshuf_trans_byte_elem_sse2(void* in, void* out, const size_t size,
  15. const size_t elem_size, void* tmp_buf);
  16. BLOSC_NO_EXPORT int64_t
  17. bshuf_trans_byte_bitrow_sse2(void* in, void* out, const size_t size,
  18. const size_t elem_size);
  19. BLOSC_NO_EXPORT int64_t
  20. bshuf_shuffle_bit_eightelem_sse2(void* in, void* out, const size_t size,
  21. const size_t elem_size);
  22. /**
  23. SSE2-accelerated bitshuffle routine.
  24. */
  25. BLOSC_NO_EXPORT int64_t
  26. bshuf_trans_bit_elem_sse2(void* in, void* out, const size_t size,
  27. const size_t elem_size, void* tmp_buf);
  28. /**
  29. SSE2-accelerated bitunshuffle routine.
  30. */
  31. BLOSC_NO_EXPORT int64_t
  32. bshuf_untrans_bit_elem_sse2(void* in, void* out, const size_t size,
  33. const size_t elem_size, void* tmp_buf);
  34. #ifdef __cplusplus
  35. }
  36. #endif
  37. #endif /* BITSHUFFLE_SSE2_H */