⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 std.h

📁 The line echo canceller (LEC) is designed to provide the maximum attainable transparent voice qualit
💻 H
字号:
/*
 *  Copyright 2000 by Texas Instruments Incorporated.
 *  All rights reserved. Property of Texas Instruments Incorporated.
 *  Restricted rights to use, duplicate or disclose this code are
 *  granted through contract.
 *  U.S. Patent Nos. 5,283,900  5,392,448
 */
/* "@(#) DSP/BIOS 4.00 03-17-00 (barracuda-e07)" */
/*
 *  ======== std.h ========
 *
 */

#ifndef STD_
#define STD_

#ifdef _TMS320C2XX
#define _29_ 1
#endif
#ifdef _TMS320C30
#define _30_ 1
#endif
#ifdef _TMS320C40
#define _40_ 1
#endif
#ifdef _TMS320C50
#define _50_ 1
#endif
#ifdef _TMS320C5XX
#define _54_ 1
#endif
#ifdef _TMS320C55x
#define _55_ 1
#endif
#ifdef _TMS320C6200
#define _62_ 1
#endif
#ifdef _TMS320C6700
#define _67_ 1
#define _7d_ 1	    /* alias for C6700 */
#endif
#ifdef M_I86
#define _86_ 1	    /* Intel x86 */
#endif
#ifdef _MVP_MP
#define _80_ 1	    /* TMS320C80 */
#endif
#ifdef _MVP_PP
#define _80_ 1	    /* TMS320C80 PP */
#endif
#ifdef _WIN32
#define _W32_ 1	    /* Windows WIN32 */
#endif

/*
 *  ======== _TI_ ========
 *  _TI_ is defined for all TI targets
 */
#if defined(_29_) || defined(_30_) || defined(_40_) || defined(_50_) || defined(_54_) || defined(_55_) || defined (_62_) || defined(_67_) || defined(_80_) 
#define _TI_	1
#endif

/*
 *  ======== _FLOAT_ ========
 *  _FLOAT_ is defined for all targets that natively support floating point
 */
#if defined(_SUN_) || defined(_30_) || defined(_40_) || defined(_67_) || defined(_80_)
#define _FLOAT_	1
#endif /* _SUN_ || _30_ || _40_ || _67_ || _80_ */

/*
 *  ======== _FIXED_ ========
 *  _FIXED_ is defined for all fixed point target architectures
 */
#if defined(_29_) || defined(_50_) || defined(_54_) || defined(_55_) || defined (_62_) 
#define _FIXED_	1
#endif /* _29_ || _50_ || _54_ || _55_ || _62_ */

/*
 *  ======== _TARGET_ ========
 *  _TARGET_ is defined for all target architectures (as opposed to
 *  host-side software)
 */
#if defined(_FIXED_) || defined(_FLOAT_)
#define _TARGET_ 1
#endif /* _FIXED_ || _FLOAT_ */

/*
 *  8, 16, 32-bit type definitions
 *
 *  Sm*	- 8-bit type
 *  Md* - 16-bit type
 *  Lg* - 32-bit type
 *
 *  *Int - signed type
 *  *Uns - unsigned type
 *  *Bits - unsigned type (bit-maps)
 */
typedef char SmInt;		/* SMSIZE-bit signed integer */
typedef short MdInt;		/* MDSIZE-bit signed integer */
#if defined(_62_) || defined(_67_)
typedef int LgInt;		/* LGSIZE-bit signed integer */
#else
typedef long LgInt;		/* LGSIZE-bit signed integer */
#endif

typedef unsigned char SmUns;	/* SMSIZE-bit unsigned integer */
typedef unsigned short MdUns;	/* MDSIZE-bit unsigned integer */
#if defined(_62_) || defined(_67_)
typedef unsigned LgUns;		/* LGSIZE-bit unsigned integer */
#else
typedef unsigned long LgUns;	/* LGSIZE-bit unsigned integer */
#endif

typedef unsigned char SmBits;	/* SMSIZE-bit bit string */
typedef unsigned short MdBits;	/* MDSIZE-bit bit string */
#if defined(_62_) || defined(_67_)
typedef unsigned LgBits;	/* LGSIZE-bit bit string */
#else
typedef unsigned long LgBits;	/* LGSIZE-bit bit string */
#endif

/*
 *  Aliases for standard C types
 */
typedef short Int;		/* for those rare occasions */
typedef long int Long;
typedef short int Short;
typedef char Char;
#define Void void

typedef char * String;		/* pointer to null-terminated character
				 * sequence
				 */

#if defined(_29_) || defined(_50_) || defined(_54_) || defined(_55_) || defined(_62_) || defined(_67_)
typedef unsigned Uns;
#else
typedef unsigned long Uns;       
#endif

#if defined(_80_)
typedef int Bool;		/* boolean */
#elif defined(_W32_)
typedef long Bool;		/* boolean to match Windows boolean def */
#else
typedef MdUns Bool;		/* boolean */
#endif

typedef SmBits Byte;		/* smallest unit of addressable store */
typedef void *Ptr;		/* pointer to arbitrary type */

/* Arg should be size of Ptr */
#if defined(M_I86SM) || defined(_29_) || defined(_50_) || defined(_54_) || defined(_55_) || defined(_62_) || defined(_67_)
typedef Int Arg;
#else
typedef LgInt Arg;		/* uninterpreted LGSIZE-bit word */
#endif

typedef Int (*Fxn)();		/* generic function type */

#if defined(_80_) || defined(_SUN_) || defined(_67_)
typedef float Float;
#else
typedef double Float;
#endif /* _80_ || _SUN_ || _67_ */

#ifndef NULL
#define NULL 0
#endif

#ifndef TRUE
#define FALSE ((Bool)0)
#define TRUE  ((Bool)1)
#endif

/*
 *  ======== __inline ========
 *  The following definitions define the macro __inline for those
 *  C compilers that do not use __inline to indicate inline
 *  expansion of functions.
 *
 *  The TI C compilers support the "inline" keyword (ala C++).  Both 
 *  Microsoft and GNU C compilers support the "__inline" keyword.  The
 *  native SUN OS 4.x C compiler doesn't understand either.
 */
#ifdef _TI_
#ifdef _LINT_
#define __inline
#else
#define __inline inline
#endif
#endif

#ifdef _SUN4_
#define __inline
#endif

/*
 *  ======== inline ========
 *  Define "inline" so that all C code can optionally use the "inline"
 *  keyword.
 */
#if !defined(inline) && !defined(__cplusplus) && !defined(_TI_)
#define inline	__inline
#endif

#endif /* STD_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -