exponenta event banner

ssGetDataTypeIsScalingPow2

Определите, имеет ли зарегистрированный тип данных масштабирование «мощность два»

Синтаксис

extern int ssGetDataTypeIsScalingPow2 (SimStruct *S, DTypeId
                                       dataTypeId)

Аргументы

S

SimStruct представляет S-функциональный блок.

dataTypeId

Идентификатор типа данных зарегистрированного типа данных, для которого необходимо знать, является ли масштабирование строго двухуровневым.

Описание

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

действительное значение = (наклон × целое число) + смещение,

где наклон может быть выражен как

уклон = дробный уклон × 2exponent.

Когда смещение = 0 и дробный наклон = 1 , единственным масштабным коэффициентом, который остается, является степень два:

действительное значение = (2exponent × integer) = (2-дробная длина × целое число).

Тривиальное масштабирование рассматривается как случай масштабирования мощностью два, при этом экспонента равна нулю.

Примечание

Многие алгоритмы с фиксированной точкой предназначены для масштабирования только мощности двух. Для этих алгоритмов можно вызвать ssGetDataTypeIsScalingPow2 в mdlSetInputPortDataType и mdlSetOutputPortDataType, чтобы предотвратить принятие неподдерживаемых типов данных.

Эта функция выдает ошибки, когда ssGetDataTypeIsFxpFltApiCompat прибыль FALSE.

Требование

Для использования этой функции необходимо включить fixedpoint.h и fixedpoint.c. Дополнительные сведения см. в разделе Структура S-функции.

Языки

C

Функции TLC

FixPt_DataTypeIsScalingPow2

Представлен до R2006a