鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

自定义数据类型和范围

复数类型

HMPP的复数类型由两个基本数据类型的成员组成的结构体来描述,分别表示复数的实部和虚部。

定义格式如下:
typedef struct {
    <数据类型>  re;
    <数据类型>  im;
} Hmpp<类型>c;

格式中的<类型><数据类型>的对应请参见标准库数据类型和范围

HMPP中使用的复数类型定义在hmpp_typebase.h中,包括:Hmpp16sc、Hmpp16uc、Hmpp32sc、Hmpp32fc、Hmpp64sc、Hmpp64fc、Hmpp8sc。

Bool类型

以枚举形式定义(定义在hmpp_typebase.h中),如下:

typedef enum {
    HMPP_FALSE = 0,
    HMPP_TRUE = 1
} HmppBool;

特殊数据类型

部分数据类型(如24s)不被HMPP库支持,可以通过HMPP中Convert函数转换成HMPP库支持的数据类型,以便后续处理。

对于24位有符号数据,每个向量元素由三个连续的8位无符号字符型(uint8_t)字节组成,以小端字节序的形式存储(向量元素的低8位存储在低地址中),并用高8位的第一位作为符号位。这些数据通过HMPP中Convert函数可以转换为32位有符号整型(32s)或32位浮点型(32f)。

表1为HMPP自定义数据范围。

表1 HMPP自定义数据范围

宏定义

最大值

说明

UINT24_MAX

16777215

未定义对应的数据类型,存储在uint32_t类型变量中。

INT24_MAX

8388607

未定义对应的数据类型,存储在int32_t类型变量中。

INT24_MIN

-8388608

未定义对应的数据类型,存储在int32_t类型变量中。