v2.0.0
Loading...
Searching...
No Matches
fiff_byte_swap.h
Go to the documentation of this file.
1//=============================================================================================================
34
35#ifndef FIFF_BYTE_SWAP_H
36#define FIFF_BYTE_SWAP_H
37
38//=============================================================================================================
39// INCLUDES
40//=============================================================================================================
41
42#include <QtGlobal>
43
44//=============================================================================================================
45// DEFINE NAMESPACE FIFFLIB
46//=============================================================================================================
47
48namespace FIFFLIB
49{
50
51//=============================================================================================================
55inline qint16 swap_short(qint16 source)
56{
57 unsigned char *csource = (unsigned char *)(&source);
58 qint16 result;
59 unsigned char *cresult = (unsigned char *)(&result);
60 cresult[0] = csource[1];
61 cresult[1] = csource[0];
62 return result;
63}
64
65//=============================================================================================================
69inline qint32 swap_int(qint32 source)
70{
71 unsigned char *csource = (unsigned char *)(&source);
72 qint32 result;
73 unsigned char *cresult = (unsigned char *)(&result);
74 cresult[0] = csource[3];
75 cresult[1] = csource[2];
76 cresult[2] = csource[1];
77 cresult[3] = csource[0];
78 return result;
79}
80
81//=============================================================================================================
85inline void swap_intp(qint32 *source)
86{
87 unsigned char *csource = (unsigned char *)(source);
88 unsigned char c;
89 c = csource[3]; csource[3] = csource[0]; csource[0] = c;
90 c = csource[2]; csource[2] = csource[1]; csource[1] = c;
91}
92
93//=============================================================================================================
97inline qint64 swap_long(qint64 source)
98{
99 unsigned char *csource = (unsigned char *)(&source);
100 qint64 result;
101 unsigned char *cresult = (unsigned char *)(&result);
102 cresult[0] = csource[7];
103 cresult[1] = csource[6];
104 cresult[2] = csource[5];
105 cresult[3] = csource[4];
106 cresult[4] = csource[3];
107 cresult[5] = csource[2];
108 cresult[6] = csource[1];
109 cresult[7] = csource[0];
110 return result;
111}
112
113//=============================================================================================================
117inline void swap_longp(qint64 *source)
118{
119 unsigned char *csource = (unsigned char *)(source);
120 unsigned char c;
121 c = csource[0]; csource[0] = csource[7]; csource[7] = c;
122 c = csource[1]; csource[1] = csource[6]; csource[6] = c;
123 c = csource[2]; csource[2] = csource[5]; csource[5] = c;
124 c = csource[3]; csource[3] = csource[4]; csource[4] = c;
125}
126
127//=============================================================================================================
131inline float swap_float(float source)
132{
133 unsigned char *csource = (unsigned char *)(&source);
134 float result;
135 unsigned char *cresult = (unsigned char *)(&result);
136 cresult[0] = csource[3];
137 cresult[1] = csource[2];
138 cresult[2] = csource[1];
139 cresult[3] = csource[0];
140 return result;
141}
142
143//=============================================================================================================
147inline void swap_floatp(float *source)
148{
149 unsigned char *csource = (unsigned char *)(source);
150 unsigned char c;
151 c = csource[3]; csource[3] = csource[0]; csource[0] = c;
152 c = csource[2]; csource[2] = csource[1]; csource[1] = c;
153}
154
155//=============================================================================================================
159inline void swap_doublep(double *source)
160{
161 unsigned char *csource = (unsigned char *)(source);
162 unsigned char c;
163 c = csource[7]; csource[7] = csource[0]; csource[0] = c;
164 c = csource[6]; csource[6] = csource[1]; csource[1] = c;
165 c = csource[5]; csource[5] = csource[2]; csource[2] = c;
166 c = csource[4]; csource[4] = csource[3]; csource[3] = c;
167}
168
169} // NAMESPACE FIFFLIB
170
171#endif // FIFF_BYTE_SWAP_H
FIFF file I/O and data structures (raw, epochs, evoked, covariance, forward).
void swap_doublep(double *source)
float swap_float(float source)
qint32 swap_int(qint32 source)
void swap_longp(qint64 *source)
qint64 swap_long(qint64 source)
void swap_floatp(float *source)
void swap_intp(qint32 *source)
qint16 swap_short(qint16 source)