createAndAddConceptualArg

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

Синтаксис

arg = createAndAddConceptualArg(hEntry,argType, varargin)

Описание

пример

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

Примеры

свернуть все

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

Для примеров аргументов фиксированной точки, которые используют родственника, масштабирующегося или относительные значения наклона/смещения, смотрите, что Сетевой Наклон Масштабирует Замену Кода, и Равняйтесь Наклону и Нулевой Сетевой Замене Смещения Кода.

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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: 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'

Если вы совпадаете с определенным [наклонное смещение] масштабирующаяся комбинация на входных параметрах оператора неподвижной точки и выводе, задаете или этот параметр или комбинацию параметры FixedExponent и SlopeAdjustmentFactor.

Пример: '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