微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 请教一个关于浮点数开方函数问题

请教一个关于浮点数开方函数问题

时间:10-02 整理:3721RD 点击:
在STM32F4带有FPU处理器,其中有一个浮点数开方函数arm_sqrt_f32(float32_t in, float32_t * pOut);该函数在arm_math.h里面.请问一下这个函数是否跟另外一个函数float sqrtf(float);只是区别在速度上?
其中arm_sqrt_f32函数内容:
static __INLINE arm_status arm_sqrt_f32(
  float32_t in,
  float32_t * pOut)
  {
    if(in > 0)
    {
//      #if __FPU_USED
#if (__FPU_USED == 1) && defined ( __CC_ARM   )
      *pOut = __sqrtf(in);
#else
      *pOut = sqrtf(in);
#endif
      return (ARM_MATH_SUCCESS);
    }
    else
    {
      *pOut = 0.0f;
      return (ARM_MATH_ARGUMENT_ERROR);
    }
  }
分析上面的程序:
对于STM32f103没有DSP处理单元的是不是只判断数据输入是否大于0,是的话直接用sqrtf开方就行?
有没有人测试过,使用arm_sqrt_f32()和sqrtf()这两个函数处理速度大概差多少呢?
谢谢!


已退回30积分

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top