我正在尝试使用c ++库在Sublime Text上拥有自动完成功能.我经常使用EIGEN,但是这个库中的函数没有自动完成功能.我怎么能以某种方式导出库让sublime知道我可以在这个库中使用的所有函数和方法?
我将不胜感激任何有用的答案.
我有一个关于 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 和混合,这对于这个用例来说会更有效?
我是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) c++ ×2
autocomplete ×1
avx ×1
c ×1
function ×1
generics ×1
haskell ×1
intrinsics ×1
lambda ×1
sublimetext ×1
types ×1