As of R2017a,
a Fixed-Point Designer license would NOT be required.
As of R2017a,
constructing a fi object whose type is equivalent to MATLAB's 11 built-in numerictypes
double, single, logical, uint8, int8, uint16, int16, uint32, int32, uint64, int64
does not require a Fixed-Point Designer license.
For example, this code
v_u64 = fi( 123, 0, 64, 0)
v_s64 = fi( 123, 1, 64, 0)
v_u32 = fi( 123, 0, 32, 0)
v_s32 = fi( 123, 1, 32, 0)
v_u16 = fi( 123, 0, 16, 0)
v_s16 = fi( 123, 1, 16, 0)
v_u8 = fi( 123, 0, 8, 0)
v_s8 = fi( 123, 1, 8, 0)
would not require a Fixed-Point Designer license.
In R2016b and earlier,
a Fixed-Point Designer license would be required.
This change coincided with another important license change.
In R2016b and earlier,
use of 64 bit integers in Simulink requires a Fixed-Point Designer license.
As of R2017a,
usage of 64 bit integers in Simulink does not require any additional licenses.
FYI:
If you'd like to change a fi object to its built-in MATLAB eqivalent, it's easy to do.
In R2020a and later, you can use utilities castFiToMATLAB
a = fi(123,0,64,0)
a =
123
DataTypeMode: Fixed-point: binary point scaling
Signedness: Unsigned
WordLength: 64
FractionLength: 0
>> b = castFiToMATLAB(a)
b =
uint64
123
or castFiToInt
> a = fi(123,0,64,0)
a =
123
DataTypeMode: Fixed-point: binary point scaling
Signedness: Unsigned
WordLength: 64
FractionLength: 0
>> b = castFiToInt(a)
b =
uint64
123
In earlier releases, you can simply cast using the name of the MATLAB class (a.k.a. data type name)
for example
>> a = fi(123,0,64,0)
a =
123
DataTypeMode: Fixed-point: binary point scaling
Signedness: Unsigned
WordLength: 64
FractionLength: 0
>> b = uint64( a )
b =
uint64
123
Best Answer