102 lines
2.4 KiB
C
102 lines
2.4 KiB
C
/***************************************************************************\
|
|
*
|
|
* (C) copyright Fraunhofer - IIS (1998)
|
|
* All Rights Reserved
|
|
*
|
|
* $Header: /cvs/root/winamp/aacdec/incs/mp4dec_helpers/machine.h,v 1.3 2012/05/08 20:16:50 audiodsp Exp $
|
|
* project : MPEG-4 Audio Decoder
|
|
* contents/description: machine dependent type definitions
|
|
*
|
|
* This software and/or program is protected by copyright law and
|
|
* international treaties. Any reproduction or distribution of this
|
|
* software and/or program, or any portion of it, may result in severe
|
|
* civil and criminal penalties, and will be prosecuted to the maximum
|
|
* extent possible under law.
|
|
*
|
|
\***************************************************************************/
|
|
|
|
#ifndef __MACHINE_H
|
|
#define __MACHINE_H
|
|
|
|
#define inline __inline
|
|
|
|
#include <math.h>
|
|
|
|
#ifdef _MSC_VER
|
|
#include <basetsd.h>
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef signed char INT8;
|
|
typedef signed short INT16;
|
|
typedef signed int INT32;
|
|
typedef signed int INT;
|
|
typedef float FLOAT;
|
|
typedef double DOUBLE;
|
|
|
|
/* typedef long LONG; */
|
|
/* typedef unsigned long ULONG; */
|
|
/* typedef unsigned int UINT; */
|
|
/* typedef signed int INT; */
|
|
typedef unsigned char UINT8;
|
|
typedef unsigned short UINT16;
|
|
typedef unsigned int UINT32;
|
|
|
|
#if defined _MSC_VER
|
|
#define ALIGN16 __declspec(align(16))
|
|
#elif defined __GNUC__ && !defined __sparc__ && !defined __sparc_v9__
|
|
#define ALIGN16 __attribute__((aligned(16)))
|
|
#else
|
|
#define ALIGN16
|
|
#endif
|
|
|
|
#ifndef INT64
|
|
#if !(defined(WIN32) || defined(WIN64))
|
|
#define INT64 long long
|
|
#else
|
|
#define INT64 __int64
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
static inline double FhgSqrt(DOUBLE a){
|
|
return(sqrt(a));
|
|
}
|
|
static inline double FhgExp(DOUBLE a){
|
|
return(exp((double) a));
|
|
}
|
|
static inline double FhgPow(DOUBLE a, DOUBLE b){
|
|
return(pow((double) a, (double) b));
|
|
}
|
|
static inline double FhgSin(DOUBLE a){
|
|
return(sin((double) a));
|
|
}
|
|
static inline double FhgFloor(DOUBLE a){
|
|
return(floor((double) a));
|
|
}
|
|
static inline double FhgCos(DOUBLE a){
|
|
return(cos((double) a));
|
|
}
|
|
static inline double FhgFabs(DOUBLE a){
|
|
return(fabs((double) a));
|
|
}
|
|
static inline double FhgTan(DOUBLE a){
|
|
return(tan((double) a));
|
|
}
|
|
static inline double FhgCeil(DOUBLE a){
|
|
return(ceil((double) a));
|
|
}
|
|
static inline double FhgLog(DOUBLE a){
|
|
return(log((double) a));
|
|
}
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* #define __MACHINE_H */
|