source: thirdparty/blosc/shuffle.h @ 981e22c

Revision 981e22c, 2.4 KB checked in by Hal Finkel <hfinkel@…>, 8 years ago (diff)

Upgrade to latest blosc library

blosc git: e394f327ccc78319d90a06af0b88bce07034b8dd

  • Property mode set to 100644
Line 
1/*********************************************************************
2  Blosc - Blocked Shuffling and Compression Library
3
4  Author: Francesc Alted <[email protected]>
5
6  See LICENSES/BLOSC.txt for details about copyright and rights to use.
7**********************************************************************/
8
9/*  Shuffle/unshuffle routines which dynamically dispatch to hardware-
10    accelerated routines based on the processor's architecture.
11    Consumers should almost always prefer to call these routines instead
12    of directly calling one of the hardware-accelerated routines, since
13    these are cross-platform and future-proof. */
14
15#ifndef SHUFFLE_H
16#define SHUFFLE_H
17
18#include "shuffle-common.h"
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
24/**
25  Primary shuffle and bitshuffle routines.
26  This function dynamically dispatches to the appropriate hardware-accelerated
27  routine based on the host processor's architecture. If the host processor is
28  not supported by any of the hardware-accelerated routines, the generic
29  (non-accelerated) implementation is used instead.
30  Consumers should almost always prefer to call this routine instead of directly
31  calling the hardware-accelerated routines because this method is both cross-
32  platform and future-proof.
33*/
34BLOSC_NO_EXPORT void
35shuffle(const size_t bytesoftype, const size_t blocksize,
36        const uint8_t* _src, const uint8_t* _dest);
37
38BLOSC_NO_EXPORT int
39bitshuffle(const size_t bytesoftype, const size_t blocksize,
40           const uint8_t* const _src, const uint8_t* _dest,
41           const uint8_t* _tmp);
42
43/**
44  Primary unshuffle and bitunshuffle routine.
45  This function dynamically dispatches to the appropriate hardware-accelerated
46  routine based on the host processor's architecture. If the host processor is
47  not supported by any of the hardware-accelerated routines, the generic
48  (non-accelerated) implementation is used instead.
49  Consumers should almost always prefer to call this routine instead of directly
50  calling the hardware-accelerated routines because this method is both cross-
51  platform and future-proof.
52*/
53BLOSC_NO_EXPORT void
54unshuffle(const size_t bytesoftype, const size_t blocksize,
55          const uint8_t* _src, const uint8_t* _dest);
56
57
58BLOSC_NO_EXPORT int
59bitunshuffle(const size_t bytesoftype, const size_t blocksize,
60             const uint8_t* const _src, const uint8_t* _dest,
61             const uint8_t* _tmp);
62
63#ifdef __cplusplus
64}
65#endif
66
67#endif /* SHUFFLE_H */
Note: See TracBrowser for help on using the repository browser.