Преобразование с одинарной точностью поддерживает следующие функции языка MATLAB®:
N-мерные массивы.
Операции над матрицей, включая удаление строк и столбцов.
Данные переменного размера (см., Генерируют Код для Данных Переменного Размера). Графическое изображение сравнения не поддерживает данные переменного размера.
Индексирование (см. несовместимость с MATLAB в операциях индексирования матриц для генерации кода).
Комплексные числа (см. Генерацию кода для Комплексных данных).
Числовые классы (см. Поддерживаемые Типы переменных).
Операторы if
программного управления, switch
, for
, while
и break
.
Арифметика, реляционные, и логические операторы.
Localfunctions.
Глобальные переменные.
Персистентные переменные.
Структуры.
'characters'.
Преобразование с одинарной точностью не поддерживает полный набор символов Unicode®. Символы ограничиваются 8 битами точности в сгенерированном коде. Много математических операций требуют больше чем 8 битов точности. Если вы намереваетесь преобразовать свой алгоритм MATLAB в одинарную точность, это - лучшая практика не выполнить арифметику с символами.
Классы MATLAB. Поддержки преобразования с одинарной точностью:
Class Properties
Конструкторы
Методы
Специализации
Это не поддерживает наследование классов или пакеты.
Вызовы функции (см. Разрешение Вызовов функции для Генерации кода),
varargin
и varargout
поддержаны, когда вы генерируете код C/C++ с одинарной точностью при помощи MATLAB Coder™app или codegen
с -singleC
. Они не поддержаны, когда вы используете codegen
с -double2single
.
Для функций, которые не используют varargin
или varargout
, можно управлять количеством аргументов ввода или вывода в сгенерированной функции точки входа, только если вы генерируете код C/C++ с одинарной точностью при помощи приложения MATLAB CODER или codegen
с -singleC
.
Преобразование с одинарной точностью не поддерживает следующие функции:
Анонимные функции
Массивы ячеек
Представьте скаляры в виде строки
Объекты классов значения как входные параметры функции точки входа или выходные параметры
Указатели на функции
Java®
Вложенные функции
Рекурсия
Разреженные матрицы
try
/catch
операторы
varargin
и varargout
или генерация меньшего количества аргументов ввода или вывода, чем функция точки входа задают