exponenta event banner

createAndAddConceptualArg

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

Описание

пример

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

Примеры

свернуть все

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

Примеры аргументов с фиксированной точкой, которые используют относительное масштабирование или относительные значения наклона/смещения, см. в разделах Замена кода масштабирования уклона сети и Замена кода равного уклона и нулевого кода смещения сети.

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

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

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

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

% double:
createAndAddConceptualArg(hEntry, 'RTW.TflArgNumeric', ...
    'Name',         'y1', ... 
    'IOType',       'RTW_IO_OUTPUT', ...
    'DataTypeMode', 'double' );

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

% Fixed-point using binary-point-only scaling:
createAndAddConceptualArg(hEntry, 'RTW.TflArgNumeric', ...
    'Name',           'y1', ... 
    'IOType',         'RTW_IO_OUTPUT', ...
    'CheckSlope',     true, ...
    'CheckBias',      true, ...
    'DataTypeMode',   'Fixed-point: binary point scaling', ...
    'IsSigned',       true, ...
    'WordLength',     32, ...
    'FractionLength', 28);

% Fixed-point using [slope bias] scaling:
createAndAddConceptualArg(hEntry, 'RTW.TflArgNumeric', ...
    'Name',           'y1', ... 
    'IOType',         'RTW_IO_OUTPUT', ...
    'CheckSlope',     true, ...
    'CheckBias',      true, ...
    'DataTypeMode',   'Fixed-point: slope and bias scaling', ...
    'IsSigned',       true, ...
    'WordLength',     16, ...
    'Slope',          15, ...
    'Bias',           2);

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

свернуть все

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

Пример: op_entry

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

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

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

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

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

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

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

Использовать значение 'RTW_IO_INPUT' для ввода или значения 'RTW_IO_OUTPUT'.

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

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

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

Целое число, указывающее длину слова в битах аргумента. Значение по умолчанию: 16.

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

Логический флаг, который при установке в значение true для аргумента с фиксированной точкой вызывает обработку запроса замены кода для проверки того, что значение наклона аргумента точно соответствует значению наклона узла вызова.

Определить true при согласовании определенной комбинации масштабирования [смещения наклона] или определенной комбинации масштабирования только для двоичных точек на входах и выходах операторов с фиксированной точкой. Определить false при согласовании значений относительного масштабирования или относительного наклона и смещения на входах и выходах операторов с фиксированной точкой.

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

Логический флаг, который при установке в значение true для аргумента с фиксированной точкой вызывает обработку запроса замены кода для проверки того, что значение смещения аргумента точно соответствует значению смещения узла вызова.

Определить true при согласовании определенной комбинации масштабирования [смещения наклона] или определенной комбинации масштабирования только для двоичных точек на входах и выходах операторов с фиксированной точкой. Определить false при согласовании значений относительного масштабирования или относительного наклона и смещения на входах и выходах операторов с фиксированной точкой.

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

Можно указать либо 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',-15

Этот параметр указывается при согласовании определенной комбинации масштабирования [уклона] на входах и выходах операторов с фиксированной точкой.

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

Укажите этот параметр, если выполняется сопоставление определенной комбинации масштабирования только для двоичных точек на входах и выходах операторов с фиксированной точкой.

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

Пример: 'BaseType','double'

Можно также указать диапазон размеров, указанный в формате [Dim1Min Dim2Min ... DimNMin; Dim1Max Dim2Max ... DimNMax]. Например, [2 2; inf inf] означает двумерную матрицу размером 2x2 или больше.

Пример: 'DimRange',[2 2]

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

свернуть все

arg является дескриптором созданного концептуального аргумента. Указание возвращаемого аргумента в createAndAddConceptualArg вызов функции необязателен.

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