1

我目前正在为矢量化操作编写一个高度模板化的 C++ 助手类,我需要一个特定操作的名称。

我已经有 2 个函数,它们的名称非常常见,取自矢量语言:

  • apply()将函数应用于向量的每个元素
  • reduce()它对向量应用归约操作并返回一个标量

现在我想实现另一个函数,它是这两者的混合:它需要几个向量作为输入,并在每一行上应用归约操作,并返回一个向量。

为了说明这一点,我们有:

  • apply(func, vec)-> 返回{func(vec[0]), func(vec[1]), ..., func(vec[n])}
  • reduce(func, vec)-> 返回func(vec[0], vec[1], ..., vec[n])

和 :

  • something(func, vec1, vec2, ..., vecn)-> 返回{func(vec0[0], vec1[0], ..., vecn[0]), func(vec0[1], vec1[1], ..., vecn[1]), ..., func(vec0[n], vec1[n], ..., vecn[n])}

这个函数的通用名称是什么(一个简单的动词,如 apply 或 reduce)(如果存在这样的函数,则与其他矢量语言兼容)?

4

1 回答 1

0

也许是我从 Haskell 看到的 zip_with ?

于 2012-12-14T07:34:02.590 回答