假设我有这些字符串:
char ref[30] = "1234567891234567891";
char oth[30] = "1234567891234567891";
我想在 C++ 中使用 SSE 4.2 _mm_cmpistri
函数;通常字符串是从左到右解析的。有没有办法告诉函数反向搜索(比较从右到左而不是从左到右?
而不是搜索 -------------->
- 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
- 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
以这种方式搜索 <----------------
稍后编辑:
这是我想做的:
我有两个字符串,我需要一个带有此 header 的函数:
int sse_cmp(const char *a, int posA, const char *b, int posB);
这个函数必须比较字符串“backwords”:
从 posA
到 0
或直到 posB == 0
。
该函数必须从后面返回常见字符的数量。
例如:
<--------- posA
a : 1 2 3 4 5 6 7 8 9
b : a b c d 7 8 9
<---- posB
将返回 3 ( 987 )
最有效的方法是什么? (与上海证券交易所)
最佳答案
您可以使用 _SIDD_MOST_SIGNIFICANT 作为 _mm_cmpistri 的模式参数的一部分。 请参阅英特尔 SSE4 编程引用
关于c++ - _mm_cmpistri 反向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10608153/