ssRegisterDataTypeFxpScaledDouble

Register scaled double data type with [Slope Bias] scaling specified in terms of fractional slope, fixed exponent, and bias, and return its data type ID

Syntax

extern DTypeId ssRegisterDataTypeFxpScaledDouble
                                     (SimStruct *S,
                                      int isSigned,
                                      int wordLength,
                                      double fractionalSlope,
                                      int fixedExponent,
                                      double bias,
                                      int obeyDataTypeOverride)

Arguments

S

SimStruct representing an S-function block.

isSigned

TRUE if the data type is signed.

FALSE if the data type is unsigned.

wordLength

Total number of bits in the data type, including any sign bit.

fractionalSlope

Fractional slope of the data type.

fixedExponent

Exponent of the slope of the data type.

bias

Bias of the scaling of the data type.

obeyDataTypeOverride

TRUE indicates that the Data Type Override setting for the subsystem is to be obeyed. Depending on the value of Data Type Override, the resulting data type could be Double, Single, Scaled double, or the fixed-point data type specified by the other arguments of the function.

FALSE indicates that the Data Type Override setting is to be ignored.

Description

This function fully registers a fixed-point data type with the Simulink® software and returns a data type ID. Note that unlike the standard Simulink function ssRegisterDataType, you do not need to take any additional registration steps. The data type ID can be used to specify the data types of input and output ports, run-time parameters, and DWork states. It can also be used with all the standard data type access methods in simstruc.h, such as ssGetDataTypeSize.

Use this function if you want to register a scaled double data type. Alternatively, you can use one of the other fixed-point registration functions:

If the registered data type is not one of the Simulink built-in data types, a Fixed-Point Designer™ software license is checked out. To prevent a Fixed-Point Designer software license from being checked out when you simply open or view a model, protect registration calls with

if (ssGetSimMode(S) != SS_SIMMODE_SIZES_CALL_ONLY )
	ssRegisterDataType...

    Note   Because of the nature of the assignment of data type IDs, you should always use API functions to extract information from a data type ID about a data type in your S-function. For more information, refer to Data Type IDs.

Requirement

To use this function, you must include fixedpoint.h and fixedpoint.c. For more information, see Structure of the S-Function.

Languages

C

TLC Functions

None. Data types should be registered in the Simulink software. Registration of data types is not supported in TLC.

Was this topic helpful?