Код, заменяемый генератором кода, зависит от используемой библиотеки замены кода (CRL). По умолчанию генератор кода не применяет библиотеку замены кода. Выбор библиотек зависит от лицензирования продукта и наличия доступа к пользовательским библиотекам.
При создании кода C/C + + из кода MATLAB ®, в зависимости от доступных в среде разработки библиотек замены кода, можно настроить генератор кода для замены экземпляров следующих математических функций реализациями, специфичными для приложения.
| Функция | Поддержка типов данных | Поддержка скаляра, вектора, матрицы | Реальная, сложная поддержка |
|---|---|---|---|
abs1 | Плавающая точка | Скаляр | Реальный |
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 Требует скалярных, вещественных или фиксированных типов данных с нулевым смещением; тип вывода операции умножения для размещения всех возможных выходных значений; сдвиговый операнд - целое число без знака; а чистый уклон равен 1 ( 7 Требует скалярных, вещественных или фиксированных типов данных с нулевым смещением; тип вывода операции умножения для размещения всех возможных выходных значений; а чистый уклон равен 1 ( | ||||