小编Gla*_*ver的帖子

默认构造 std::variant 中的所有类型并将它们放入 std::vector

我将如何制作std::vector包含a中包含的所有类型的默认构造实例的 a std::variant

using TaskVariant = std::variant<TypeA, TypeB, TypeC>;
std::vector<TaskVariant> variants;

// I'd like to do this in a loop
variants.push_back(TypeA());
variants.push_back(TypeB());
variants.push_back(TypeC());
Run Code Online (Sandbox Code Playgroud)

c++ templates template-meta-programming c++17 std-variant

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

AVX 将 __m256i 打包的 32 位整数除以二(无 AVX2)

__m256i我正在寻找使用 AVX 将压缩的 32 位整数除以二(也称为右移一位)的最快方法。我无法访问 AVX2。据我所知,我的选择是:

  1. 下拉至SSE2
  2. 类似于有符号 32 位元素的 AVX __m256i 整数除法

如果我需要使用 SSE2,我会欣赏最好的 SSE2 实现。如果是 2),我想知道要使用的内在函数,以及是否有更优化的实现来专门除以 2。谢谢!

c++ sse simd avx sse2

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

标签 统计

c++ ×2

avx ×1

c++17 ×1

simd ×1

sse ×1

sse2 ×1

std-variant ×1

template-meta-programming ×1

templates ×1