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

📄 basictyp.h

📁 使用欧洲航空航天局推荐的算法估计电波在大气对流层中的传播延迟
💻 H
字号:
/**
@file	basictyp.h
@brief	基本的数据类型定义
@depend	无
@author	钟勇
@changelog
	20090317:1.新建文件。
	20081010:1.修正掩码宏__maskbits的错误,该错误是因为未将条件判断和掩码生成部分
			用括号括在一起,造成在某些情况下编译异常。
 */
#ifndef	__INC_BASICTYP_H__
#define __INC_BASICTYP_H__

//自定义基本数据类型
#ifndef	__SHORT_TYPE_DEFINED__
#define __SHORT_TYPE_DEFINED__

#ifdef DSP_VC33

typedef double F4;
typedef long double F8;

#else

typedef float F4;
typedef double F8;

#endif

#include <stdint.h>

typedef uint8_t		U1;
typedef uint16_t	U2;
typedef uint32_t	U4;
typedef uint64_t	U8;
typedef int8_t		I1;
typedef int16_t		I2;
typedef int32_t		I4;
typedef int64_t		I8;

#define U1_C(x)	((U1)(x))
#define U2_C(x)	((U2)(x))
#define U4_C(x)	((U4)(x))
#define U8_C(x)	((U8)(x))
#define	I1_C(x)	((I1)(x))
#define	I2_C(x)	((I2)(x))
#define	I4_C(x)	((I4)(x))
#define	I8_C(x)	((I8)(x))

#endif//__SHORT_TYPE_DEFINED__

//自定义bool类型
#ifndef __BOOLEAN_TYPE_DEFINED__
#define __BOOLEAN_TYPE_DEFINED__

typedef enum _bool_val{false = 0,true = 1} bool;

#endif /* __BOOLEAN_TYPE_DEFINED__ */

#ifndef	NULL
#define NULL	0
#endif

// 掩码宏
#define __maskbits(cntLSB)	((cntLSB == 32) ? (U4_C(-1)):(~(U4_C(-1)<<(cntLSB))))

#ifdef __cplusplus
extern "C" {
#endif

#if	defined(_TMS320C6400)||defined(_TMS320C6400_PLUS)||defined(_TMS320C6700)

void _strasgi(
	register void *dst,
	register const void *src,
	register unsigned cnt
);

#if defined(_TMS320C6400_PLUS)

void _strasgi_64plus(
	register void *dst,
	register const void *src,
	register unsigned cnt
);

#else

#define _strasgi_64plus(dst,src,cnt)	_strasgi(dst,src,cnt)

#endif	//defined(_TMS320C6400_PLUS)
#else

inline void _strasgi(
	register void *dst,
	register const void *src,
	register unsigned cnt
)
{
    register int i;
	register int *ldst = (int*)dst;
	register const int *lsrc = (const int*)src;
    cnt /= 4;
    _nassert(cnt >= 7);

    i = 0; do {	*ldst++ = *lsrc++; } while(++i < cnt);
}

#define _strasgi_64plus(dst,src,cnt)	_strasgi(dst,src,cnt)

#endif

#ifdef __cplusplus
}
#endif

#endif//__INC_BASICTYP_H__

⌨️ 快捷键说明

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