Fonction d'émulation de la fonction Matlab uint64()
Les versions Matlab et Scilab de la fonction uint64()
produisent des
résultats le plus souvent différents :
uint64()
travaille en congruence su rl'intervalle
("modulo"), alors que
la version Matlab mtlb_uint64()
sature et reste constante.uint64()
tronque la partie fractionnaire, alors que la version Matlab
mtlb_uint64()
arrondit à l'entier le plus proche.Soit imax = 2^64 - 1 = 18 446 744 073 709 551 615
.
x | uint64(x) | mtlb_uint64(x) |
---|---|---|
%nan | 0 | 0 |
-%inf | 0 | 0 |
-2 | imax-1 | 0 |
-1 | imax | 0 |
0 | 0 | 0 |
1 | 1 | 1 |
10.2 | 10 | 10 |
10.5 | 10 | 11 |
10.51 | 10 | 11 |
... | ... | ... |
imax | imax | imax |
imax+1 | 0 | imax |
imax+1 | 1 | imax |
%inf | imax | imax |
![]() |
La fonction |