快速sin 和 cos 函数计算
来源:互联网 发布:淘宝企业店铺开店费用 编辑:程序博客网 时间:2024/04/30 21:37
CEO 发表于2007年12月26日 15:02 阅读(27) 评论(1) 分类: 技术资料
举报 void _SSE2_SinCos(float x, float* s, float* c) // any x
{
__asm
{
movss xmm0, x
movaps xmm7, xmm0
movss xmm1, _ps_am_inv_sign_mask
movss xmm2, _ps_am_sign_mask
movss xmm3, _ps_am_2_o_pi
andps xmm0, xmm1
andps xmm7, xmm2
mulss xmm0, xmm3
pxor xmm3, xmm3
movd xmm5, _epi32_1
movss xmm4, _ps_am_1
cvttps2dq xmm2, xmm0
pand xmm5, xmm2
movd xmm1, _epi32_2
pcmpeqd xmm5, xmm3
movd xmm3, _epi32_1
cvtdq2ps xmm6, xmm2
paddd xmm3, xmm2
pand xmm2, xmm1
pand xmm3, xmm1
subss xmm0, xmm6
pslld xmm2, (31 - 1)
minss xmm0, xmm4
mov eax, s // mov eax, [esp + 4 + 16]
mov edx, c // mov edx, [esp + 4 + 16 + 4]
subss xmm4, xmm0
pslld xmm3, (31 - 1)
movaps xmm6, xmm4
xorps xmm2, xmm7
movaps xmm7, xmm5
andps xmm6, xmm7
andnps xmm7, xmm0
andps xmm0, xmm5
andnps xmm5, xmm4
movss xmm4, _ps_sincos_p3
orps xmm6, xmm7
orps xmm0, xmm5
movss xmm5, _ps_sincos_p2
movaps xmm1, xmm0
movaps xmm7, xmm6
mulss xmm0, xmm0
mulss xmm6, xmm6
orps xmm1, xmm2
orps xmm7, xmm3
movaps xmm2, xmm0
movaps xmm3, xmm6
mulss xmm0, xmm4
mulss xmm6, xmm4
movss xmm4, _ps_sincos_p1
addss xmm0, xmm5
addss xmm6, xmm5
movss xmm5, _ps_sincos_p0
mulss xmm0, xmm2
mulss xmm6, xmm3
addss xmm0, xmm4
addss xmm6, xmm4
mulss xmm0, xmm2
mulss xmm6, xmm3
addss xmm0, xmm5
addss xmm6, xmm5
mulss xmm0, xmm1
mulss xmm6, xmm7
// use full stores since caller might reload with full loads
movss [eax], xmm0
movss [edx], xmm6
}
}
比标准库的sin , cos 速度提高三倍
- 快速sin 和 cos 函数计算
- 泰勒法计算sin和cos值
- cordic算法计算sin和cos
- 快速sin()和cos()的实现
- 快速sin cos
- 问题一百三十九:函数cos()和sin()
- Python中的sin和cos函数
- 第13周报告2:定义自定义函数,计算sin和cos的近似值
- C++第13周报告(二)定义自定义函数,计算sin和cos的近似值
- C语言sin和cos函数的实现
- Java实现动态sin和cos函数图像
- sin和cos的爱恋
- cos和sin的使用
- 计算器是如何计算sin、cos等科学函数的值呢?
- 一种简单,快速,精准的sin/cos函数模拟,及as3实现
- 一种简单,快速,精准的sin/cos函数模拟,及as3实现
- 一种简单,快速,精准的sin/cos函数模拟,及as3实现
- java 反射 画Sin、Cos函数曲线
- 程序学习--如何阅读别人的代码
- 不同之处?
- 为什么 Mozilla 要固守 Gecko 内核
- 《原创》数据库操作封装ORM
- CToolTipCtrl
- 快速sin 和 cos 函数计算
- SQL查询变量的数据类型
- Why Mozilla is committed to Gecko as WebKit popularity grows
- 匿名方法和Lambda表达式
- SQL之游标
- Cygwin访问本地磁盘及乱码问题
- projectProblemSummary
- 毕业一年送给自己的礼物
- 抑郁期过去,从今天开始,我年年都是20岁