当前位置:七道奇文章资讯编程技术VC/C++编程
日期:2011-03-22 13:54:00  来源:本站整理

<b>Vdsp(bf561)中的浮点运算(14):fract16除法</b>[VC/C++编程]

赞助商链接



  本文“<b>Vdsp(bf561)中的浮点运算(14):fract16除法</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

本来期望可以有div_fr1x16之类的函数来实现fract16的除法,但是很遗憾vdsp竟然不直接供应这样的函数,让人颇为尴尬,预计是因为其CPU不直接供应fract除法的来由.不过vdsp文档里面供应了一个做除法的例子:

fract16 saturating_fract_divide(fract16 nom, fract16 denom)
{
 int partialres = (int)nom;
 int divisor = (int)denom;
 fract16 rtn;
 int i;
 int aq;   /* initial value irrelevant */

 if (partialres == 0) {
  /* 0/anything gives 0 */
  rtn = 0;
 } else if (partialres >= divisor) {
          /* fract16 values have the range -1.0 <= x < +1.0,  */
         /* so our result cannot be as high as 1.0.  */
         /* Therefore, for x/y, if x is larger than y, */
         /* saturate the result to positive maximum.   */
         rtn = 0x7fff;
 } else {
  /* nom is a 16-bit fractional value, so move */
  /* the 16 bits to the top of partialres. */
  /* (promote fract16 to fract32) */
  partialres <<= 16;

  /* initialize sign bit and AQ, via divs(). */
  partialres = divs(partialres, divisor, &aq);

  /* Update each of the value bits of the partial result */
  /* and reset AQ via divq().  */
  for (i=0; i<15; i++) {
   partialres = divq(partialres, divisor, &aq);
  }

  rtn = (fract16) partialres;
 }

 return rtn;

}

这个计算历程在不翻开优化的情形下将需求500个cycle,在翻开优化之后将只需求42个cycle!相对比于将fract16转换为float举行计算还是要快得多.


  以上是“<b>Vdsp(bf561)中的浮点运算(14):fract16除法</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .