VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 46|回复: 5

求一段小程序,高手进

[复制链接]

1

主题

3

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2020-1-14 16:00:01 | 显示全部楼层 |阅读模式
用sse指令快速比较两个浮点数的函数,准备嵌入到VC里面。

请高手提供源代码,谢谢!

回复

使用道具 举报

0

主题

10

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2020-1-18 14:27:01 | 显示全部楼层
快速比较两个浮点数

//比较什么?
回复

使用道具 举报

1

主题

3

帖子

4

积分

新手上路

Rank: 1

积分
4
 楼主| 发表于 2020-1-18 21:36:01 | 显示全部楼层
比较float

if(floata - floatb > 0.0001)
{
   ...
}
这样比较慢

希望高手提供一个汇编写的函数 comparefloat
if(comparefloat(a, b) == 0)
{
   ...
}

好像是用cmpdd指令吧?我汇编不熟悉,希望帮忙,谢谢
回复

使用道具 举报

0

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2020-1-19 23:54:01 | 显示全部楼层
个人感觉 没必要用SSE 因为SSE指令集处理大流量的数据 比如同时处理4个FLOAT
如果不是处理海量数据 效率反倒很低
用的是浮点指令,没有看指令周期,不知道快没快
float comp(float x,float y)
{ asm
   {
   FLD x  ;将X装载到st(0)
   //FCOM y  ;也可以用比较指令,置符号位
   FSUB y  st(0)-y的结果放到st(0)
   FST x   将st(0)存入到X
   }
   return x;

  }
回复

使用道具 举报

1

主题

3

帖子

4

积分

新手上路

Rank: 1

积分
4
 楼主| 发表于 2020-3-29 22:45:01 | 显示全部楼层
谢谢,不过没快,还报错
回复

使用道具 举报

0

主题

18

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2020-8-12 14:45:01 | 显示全部楼层
只是几句代码而已,不会有什么提高
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2020|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表