Я портирование некоторых MATLAB кода для C++, используя библиотеку шаблонов Эйгена 3, и я ищу хорошее отображение для этого общего MATLAB идиомы:Как выразить «<массив-of-true-or-false> = <array><= <scalar>« используя Eigen 3?
K>> [1 2 3 4 5] <= 3
ans =
1 1 1 0 0
Таким образом, сравнить массив и скаляр, возвращая массив логических элементов, которые имеют одинаковую форму.
Я понимаю, что Eigen's Класс Array имеет коэффициенты сравнения, но если я правильно интерпретирую документы, они работают только с другим массивом; не со скалярными значениями.
Есть ли какой-то вариант, который я пропустил, выполнит сравнение со скаляром? Или, если это не так, хороший идиоматический способ создания подходящего массива Array, заполненного скалярным значением для RHS выражения?
Если вы не хотите иметь дело с типом возврата, и вы используете C++ 11, вы всегда можете использовать 'auto result = compareMat.array() <= cutoff;'. – GJStein