Определите, является ли масштабирование зарегистрированного типа данных наклоном = 1, смещением = 0
extern int ssGetDataTypeIsScalingTrivial (SimStruct *S, DTypeId dataTypeId)
S
SimStruct, представляющий блок s-function.
dataTypeId
Идентификатор типа данных зарегистрированного типа данных, для которого необходимо знать, является ли масштабирование тривиальным.
Эта функция определяет, является ли масштабирование зарегистрированного типа данных тривиальным. В представлении [Смещение наклона] номера с фиксированной точкой могут быть представлены как
real-world value = (slope × <reservedrangesplaceholder1> ) + bias.
В тривиальном случае slope = 1 и bias = 0.
В терминах масштабирования только для двоичных точек двоичная точка находится справа от наименее значимого бита для тривиального масштабирования, что означает, что длина дроби равна нулю:
real-world value = <reservedrangesplaceholder0> × 2 –fraction length = <reservedrangesplaceholder0> × 2 0.
В любом случае тривиальное масштабирование означает, что значение в реальном мире просто равно сохраненному целому значению:
real-world value = integer.
Масштабирование всегда тривиально для чистых целых чисел, таких как int8
, а также для истинных типов с плавающей точкой single
и double
.
Эта функция ошибается, когда ssGetDataTypeIsFxpFltApiCompat
возвращает FALSE
.
Чтобы использовать эту функцию, вы должны включить fixedpoint.h
и fixedpoint.c
. Для получения дополнительной информации смотрите Структура S-функции.
C
FixPt_DataTypeIsScalingTrivial