ZHCUCO7B December 2024 – November 2025 F29H850TU , F29H859TU-Q1
当使用 -ffast-math 编译器选项时,C29 包含的指令支持高效实现许多标准 RTS 函数。编译器还支持与这些指令相对应的内置函数或内联函数。这F29-SDK 在 examples/rtlibs/fastmath/tmu 中提供了示例,说明如何使用这些内联函数。支持的示例包括 asinf()、acosf()、atan2f()、ceilf()、cosf()、divf()、expf()、floorf()、fmodf()、roundf()、sinf()、truncf()。
float __builtin_c29_i32_isqrtf32_m(float x);float __builtin_c29_i32_iexp2f32_m(float f0);float __builtin_c29_i32_log2f32_m(float f0);Example:
// x is per-unit in [-1,1]
// y is per-unit in [-0.125, 0.125] i.e. [-pi/4, pi/4] radians
y = __builtin_c29_i32_puatanf32_m(x);Example:
test_output =puatan2f32(y_input,x_input);
static inline float32_t puatan2f32(float32_t y, float32_t x)
{
uint32_t flags;
return __builtin_c29_quadf32(&flags, &y, &x) + __builtin_c29_i32_puatanf32_m(y / x);
}