18#ifndef __SPECKLEY_SYSTEM_DEP_H__
19#define __SPECKLEY_SYSTEM_DEP_H__
21#include <escript/DataTypes.h>
23#define Speckley_DLL_API
26# ifndef Speckley_STATIC_LIB
27# undef Speckley_DLL_API
28# ifdef Speckley_EXPORTS
29# define Speckley_DLL_API __declspec(dllexport)
31# define Speckley_DLL_API __declspec(dllimport)
39#if defined(ESYS_DEPRECATED_BOOST_ENDIAN)
40#include <boost/predef/other/endian.h>
41#elif defined(ESYS_MOVED_BOOST_ENDIAN)
42#include <boost/endian.h>
44#include <boost/detail/endian.hpp>
49#ifndef ESYS_DEPRECATED_BOOST_ENDIAN
51#elif defined(ESYS_DEPRECATED_BOOST_ENDIAN) && defined(BOOST_ENDIAN_BIG_BYTE)
53#elif defined(ESYS_DEPRECATED_BOOST_ENDIAN) && defined(BOOST_ENDIAN_LITTLE_BYTE)
55#elif defined(ESYS_DEPRECATED_BOOST_ENDIAN) && defined(BOOST_ENDIAN_LITTLE_WORD)
75 unsigned long* v =
reinterpret_cast<unsigned long*
>(val);
76 *v = _byteswap_ulong(*v);
81 unsigned __int64* v =
reinterpret_cast<unsigned __int64*
>(val);
82 *v = _byteswap_uint64(*v);
93#elif HAVE_SYS_ENDIAN_H
94# include <sys/endian.h>
96# define bswap_32(D) bswap32((D))
99# define bswap_64(D) bswap64((D))
101#elif HAVE_OSBYTEORDER_H
102# include <libkern/OSByteOrder.h>
103# define bswap_32 OSSwapInt32
104# define bswap_64 OSSwapInt64
106# define bswap_32(D) (D)
107# define bswap_64(D) (D)
113 unsigned int* v =
reinterpret_cast<unsigned int*
>(val);
120 uint64_t* v =
reinterpret_cast<uint64_t*
>(val);
Definition: AbstractAssembler.cpp:19
@ DATATYPE_FLOAT32
Definition: speckley/src/system_dep.h:64
@ DATATYPE_INT32
Definition: speckley/src/system_dep.h:63
@ DATATYPE_FLOAT64
Definition: speckley/src/system_dep.h:65
@ BYTEORDER_BIG_ENDIAN
Definition: speckley/src/system_dep.h:59
@ BYTEORDER_NATIVE
Definition: speckley/src/system_dep.h:50
@ BYTEORDER_LITTLE_ENDIAN
Definition: speckley/src/system_dep.h:58
char * byte_swap64(char *val)
Definition: speckley/src/system_dep.h:118
char * byte_swap32(char *val)
Definition: speckley/src/system_dep.h:111
#define bswap_32(D)
Definition: speckley/src/system_dep.h:106
#define bswap_64(D)
Definition: speckley/src/system_dep.h:107