exponenta event banner

createAndAddImplementationArg

Создание аргумента реализации из указанных свойств и добавление аргументов реализации для записи таблицы замены кода

Описание

пример

arg = createAndAddImplementationArg(hEntry,argType,varargin) создает аргумент реализации из указанных свойств и добавляет аргумент в аргументы реализации для записи таблицы замены кода.

Аргументы реализации должны описывать фундаментальные числовые типы данных, такие как double, single, int32, int16, int8, uint32, uint16, uint8, boolean, или 'logical' (не типы данных с фиксированной точкой).

Примеры

свернуть все

В этом примере показано, как использоватьcreateAndAddImplementationArg функции с помощью createAndSetCImplementationReturn для указания выходных и входных аргументов для реализации оператора.

op_entry = RTW.TflCOperationEntry;
.
.
.
createAndSetCImplementationReturn(op_entry, 'RTW.TflArgNumeric', ...
    'Name',       'y1', ...
    'IOType',     'RTW_IO_OUTPUT', ...
    'IsSigned',   true, ...
    'WordLength', 32, ...
    'FractionLength', 0);
                                  
createAndAddImplementationArg(op_entry, 'RTW.TflArgNumeric',...
    'Name',       'u1', ...
    'IOType',     'RTW_IO_INPUT',...
    'IsSigned',   true,...
    'WordLength', 32, ...
    'FractionLength', 0 );
                               
createAndAddImplementationArg(op_entry, 'RTW.TflArgNumeric',...
    'Name',       'u2', ...
    'IOType',     'RTW_IO_INPUT',...
    'IsSigned',   true,...
    'WordLength', 32, ...
    'FractionLength', 0 );

Эти примеры показывают некоторые общие спецификации типов с использованием createAndAddImplementationArg.

hEntry = RTW.TflCOperationEntry;
.
.
.
% uint8:
createAndAddImplementationArg(hEntry, 'RTW.TflArgNumeric', ...
    'Name',           'u1', ... 
    'IOType',         'RTW_IO_INPUT', ...
    'IsSigned',       false, ...
    'WordLength',     8, ...
    'FractionLength', 0 );

% single:
createAndAddImplementationArg(hEntry, 'RTW.TflArgNumeric', ...
    'Name',         'u1', ... 
    'IOType',       'RTW_IO_INPUT', ...
    'DataTypeMode', 'single' );

% double:
createAndAddImplementationArg(hEntry, 'RTW.TflArgNumeric', ...
    'Name',         'u1', ... 
    'IOType',       'RTW_IO_INPUT', ...
    'DataTypeMode', 'double' );

% boolean:
createAndAddImplementationArg(hEntry, 'RTW.TflArgNumeric', ...
    'Name',         'u1', ... 
    'IOType',       'RTW_IO_INPUT', ...
    'DataTypeMode', 'boolean' );

Входные аргументы

свернуть все

hEntry является дескриптором записи таблицы замены кода, ранее возвращенной путем создания экземпляра класса записи замены кода, например, hEntry = RTW.TflCFunctionEntry или hEntry = RTW.TflCOperationEntry.

Пример: op_entry

argType - вектор символов или строковый скаляр, указывающий тип создаваемого аргумента. Использовать 'RTW.TflArgNumeric' для числовых.

Пример: 'RTW.TflArgNumeric'

Пример: 'Name','u1'

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'Name','u1'

Пример: 'Name','u1'

Использовать 'RTW_IO_INPUT' для ввода.

Пример: 'IOType','RTW_IO_INPUT'

Логическое значение, которое при установке в true, указывает, что аргумент подписан.

Пример: 'IsSigned',true

Пример: 'WordLength',16

Можно указать либо DataTypeScaling) или DataTypeMode, но не указывайте оба.

Пример: 'DataTypeMode','Fixed-point: binary point scaling'

Пример: 'DataType','Fixed'

Использовать 'BinaryPoint' для двоичного масштабирования или 'SlopeBias' для масштабирования наклона и смещения.

Пример: 'Scaling','BinaryPoint'

При необходимости можно указать либо этот параметр, либо комбинацию SlopeAdjustmentFactor и FixedExponent параметры, но не указывайте оба.

Пример: 'Slope',1.0

При необходимости можно указать либо Slope параметр или комбинация этого параметра и FixedExponent , но не указывайте оба.

Пример: 'SlopeAdjustmentFactor',1.0

При необходимости можно указать либо Slope параметр или комбинация этого параметра и SlopeAdjustmentFactor , но не указывайте оба.

Пример: 'FixedExponent',0

Пример: 'Bias',0.0

Пример: 'FractionLength',0

Этот параметр используется только для установки в сигнатуре функции реализации значения введенных постоянных входных аргументов, таких как аргументы, передающие значения длины дроби или значения флага. Не используйте его для стандартных входных аргументов, таких как u1u2. Можно указать постоянный входной аргумент, который использует этот параметр в любом месте сигнатуры функции реализации, за исключением возвращаемого аргумента.

В сигнатуру реализации можно ввести постоянные входные аргументы для записей таблицы замены кода. Если значения аргументов или необходимое количество аргументов зависит от информации о времени компиляции, можно использовать настраиваемое сопоставление. Дополнительные сведения см. в разделе Настройка процесса сопоставления и замены.

Пример: 'Value',0

Выходные аргументы

свернуть все

Указание возвращаемого аргумента в createAndAddImplementationArg вызов функции необязателен.

Представлен в R2007b