Добавьте свойства алгоритма для записи таблицы замещения кода
addAlgorithmProperty(hEntry
, name-value
)
hEntry
Указатель на запись таблицы замещения кода, ранее возвращенную путем создания экземпляра класса записи замены кода, такого как
или hEntry
= RTW.TflCFunctionEntry
.hEntry
= RTW.TflCOperationEntry
name-value
Свойство алгоритма, заданное как разделенная разделенными запятой парами, состоящая из имени свойства алгоритма и одного или нескольких значений алгоритма. Задайте несколько значений как массив ячеек из векторов символов.
Имя | Значения |
---|---|
'BPPower2Spacing' | 'off' | 'on' |
'ExtrapMethod' | 'Clip' | 'Linear' |
'IndexSearchMethod' | 'Evenly spaced points' | 'Linear search' | 'Binary search' |
'InterpMethod' |
'Linear point-slope' | 'Linear Lagrange' | 'Flat' | 'Nearest' |
'RemoveProtectionInput' | 'off' | 'on' |
'RndMeth' | 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero' |
'SaturateOnIntegerOverflow' | 'off' | 'on' |
'SupportTunableTableSize' | 'off' | 'on' |
'UseLastTableValue' | 'off' | 'on' |
'UseRowMajorAlgorithm' | 'off' | 'on' |
The addAlgorithmProperty
функция добавляет настройки свойств алгоритма к концептуальному представлению записи таблицы замещения кода. Для примера используйте эту функцию, чтобы настроить алгоритмы, применяемые функциями интерполяционной таблицы.
В следующем примере, addAlgorithmProperty
функция конфигурирует генератор кода, чтобы применить следующие методы при замене кода для lookup1D
функция:
Экстраполяция клипа
Линейная интерполяция
Двоичный или линейный поиск по индексу
hLib = RTW.TflTable; hEnt = RTW.TflCFunctionEntry; hEnt.setTflCFunctionEntryParameters( ... 'Key', 'lookup1D', ... 'Priority', 100, ... 'ImplementationName', 'my_Lookup1D_Repl', ... 'ImplementationHeaderFile', 'my_Lookup1D.h', ... 'ImplementationSourceFile', 'my_Lookup1D.c', ... 'GenCallback', 'RTW.copyFileToBuildDir'); arg = hEnt.getTflArgFromString('y1','double'); arg.IOType = 'RTW_IO_OUTPUT'; hEnt.addConceptualArg(arg); arg = hEnt.getTflArgFromString('u1','double'); hEnt.addConceptualArg(arg); arg = RTW.TflArgMatrix('u2','RTW_IO_INPUT','double'); arg.DimRange = [0 0; Inf Inf]; hEnt.addConceptualArg(arg); arg = RTW.TflArgMatrix('u3', 'RTW_IO_INPUT', 'double'); arg.DimRange = [0 0; Inf Inf]; hEnt.addConceptualArg(arg); hEnt.addAlgorithmProperty('ExtrapMethod', 'Clip'); hEnt.addAlgorithmProperty('InterpMethod', 'Linear point-slope'); hEnt.addAlgorithmProperty('IndexSearchMethod', 'Linear search');