gpt4 book ai didi

c++ - 将 __m128i 值转换为 std::tuple

转载 作者:太空狗 更新时间:2023-10-29 22:57:28 25 4
gpt4 key购买 nike

想象一下,经过一些 SIMD 计算后,我得到一个 __m128i第四个字段的值带有无用的零值。有没有一种简单便携的方法可以将其他三个字段转换为 std::tuple<int,int,int> , 请记住它不是 standard layout

最佳答案

丑陋,但便携。我不相信有快速的解决方案,因为 std::tuple 没有定义内存布局。所以只需将这三个值复制到一个元组中即可。

std::tuple<int, int, int> to_tuple(__m128i& value)
{
auto* ptr = reinterpret_cast<int*>(&value);
return std::make_tuple(ptr[0], ptr[1], ptr[2]);
}

为什么需要这个?也许您可以通过其他方式解决您的问题。

关于c++ - 将 __m128i 值转换为 std::tuple,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43937538/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com