Код, который заменяет генератор кода, зависит от используемой библиотеки замещения кода (CRL). По умолчанию генератор кода не применяет библиотеку замены кода. Выбор библиотек зависит от лицензирования продукта и наличия доступа к пользовательским библиотекам.
При генерации кода C/C + + из MATLAB® код, в зависимости от библиотек замещения кода, доступных в среде разработки, можно сконфигурировать генератор кода, чтобы заменить образцы следующих математических функций реализациями конкретного приложения.
Функция | Поддержка типа данных | Поддержка скаляров, векторов, матриц | Реальная, комплексная поддержка |
---|---|---|---|
abs 1 | Плавающая точка | Скаляр | Реальный |
acos | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс Комплексный вход/комплексный выход Действительный вход/комплексный выход |
acosd | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс |
acot | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс |
acotd | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс |
acoth | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс |
acsc | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс |
acscd | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс |
acsch | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс |
asec | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс |
asecd | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс |
asech | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс |
asin | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс Комплексный вход/комплексный выход Действительный вход/комплексный выход |
asind | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс |
atan | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс Комплексный вход/комплексный выход Действительный вход/комплексный выход |
atan2 | Плавающая точка | Скаляр Вектор Матрица | Реальный |
atan2d | Плавающая точка | Скаляр Вектор Матрица | Реальный |
atand | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс |
cos | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс Комплексный вход/комплексный выход Действительный вход/комплексный выход |
ceil |
|
|
|
cosd | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс |
cosh | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс Комплексный вход/комплексный выход Действительный вход/комплексный выход |
cot | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс |
cotd | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс |
coth | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс |
csc | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс |
cscd | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс |
csch | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс |
exp | Плавающая точка | Скаляр | Реальный |
fix | Плавающая точка | Скаляр | Реальный |
floor |
|
|
|
hypot | Плавающая точка | Скаляр Вектор Матрица | Реальный |
ldexp | Плавающая точка | Скаляр | Реальный |
log | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс |
log10 | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс |
log2 | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс |
max | Целое число Плавающая точка | Скаляр | Реальный |
min | Целое число Плавающая точка | Скаляр | Реальный |
pow | Плавающая точка | Скаляр | Реальный |
rem | Плавающая точка | Скаляр | Реальный |
round | Плавающая точка | Скаляр | Реальный |
sec | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс |
secd | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс |
sech | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс |
sign | Плавающая точка | Скаляр | Реальный |
sin | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс Комплексный вход/комплексный выход Действительный вход/комплексный выход |
sind | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс |
sinh | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс Комплексный вход/комплексный выход Действительный вход/комплексный выход |
sqrt | Плавающая точка | Скаляр | Реальный |
tan | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс Комплексный вход/комплексный выход Действительный вход/комплексный выход |
tand | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс |
tanh | Плавающая точка | Скаляр Вектор Матрица | Реальный Комплекс Комплексный вход/комплексный выход Действительный вход/комплексный выход |
1 Перенос только при целочисленном переполнении |
В зависимости от библиотек замены кода, доступных в среде разработки, можно сконфигурировать генератор кода, чтобы заменить образцы следующих функций памяти реализациями конкретного приложения.
Функция | Поддержка типа данных | Поддержка скаляров, векторов, матриц | Реальная, комплексная поддержка |
---|---|---|---|
memcmp | Пустой указатель (void* ) | Скаляр Вектор Матрица | Реальный Комплекс |
memcpy | Пустой указатель (void* ) | Скаляр Вектор Матрица | Реальный Комплекс |
memset | Пустой указатель (void* ) | Скаляр Вектор Матрица | Реальный Комплекс |
memset2zero | Пустой указатель (void* ) | Скаляр Вектор Матрица | Реальный Комплекс |
Некоторые целевые процессоры обеспечивают оптимизированные функции, чтобы установить память на нуль. Используйте интерфейс программирования библиотеки замены кода, чтобы заменить memset2zero
функция с более эффективными целевыми функциями.
При генерации кода C/C + + из кода MATLAB, в зависимости от библиотек замены кода, доступных в вашей среде разработки, можно сконфигурировать генератор кода, чтобы заменить образцы следующих операторов реализациями, специфичными для конкретного приложения.
Поддержка смешанного типа данных указывает, что вы можете задать различные типы данных различных входов.
Оператор | Ключ | Поддержка типа данных | Поддержка скаляров, векторов, матриц | Реальная, комплексная поддержка |
---|---|---|---|---|
Сложение (+ )1 | RTW_OP_ADD | Целое число Плавающая точка Фиксированная точка Смешанный | Скаляр Вектор Матрица | Реальный Комплекс |
Вычитание (- )1 | RTW_OP_MINUS | Целое число Плавающая точка Фиксированная точка Смешанный | Скаляр Вектор Матрица | Реальный Комплекс |
Умножение (* )2 | RTW_OP_MUL | Целое число Плавающая точка Фиксированная точка Смешанный | Скаляр Вектор Матрица | Реальный Комплекс |
Деление (/ ) | RTW_OP_DIV | Целое число Плавающая точка Фиксированная точка Смешанный | Скаляр | Реальный Комплекс |
Преобразование типа данных (приведение) | RTW_OP_CAST | Целое число Плавающая точка3 Фиксированная точка Смешанный | Скаляр Вектор Матрица | Реальный Комплекс |
Сдвиг налево (<< ) | RTW_OP_SL | Целое число Фиксированная точка Смешанный | Скаляр Вектор Матрица | Реальный |
Сдвиньте правую арифметику (>> )4 | RTW_OP_SRA | Целое число Фиксированная точка Смешанный | Скаляр Вектор Матрица | Реальный |
Сдвиньте правую логическую (>> ) | RTW_OP_SRL | Целое число Фиксированная точка Смешанный | Скаляр Вектор Матрица | Реальный |
Поэлементное матричное умножение (.* )5 | RTW_OP_ELEM_MUL | Целое число Плавающая точка Фиксированная точка Смешанный | Вектор Матрица | Реальный Комплекс |
Комплексное сопряжение | RTW_OP_CONJUGATE | Целое число Плавающая точка Фиксированная точка Смешанный | Скаляр Вектор Матрица | Реальный Комплекс |
Транспозиция (.' ) | RTW_OP_TRANS | Целое число Плавающая точка Фиксированная точка Смешанный | Вектор Матрица | Реальный Комплекс |
Эрмитова (комплексная сопряженная) транспозиция (' ) | RTW_OP_HERMITIAN | Целое число Плавающая точка Фиксированная точка Смешанный | Вектор Матрица | Реальный Комплекс |
Умножение с транспозицией2 | RTW_OP_TRMUL | Целое число Плавающая точка Фиксированная точка Смешанный | Вектор Матрица | Реальный Комплекс |
Умножение с эрмитовой транспозицией2 | RTW_OP_HMMUL | Целое число Плавающая точка Фиксированная точка Смешанный | Вектор Матрица | Реальный Комплекс |
Умножение с последующим сдвигом правой арифметики (u1*u2>>u3 )6 | RTW_OP_MUL_SRA | Целое число Фиксированная точка | Скаляр | Реальный |
Умножение с последующим делением (u1*u2/u3 )7 | RTW_OP_MULDIV | Целое число Фиксированная точка | Скаляр | Реальный |
Больше (> ) | RTW_OP_GREATER_ | Целое число Плавающая точка Фиксированная точка Смешанный | Скаляр Вектор Матрица | Реальный Комплекс |
Больше или равно (>= ) | RTW_OP_GREATER_ | Целое число Плавающая точка Фиксированная точка Смешанный | Скаляр Вектор Матрица | Реальный Комплекс |
Меньше, чем (< ) | RTW_OP_LESS_THAN | Целое число Плавающая точка Фиксированная точка Смешанный | Скаляр Вектор Матрица | Реальный Комплекс |
Меньше или равно (<= ) | RTW_OP_LESS_THAN_ | Целое число Плавающая точка Фиксированная точка Смешанный | Скаляр Вектор Матрица | Реальный Комплекс |
Равный (== ) | RTW_OP_EUQAL | Целое число Плавающая точка Фиксированная точка Смешанный | Скаляр Вектор Матрица | Реальный Комплекс |
Не равно (!= ) | RTW_OP_NOT_EUQAL | Целое число Плавающая точка Фиксированная точка Смешанный | Скаляр Вектор Матрица | Реальный Комплекс |
1 Дополнительные сведения см. в разделе Замена кода оператора сложения и вычитания при определении отображений для замен кода сложения и вычитания. 2 Может сопоставить с Базовые подпрограммы линейной алгебры (BLAS) функции умножения. 3 Масштабирование с плавающей точкой не поддерживается. 4 Библиотеки замены кода, которые обеспечивают арифметические реализации права на сдвиг, должны также обеспечивать логические реализации права на сдвиг, потому что некоторые арифметические права на сдвиг преобразуются в логические права на сдвиг во время генерации кода. 5 Используйте умножение ( 6 Требует скалярных, реальных или типов данных с фиксированной точкой с нулевым смещением; выходной тип операции умножения для размещения всех возможных выходных значений; shift operand является беззнаковым целым числом; и уклон сети равен 1 ( 7 Требует скалярных, реальных или типов данных с фиксированной точкой с нулевым смещением; выходной тип операции умножения для размещения всех возможных выходных значений; и уклон сети равен 1 ( |