Fonction d'émulation de la fonction Matlab uint32()
Les versions Matlab et Scilab de la fonction uint32() produisent des
résultats le plus souvent différents :
uint32() travaille en congruence su rl'intervalle
("modulo"), alors que
la version Matlab mtlb_uint32() sature et reste constante.uint32()
tronque la partie fractionnaire, alors que la version Matlab
mtlb_uint32() arrondit à l'entier le plus proche.Soit imax = 2^32 - 1 = 4294967295.
| x | uint32(x) | mtlb_uint32(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 |