From faada59567f8cb252f4a909116595ce309ff5828 Mon Sep 17 00:00:00 2001 From: "N.N." Date: Fri, 23 May 2003 12:29:55 +0000 Subject: This commit was generated by cvs2svn to compensate for changes in r647, which included commits to RCS files with non-trunk default branches. svn path=/trunk/externals/miXed/; revision=648 --- shared/shared.h | 166 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 166 insertions(+) create mode 100644 shared/shared.h (limited to 'shared/shared.h') diff --git a/shared/shared.h b/shared/shared.h new file mode 100644 index 0000000..a0bd0e6 --- /dev/null +++ b/shared/shared.h @@ -0,0 +1,166 @@ +/* Copyright (c) 2003 krzYszcz and others. + * For information on usage and redistribution, and for a DISCLAIMER OF ALL + * WARRANTIES, see the file, "LICENSE.txt," in this distribution. */ + +#ifndef __SHARED_H__ +#define __SHARED_H__ + +/* LATER find a proper place for #include */ +#ifdef INT_MAX +#define SHARED_INT_MAX INT_MAX +#else +#define SHARED_INT_MAX 0x7FFFFFFF +#endif +#ifdef INT_MIN +#define SHARED_INT_MIN INT_MIN +#else +#define SHARED_INT_MIN ((int)0x80000000) +#endif +/* LATER find a proper place for #include */ +#ifdef FLT_MAX +#define SHARED_FLT_MAX FLT_MAX +#else +#define SHARED_FLT_MAX 1E+36 +#endif + +typedef unsigned long shared_t_bitmask; + +#ifdef __linux__ +#include +#ifndef int32 +typedef int32_t int32; +#endif +#ifndef uint32 +typedef u_int32_t uint32; +#endif +#ifndef int16 +typedef int16_t int16; +#endif +#ifndef uint16 +typedef u_int16_t uint16; +#endif +#ifndef uchar +typedef u_int8_t uchar; +#endif +#include +#if !defined(__BYTE_ORDER) || !defined(__LITTLE_ENDIAN) +#error No byte order defined +#endif +#if __BYTE_ORDER == __LITTLE_ENDIAN +#define SHARED_HIOFFSET 1 +#define SHARED_LOWOFFSET 0 +#else +#define SHARED_HIOFFSET 0 +#define SHARED_LOWOFFSET 1 +#endif +#endif + +#ifdef NT +#ifndef int32 +typedef long int32; +#endif +#ifndef uint32 +typedef unsigned long uint32; +#endif +#ifndef int16 +typedef short int16; +#endif +#ifndef uint16 +typedef unsigned short uint16; +#endif +#ifndef uchar +typedef unsigned char uchar; +#endif +#define SHARED_HIOFFSET 1 +#define SHARED_LOWOFFSET 0 +#endif + +#ifdef MACOSX +#ifndef int32 +typedef int int32; +#endif +#ifndef uint32 +typedef unsigned int uint32; +#endif +#ifndef int16 +typedef short int16; +#endif +#ifndef uint16 +typedef unsigned short uint16; +#endif +#ifndef uchar +typedef unsigned char uchar; +#endif +#define SHARED_HIOFFSET 0 +#define SHARED_LOWOFFSET 1 +#endif + +#ifdef IRIX +#ifndef int32 +typedef long int32; +#endif +#ifndef uint32 +typedef unsigned long uint32; +#endif +#ifndef int16 +typedef short int16; +#endif +#ifndef uint16 +typedef unsigned short uint16; +#endif +#ifndef uchar +typedef unsigned char uchar; +#endif +#define SHARED_HIOFFSET 0 +#define SHARED_LOWOFFSET 1 +#endif + +#ifdef __FreeBSD__ +#include +#ifndef int32 +typedef int32_t int32; +#endif +#ifndef uint32 +typedef u_int32_t uint32; +#endif +#ifndef int16 +typedef int16_t int16; +#endif +#ifndef uint16 +typedef u_int16_t uint16; +#endif +#ifndef uchar +typedef u_int8_t uchar; +#endif +#include +#if BYTE_ORDER == LITTLE_ENDIAN +#define SHARED_HIOFFSET 1 +#define SHARED_LOWOFFSET 0 +#else +#define SHARED_HIOFFSET 0 +#define SHARED_LOWOFFSET 1 +#endif +#endif + +#define SHARED_UNITBIT32 1572864. /* 3*(2^19) gives 32 fractional bits */ +#define SHARED_UNITBIT0 6755399441055744. /* 3*(2^51), no fractional bits */ +#define SHARED_UNITBIT0_HIPART 0x43380000 + +typedef union _shared_wrappy +{ + double w_d; + int32 w_i[2]; +} t_shared_wrappy; + +typedef union _shared_floatint +{ + t_float fi_f; + int32 fi_i; +} t_shared_floatint; + +#define SHARED_TRUEBITS 0x3f800000 /* t_float f = 1; *(int32 *)&f */ + +#define SHARED_PI 3.14159265359 +#define SHARED_2PI 6.28318530718 + +#endif -- cgit v1.2.1