Зарегистрируйте масштабированный тип данных double с масштабированием [Slope Bias], заданным с точки зрения дробного наклона, фиксированной экспоненты и смещения, и верните его идентификатор типа данных
extern DTypeId ssRegisterDataTypeFxpScaledDouble
(SimStruct *S,
int isSigned,
int wordLength,
double fractionalSlope,
int fixedExponent,
double bias,
int obeyDataTypeOverride)
SSimStruct, представляющий блок s-function.
isSignedTRUE если тип данных подписан.
FALSE если тип данных не подписан.
wordLengthОбщее количество битов в типе данных, включая любой бит знака.
fractionalSlopeДробный уклон типа данных.
fixedExponentЭкспонента наклона типа данных.
biasСмещение масштабирования типа данных.
obeyDataTypeOverrideTRUE указывает, что необходимо соблюдать настройку Data Type Override для подсистемы. В зависимости от значения Data Type Override, полученный тип данных может быть Double, Single, Scaled doubleили тип данных с фиксированной точкой, заданный другими аргументами функции.
FALSE указывает, что параметр Data Type Override должен быть проигнорирован.
Эта функция полностью регистрирует тип данных с фиксированной точкой в Simulink® и возвращает идентификатор типа данных. Обратите внимание, что в отличие от стандартной функции Simulink ssRegisterDataType, вам не нужно делать никаких дополнительных шагов регистрации. Идентификатор типа данных может использоваться, чтобы задать типы данных входов и выходных портов, параметры выполнения и состояния DWork. Он также может использоваться со всеми стандартными методами доступа к типам данных в simstruc.h, таких как ssGetDataTypeSize.
Используйте эту функцию, если вы хотите зарегистрировать масштабированный двойной тип данных. Кроме того, можно использовать одну из других функций регистрации с фиксированной точкой:
Использовать ssRegisterDataTypeFxpBinaryPoint для регистрации типа данных с двоичным масштабированием только для точек.
Использовать ssRegisterDataTypeFxpFSlopeFixExpBias для регистрации типа данных с масштабированием [Смещение уклона] путем определения размера слова, дробного наклона, фиксированной экспоненты и смещения.
Использовать ssRegisterDataTypeFxpSlopeBias для регистрации типа данных с масштабированием [Наклон Смещения].
Если зарегистрированный тип данных не является одним из встроенных типов данных Simulink, выдается лицензия Fixed-Point Designer™. Чтобы предотвратить извлечение лицензии на программное обеспечение Fixed-Point Designer, когда вы просто открываете или просматриваете модель, защитите вызовы регистрации с
if (ssGetSimMode(S) != SS_SIMMODE_SIZES_CALL_ONLY ) ssRegisterDataType...
Примечание
Из-за особенностей назначения идентификаторов типов данных вы всегда должны использовать функции API для извлечения информации из идентификатора типа данных о типе данных в вашей S-функции. Для получения дополнительной информации см. идентификаторы типов данных.
Чтобы использовать эту функцию, вы должны включить fixedpoint.h и fixedpoint.c. Для получения дополнительной информации смотрите Структура S-функции.
C
Ничего. Типы данных должны быть зарегистрированы в программном обеспечении Simulink. Регистрация типов данных не поддерживается в TLC.
ssRegisterDataTypeFxpBinaryPoint, ssRegisterDataTypeFxpFSlopeFixExpBias, ssRegisterDataTypeFxpSlopeBias, ssRegisterDataTypeHalfPrecision