Название операции трансверсальной редукции?

В настоящее время я пишу высококвалифицированный вспомогательный класс 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])}

Каково будет общее название для этой функции (простой глагол типа применять или уменьшить) (совместимый с другими векторными языками, если такая функция существует)?

1

Решение

Может быть, zip_, который я видел в Haskell?

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]