24 #ifndef _QORE_BITOPTS_H
26 #define _QORE_BITOPTS_H
30 static inline int64 i8LSB(int64 i);
31 static inline int i4LSB(
int i);
32 static inline short i2LSB(
short i);
34 static inline int64 LSBi8(int64 i);
35 static inline int LSBi4(
int i);
36 static inline short LSBi2(
short i);
38 static inline int64 i8MSB(int64 i);
39 static inline int64 MSBi8(int64 i);
47 DLLLOCAL
void swap(
char *ibuf) {
60 static inline int64 swapi8(int64 i) {
61 char *ibuf = (
char *)&i;
68 static inline double swapf8(
double f) {
69 char *ibuf = (
char *)&f;
81 DLLLOCAL
void swap(
char *ibuf) {
90 static inline int swapi4(
int i) {
91 char *ibuf = (
char *)&i;
98 static inline float swapf4(
float f) {
99 char *ibuf = (
char *)&f;
110 DLLLOCAL
void swap(
char *ibuf) {
117 static inline short swapi2(
short i) {
118 char *ibuf = (
char *)&i;
124 #ifdef WORDS_BIGENDIAN
125 static inline int64 i8LSB(int64 i) {
129 static inline int i4LSB(
int i) {
133 static inline short i2LSB(
short i) {
137 static inline int64 LSBi8(int64 i) {
141 static inline int LSBi4(
int i) {
145 static inline short LSBi2(
short i) {
149 static inline int64 i8MSB(int64 i) {
return i; }
150 static inline int64 MSBi8(int64 i) {
return i; }
152 static inline double f8LSB(
double f) {
156 static inline float f4LSB(
float f) {
160 static inline double LSBf8(
double f) {
164 static inline float LSBf4(
float f) {
168 static inline double f8MSB(
double f) {
return f; }
169 static inline double MSBf8(
double f) {
return f; }
170 static inline float f4MSB(
float f) {
return f; }
171 static inline float MSBf4(
float f) {
return f; }
173 #else // definitions for little endian machines below
175 static inline int64 i8LSB(int64 i) {
return i; }
176 static inline int i4LSB(
int i) {
return i; }
177 static inline short i2LSB(
short i) {
return i; }
179 static inline int64 LSBi8(int64 i) {
return i; }
180 static inline int LSBi4(
int i) {
return i; }
181 static inline short LSBi2(
short i) {
return i; }
183 static inline int64 i8MSB(int64 i) {
187 static inline int64 MSBi8(int64 i) {
191 static inline double f8LSB(
double f) {
return f; }
192 static inline float f4LSB(
float f) {
return f; }
194 static inline double LSBf8(
double f) {
return f; }
195 static inline float LSBf4(
float f) {
return f; }
197 static inline double f8MSB(
double f) {
201 static inline double MSBf8(
double f) {
205 static inline float f4MSB(
float f) {
209 static inline float MSBf4(
float f) {
used to swap byte order of 8-byte values
Definition: qore_bitopts.h:42
used to swap 2-byte integers
Definition: qore_bitopts.h:106
used to swap byte order of 4-byte values
Definition: qore_bitopts.h:76