小编Dev*_*X10的帖子

用于C++的Sublime Text自动完成插件?

我正在尝试使用c ++库在Sublime Text上拥有自动完成功能.我经常使用EIGEN,但是这个库中的函数没有自动完成功能.我怎么能以某种方式导出库让sublime知道我可以在这个库中使用的所有函数和方法?

我将不胜感激任何有用的答案.

c++ autocomplete sublimetext sublime-text-plugin

8
推荐指数
2
解决办法
3万
查看次数

使用英特尔内在函数 (AVX) 中的混合指令

我有一个关于 AVX_mm256_blend_pd功能的问题。

我想优化我大量使用该_mm256_blendv_pd函数的代码。不幸的是,这具有相当高的延迟和低吞吐量。该函数将三个变量作为输入__m256d,其中最后一个变量表示用于从前 2 个变量中进行选择的掩码。

我发现了另一个函数(_mm256_blend_pd),它采用位掩码而不是__m256d变量作为掩码。当掩码是静态时,我可以简单地传递类似 0b0111从第一个变量中获取第一个元素和第二个变量中的最后 3 个元素的内容。然而,在我的例子中,掩码是使用_mm_cmp_pd返回__m256d变量的函数计算的。我发现我可以用来_mm256_movemask_pd从掩码返回一个 int ,但是当将其传递到函数中时_mm256_blend_pd我收到一个 error error: the last argument must be a 4-bit immediate

有没有办法使用前 4 位来传递这个整数?或者是否有另一个类似于 movemask 的功能可以让我使用_mm256_blend_pd?或者我可以使用另一种方法来避免使用 cmp、movemask 和混合,这对于这个用例来说会更有效?

c c++ intrinsics avx immediate-operand

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

Haskell和一般类型

我是Haskell的新手,我想了解一般类型的工作原理.

什么应该是一种"系统的"思维方式来获得表达的类型?

举个例子,如果我们有:

(\x y z -> x (y z))
Run Code Online (Sandbox Code Playgroud)

我想到的方式,只是使用直觉,但它总是不起作用.

在这种情况下,我会说:

   (y z) :: (t -> t1) --function y takes t and return t1
 x (y z) :: (t1 -> t2) --function x takes argument of type (return type of y)

(\x y z -> x (y z)) :: (t1 -> t2) -> (t -> t1) -> t -> t2 --return type is t2 (of x) with argument of type t for function y
Run Code Online (Sandbox Code Playgroud)

我很确定这应该是正确的,但有时它更难以这种方式去思考似乎不起作用.

例如,如果我们有:

1. …
Run Code Online (Sandbox Code Playgroud)

generics lambda haskell types function

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