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