Документация Engee

Logical Operator

Выполнить указанную логическую операцию над входными сигналами.

logical operator

Описание

Блок Logical Operator выполняет заданную логическую операцию для одного или нескольких операндов. Входное значение интерпретируется как true (1), если оно не равно нулю, и false (0), если оно равно нулю.

Конкретную логическую операцию можно выбрать в настройках блока при помощи параметра Operator.

В таблице показаны поддерживаемые логические операции:

Операция Описание

AND

true, если все входы false

OR

true, если хотя бы один вход true

NAND

true, если хотя бы один вход false

NOR

true, когда нет входных данных в значении true

XOR

true, если нечетное количество входов true

NXOR

true, если четное количество входов true

NOT

true, если вход false

Значок блока меняется в зависимости от выбранной в параметре Operator логической операции. Количество входных портов задается в параметре Number of input ports.

Размер вывода зависит от размера входного вектора и выбранного оператора:

  • Если блок имеет более одного входа, размерность остальных портов расширяются до максимально возможного. Например, если сигнал ына входе имеют размеры 4 на 1, 1 на 5 и 1 на 1, то на выходе получится 4 на 5.

    Размерность скалярных входных сигналов увеличивается до размерности нескалярных входныx сигналов.

    Если блок имеет более одного входа, выход имеет те же размерности, что и входы, и каждый выходной элемент является результатом применения указанной логической операции к соответствующим входным элементам. Например, если задана операция AND, а входные данные представляют собой массивы 2 на 2, на выходе будет массив 2 на 2, верхний левый элемент которого является результатом применения AND к верхним левым элементам входных данных, и так далее.

  • Для одного входного вектора блок применяет операцию (кроме оператора NOT) ко всем элементам вектора. Выход в этом случае всегда является скаляром.

  • Оператор NOT принимает только один вход, который может быть скаляром или вектором. Если вход представляет вектор, выход представляет вектор того же размера, содержащий логические дополнения элементов входного вектора.

Порты

Вход

Port_1 — первый входной сигнал
скаляр | вектор | матрица

Первый входной сигнал. Скаляр, вектор или матрица.

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Port_2 — второй входной сигнал
скаляр | вектор | матрица

Второй входной сигнал. Скаляр, вектор или матрица.

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Port_N — N-й входной сигнал
скаляр | вектор | матрица

N-й входной сигнал. Скаляр, вектор или матрица.

Зависимости

Чтобы использовать дополнительные входные порты, используйте параметр Number of input ports.

Типы данных: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Выход

Port_1 — выходной сигнал
скаляр | вектор | матрица

Выходной сигнал, состоящий из нулей и единиц, с теми же размерностями, что и вход.

Типы данных: Bool

Параметры

Operator — логический оператор
AND (по умолчанию) | OR | NAND | NOR | XOR | NXOR | NOT

Выберите логический оператор, который будет применяться к входным сигналам блока.

  • AND — true, если все входы true.

  • OR — true, если хотя бы один вход true.

  • NAND — true, если хотя бы один вход false.

  • NOR — true, когда нет входных данных в значении true.

  • XOR — true, если нечетное количество входов true.

  • NXOR — true, если четное количество входов true.

  • NOT — true, если вход false.

Программное использование

Параметр блока:

Operator

Значение:

AND | OR | NAND | NOR | XOR | NXOR | NOT

По умолчанию:

AND

Number of input ports — количество входов
2 (по умолчанию) | положительное число

Задайте количество входных портов блока как положительное целое число.

Зависимости

Этот параметр недоступен, если для параметра Operator установлено значение NOT.

Программное использование

Параметр блока:

Inputs

Значение:

положительное целое число

По умолчанию:

2

Дополнительные возможности

Генерация Си кода: Да