14#if defined (__cplusplus)
33# define MEM_STATIC static __inline __attribute__((unused))
34#elif defined (__cplusplus) || (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) )
35# define MEM_STATIC static inline
36#elif defined(_MSC_VER)
37# define MEM_STATIC static __inline
39# define MEM_STATIC static
43# define __has_builtin(x) 0
47#define MEM_STATIC_ASSERT(c) { enum { MEM_static_assert = 1/(int)(!!(c)) }; }
51#if defined (__has_feature)
52# if __has_feature(memory_sanitizer)
53# define MEMORY_SANITIZER 1
57#if defined (MEMORY_SANITIZER)
65void __msan_unpoison(
const volatile void *
a,
size_t size);
70void __msan_poison(
const volatile void *
a,
size_t size);
74intptr_t __msan_test_shadow(
const volatile void *
x,
size_t size);
78#if defined (__has_feature)
79# if __has_feature(address_sanitizer)
80# define ADDRESS_SANITIZER 1
82#elif defined(__SANITIZE_ADDRESS__)
83# define ADDRESS_SANITIZER 1
86#if defined (ADDRESS_SANITIZER)
105void __asan_poison_memory_region(
void const volatile *
addr,
size_t size);
120void __asan_unpoison_memory_region(
void const volatile *
addr,
size_t size);
127#if !defined (__VMS) && (defined (__cplusplus) || (defined (__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) ) )
139# error "this implementation requires char to be exactly 8-bit type"
142#if USHRT_MAX != 65535
143# error "this implementation requires short to be exactly 16-bit type"
145 typedef unsigned short U16;
147#if UINT_MAX != 4294967295
148# error "this implementation requires int to be exactly 32-bit type"
154 typedef unsigned long long U64;
155 typedef signed long long S64;
175#ifndef MEM_FORCE_MEMORY_ACCESS
176# if defined(__GNUC__) && ( defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_6T2__) )
177# define MEM_FORCE_MEMORY_ACCESS 2
178# elif defined(__INTEL_COMPILER) || defined(__GNUC__) || defined(__ICCARM__)
179# define MEM_FORCE_MEMORY_ACCESS 1
192#if defined(MEM_FORCE_MEMORY_ACCESS) && (MEM_FORCE_MEMORY_ACCESS==2)
205#elif defined(MEM_FORCE_MEMORY_ACCESS) && (MEM_FORCE_MEMORY_ACCESS==1)
209#if defined(_MSC_VER) || (defined(__INTEL_COMPILER) && defined(WIN32))
212 typedef struct {
U32 v; } unalign32;
213 typedef struct {
U64 v; } unalign64;
214 typedef struct {
size_t v; } unalignArch;
276#if (defined (__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 403)) \
277 || (defined(__clang__) && __has_builtin(__builtin_bswap32))
278 return __builtin_bswap32(
in);
280 return ((
in << 24) & 0xff000000 ) |
281 ((
in << 8) & 0x00ff0000 ) |
282 ((
in >> 8) & 0x0000ff00 ) |
283 ((
in >> 24) & 0x000000ff );
289#if (defined (__GNUC__) && (__GNUC__ * 100 + __GNUC_MINOR__ >= 403)) \
290 || (defined(__clang__) && __has_builtin(__builtin_bswap64))
291 return __builtin_bswap64(
in);
293 return ((
in << 56) & 0xff00000000000000ULL) |
294 ((
in << 40) & 0x00ff000000000000ULL) |
295 ((
in << 24) & 0x0000ff0000000000ULL) |
296 ((
in << 8) & 0x000000ff00000000ULL) |
297 ((
in >> 8) & 0x00000000ff000000ULL) |
298 ((
in >> 24) & 0x0000000000ff0000ULL) |
299 ((
in >> 40) & 0x000000000000ff00ULL) |
300 ((
in >> 56) & 0x00000000000000ffULL);
320 return (
U16)(
p[0] + (
p[1]<<8));
445#if defined (__cplusplus)
unsigned short int uint16_t
MEM_STATIC U32 MEM_readLE24(const void *memPtr)
MEM_STATIC void MEM_write64(void *memPtr, U64 value)
MEM_STATIC unsigned MEM_32bits(void)
#define MEM_STATIC_ASSERT(c)
MEM_STATIC U64 MEM_swap64(U64 in)
MEM_STATIC U64 MEM_readBE64(const void *memPtr)
MEM_STATIC U32 MEM_read32(const void *memPtr)
MEM_STATIC U32 MEM_swap32(U32 in)
MEM_STATIC U16 MEM_read16(const void *memPtr)
MEM_STATIC void MEM_writeBE32(void *memPtr, U32 val32)
MEM_STATIC size_t MEM_readLEST(const void *memPtr)
MEM_STATIC size_t MEM_readST(const void *memPtr)
MEM_STATIC size_t MEM_readBEST(const void *memPtr)
MEM_STATIC U32 MEM_readBE32(const void *memPtr)
MEM_STATIC void MEM_writeLE16(void *memPtr, U16 val)
MEM_STATIC void MEM_writeBEST(void *memPtr, size_t val)
MEM_STATIC size_t MEM_swapST(size_t in)
MEM_STATIC unsigned MEM_isLittleEndian(void)
MEM_STATIC void MEM_writeLE32(void *memPtr, U32 val32)
MEM_STATIC U16 MEM_readLE16(const void *memPtr)
MEM_STATIC void MEM_check(void)
MEM_STATIC unsigned MEM_64bits(void)
MEM_STATIC void MEM_write32(void *memPtr, U32 value)
MEM_STATIC U64 MEM_readLE64(const void *memPtr)
MEM_STATIC void MEM_writeLEST(void *memPtr, size_t val)
MEM_STATIC void MEM_write16(void *memPtr, U16 value)
MEM_STATIC void MEM_writeLE64(void *memPtr, U64 val64)
MEM_STATIC void MEM_writeLE24(void *memPtr, U32 val)
MEM_STATIC U32 MEM_readLE32(const void *memPtr)
MEM_STATIC U64 MEM_read64(const void *memPtr)
MEM_STATIC void MEM_writeBE64(void *memPtr, U64 val64)
GLint GLint GLint GLint GLint x
GLenum const GLvoid * addr
GLboolean GLboolean GLboolean GLboolean a
GLuint GLenum GLsizei GLsizei GLint GLint GLboolean packed
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
#define memcpy(s1, s2, n)
static calc_node_t * pop(void)
static void push(calc_node_t *op)