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