Matlab int64 emulation function
Matlab and Scilab int64
behave differently :
int64()
wraps,
while Matlab's mtlb_int64()
saturates.int64()
truncates the
fractional part, while Matlab's mtlb_int64()
rounds to the
nearest integer.Let imin = -(2^32) = -9223372036854775808
and
imax = 2^32 - 1 = 9223372036854775807
.
x | int64(x) | mtlb_int64(x) |
---|---|---|
%nan | 0 | 0 |
-%inf | imin | imin |
imin-2 | imax-1 | imin |
imin-1 | imax | imin |
imin | imin | imin |
-80.7 | -80 | -81 |
-80.5 | -80 | -81 |
-80.4 | -80 | -80 |
10.2 | 10 | 10 |
10.5 | 10 | 11 |
10.51 | 10 | 11 |
imax | imax | imax |
imax+1 | imin | imax |
imax+2 | imin+1 | imax |
imax+3 | imin+2 | imax |
%inf | imax | imax |
![]() |
The function |