Main Content

castFiToInt

Cast fi object to equivalent integer data type

Since R2020a

Description

y = castFiToInt(u) casts the input u to an equivalent MATLAB® integer data type when possible.

If the input u is a fi object type that can be represented exactly by an integer data type, then the output is this integer data type. If u is a fi object that cannot be exactly represented by a built-in data type, or if it is already a built-in data type, then the output is the same as the input.

example

Examples

collapse all

Use the castFiToInt and cast64BitFiToInt functions to cast fi objects to equivalent integer data types.

Create a signed fi variable with a 16-bit word length and zero fraction length. This is equivalent to an int16 data type. Cast the variable to the equivalent integer data type using the castFiToInt function.

u = fi(25,1,16,0);
y1 = castFiToInt(u)
y1 =

  int16

   25

The cast64BitFiToInt function casts only 64-bit word length fi objects with zero fraction length to an equivalent integer data type. All other input data types retain their original data type.

In this example, because the input is not a 64-bit word length fi, the output is the same as the input.

y2 = cast64BitFiToInt(u)
y2 = 

    25

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 16
        FractionLength: 0

When you pass a fi object with a 64-bit word length and zero fraction length into the cast64BitFiToInt function, the output is an int64.

u = fi(25,1,64,0)
y3 = cast64BitFiToInt(u)
y3 =

  int64

   25

When the input is a fi object with a non-zero fraction length, both functions return the original fi object because the input cannot be represented by an integer data type.

u = fi(pi,1,64,32);
y4 = cast64BitFiToInt(u)
y4 = 

    3.1416

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 64
        FractionLength: 32
y5 = castFiToInt(u)
y5 = 

    3.1416

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 64
        FractionLength: 32

Input Arguments

collapse all

Numeric input array, specified as a scalar, vector, matrix, or multidimensional array.

Data Types: double | single | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi
Complex Number Support: Yes

Output Arguments

collapse all

Numeric output, returned as a scalar, vector, matrix, or multidimensional array with the same value and dimensions as the input.

Version History

Introduced in R2020a