Зарегистрируйте масштабированный тип данных double с масштабированием [Slope Bias], заданным с точки зрения дробного наклона, фиксированной экспоненты и смещения, и верните его идентификатор типа данных
extern DTypeId ssRegisterDataTypeFxpScaledDouble (SimStruct *S, int isSigned, int wordLength, double fractionalSlope, int fixedExponent, double bias, int obeyDataTypeOverride)
S
SimStruct, представляющий блок s-function.
isSigned
TRUE
если тип данных подписан.
FALSE
если тип данных не подписан.
wordLength
Общее количество битов в типе данных, включая любой бит знака.
fractionalSlope
Дробный уклон типа данных.
fixedExponent
Экспонента наклона типа данных.
bias
Смещение масштабирования типа данных.
obeyDataTypeOverride
TRUE
указывает, что необходимо соблюдать настройку 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