Skip to main content
欢迎来到PAWPAW技术文档网站了解更多信息

XMath Util Functions and Macros

MAX(A,B)

取参数AB中较大的值,如果相等则优先选择A

注意: 这个函数在参数多次计算时不安全。

参数:

  • A – [in] 第一个输入
  • B – [in] 第二个输入

返回值: 输入值中的最大值。

MIN(A,B)

取参数AB中较小的值,如果相等则优先选择A

注意: 这个函数在参数多次计算时不安全。

参数:

  • A – [in] 第一个输入
  • B – [in] 第二个输入

返回值: 输入值中的最小值。

CLS_S8(X)

计算int8_t类型变量X的前导符号位数。

参数:

  • X – [in] 输入值

返回值: X的前导符号位数。

CLS_S16(X)

计算int16_t类型变量X的前导符号位数。

参数:

  • X – [in] 输入值

返回值: X的前导符号位数。

CLS_S32(X)

计算int32_t类型变量X的前导符号位数。

参数:

  • X – [in] 输入值

返回值: X的前导符号位数。

CLS_S64(X)

计算int64_t类型变量X的前导符号位数。

参数:

  • X – [in] 输入值

返回值: X的前导符号位数。

CLS_C16(X)

计算complex_s16_t类型变量X的前导符号位数。

复数整数的前导符号位数定义为其实部和虚部前导符号位数的较小值。

参数:

  • X – [in] 输入值

返回值: X的前导符号位数。

CLS_C32(X)

计算complex_s32_t类型变量X的前导符号位数。

复数整数的前导符号位数定义为其实部和虚部前导符号位数的较小值。

参数:

  • X – [in] 输入值

返回值: X的前导符号位数。

HR_S64(X)

获取int64_t类型变量X的头空间。

参数:

  • X – [in] 输入值

返回值: X的头空间。

HR_S32()

获取int32_t类型的头空间。

参数:

  • int32_t X – [in] 输入值

返回值:

  • X的头空间

HR_S16()

获取int16_t类型的头空间。

参数:

  • int16_t X – [in] 输入值

返回值:

  • X的头空间

HR_S8()

获取int8_t类型的头空间。

参数:

  • int8_t X – [in] 输入值

返回值:

  • X的头空间

HR_C32()

获取complex_s32_t类型的头空间。

复数N位整数的头空间是其N位实部和虚部的头空间的最小值。

参数:

  • complex_s32_t X – [in] 输入值

返回值:

  • X的头空间

HR_C16()

获取complex_s16_t类型的头空间。

复数N位整数的头空间是其N位实部和虚部的头空间的最小值。

参数:

  • complex_s16_t X – [in] 输入值

返回值:

  • X的头空间

void xs3_memcpy()

基于VPU的memcpy()实现。

与标准的memcpy()相同,只是额外增加了一个约束条件,即dstsrc必须是字对齐的地址。

参数:

  • void* dst – [out] 目标地址

  • const void* src – [in] 源地址

  • unsigned bytes – [in] 要复制的字节数

unsigned cls()

计算int32_t类型变量的前导符号位数。

该函数返回a的最高有效位中与其符号位相等的位数。

注意: 这是前导符号位的总数,而不是“多余”的前导符号位。

参数:

  • const int32_t a – [in] 输入值

返回值:

  • a的前导符号位数

分组:

  • util_macros

unsigned n_bitrev()

反转一个整数的位。

该函数接受一个整数index,并将bits个最低有效位反转,形成一个新的整数并返回。所有更高位的位将被忽略。

这对于需要通过反转索引的位来重新排序元素的算法(例如FFT算法)非常有用。

参数:

  • const unsigned index – [in] 输入值

  • const unsigned bits – [in] 需要反转的最低有效位数。

返回值:

反转后的indexbits个最低有效位。

示例:

unsigned result = n_bitrev(10, 4);
// result = 5

参见: