相关疑难解决方法(0)

IEEE浮点标准是什么(+0)+( - 0)?

我是对的,对任何浮点数的任何算术运算都是由IEEE浮点标准明确定义的吗?如果是的话,只是出于好奇,那是(+0)+(-0)什么?有没有办法在实践中用C++或其他常用的编程语言来检查这些东西?

c++ floating-point ieee-754

11
推荐指数
1
解决办法
950
查看次数

测试两个__m128i变量之间的相等性

如果我想在两个__m128i变量之间进行逐位相等测试,我是否需要使用SSE指令或者我可以使用==?如果没有,我应该使用哪条SSE指令?

c x86 sse simd

10
推荐指数
2
解决办法
2631
查看次数

检查所有__m128i组件是否为0的最有效方法[使用SSE内在函数]

我正在使用SSE内在函数来确定矩形(由四个int32值定义)是否已更改:

__m128i oldRect; // contains old left, top, right, bottom packed to 128 bits
__m128i newRect; // contains new left, top, right, bottom packed to 128 bits

__m128i xor = _mm_xor_si128(oldRect, newRect);
Run Code Online (Sandbox Code Playgroud)

此时,xor如果矩形未更改,则结果值将全为零.那么最有效的方法是什么呢?

目前我这样做:

if (xor.m128i_u64[0] | xor.m128i_u64[1])
{
    // rectangle changed
}
Run Code Online (Sandbox Code Playgroud)

但我认为有一种更聪明的方法(可能使用了一些我还没有找到的SSE指令).

我在x64上定位SSE4.1,我在Visual Studio 2013中编写C++.

c++ integer sse simd intrinsics

10
推荐指数
2
解决办法
2329
查看次数

标签 统计

c++ ×2

simd ×2

sse ×2

c ×1

floating-point ×1

ieee-754 ×1

integer ×1

intrinsics ×1

x86 ×1