modulo
reste modulo m ayant le signe du dividende, ou de division polynomiale
pmodulo
reste modulo m euclidien positif
Séquence d'appel
i = modulo(n,m)
i = pmodulo(n,m)
Paramètres
- m, n
Scalaire, vecteur, matrice ou hypermatrice d'entiers encodés, de décimaux réels ou de polynômes à coefficients réels.
m
etn
doivent être du même type. Si elles sont de types entiers, elles peuvent être d'encodages distincts (par exemple int8 et int16). Si aucune des deux n'est scalaire, elles doivent avoir les mêmes tailles.- i
Scalaire, vecteur, matrice ou hypermatrice du type de
n
(voire de même inttype).i
a les tailles de la plus large dem
oun
.Pour des polynômes en entrée, lorsque tous les restes dansi
sont des polynômes constants (degré==0),i
est de de type 1 (nombres) au lieu de 2 (polynômes constants).
Description
modulo
calcule i = n (modulo m)
c'est à dire le reste de n
divisé par
m
.
Pour m
et n
numériques,
modulo()
calculei = n - m .* int (n ./ m)
. Le résultat est négatif (ou nul) lorsquen
est négatif. Il est positif sinon.pmodulo()
calculei = n - |m| .* floor (n ./ |m|)
. Le résultat est toujours positif ou nul.
Si m contient au moins une valeur nulle,
modulo(x,m) et pmodulo(x,m) effectueront une
division par zéro. Si m est de type réel, l'exception sera
traitée selon le mode ieee() actif. Si m
est de type entier, une erreur sera toujours émise. |
Exemples
n = [1,2,10,15]; m = [2,2,3,5]; modulo(n,m) modulo(-3, 9) modulo(10, -4) pmodulo(-3, 9) pmodulo(10, -6) pmodulo(-10, -6) // Entiers encodés modulo( int8(-13), int16(-7)) pmodulo(int8(-13), int16(-7)) modulo( int8(-13), int16([-7 5])) pmodulo(int8(-13), int16([-7 5])) modulo( int8([-13 8]), int16(-7)) pmodulo(int8([-13 8]), int16(-7)) modulo( int8([-13 8]), int16([-7 5])) pmodulo(int8([-13 8]), int16([-7 5])) // Hypermatrices m = grand(2,2,2,"uin",-100,100) n = grand(2,2,2,"uin",-10 ,10); n(n==0) = 1 modulo(m, 5) pmodulo(m,5) modulo(51, n) pmodulo(51,n) modulo(m, n) pmodulo(m,n) // Polynômes modulo( %z^2+1, %z) pmodulo(%z^2+1, %z)
Voir aussi
Historique
Version | Description |
5.5.0 | Extension aux entiers encodés et aux hypermatrices d'entiers ou de réels. |
6.0.2 | Extension aux hypermatrices de polynômes. |
Report an issue | ||
<< isequal | Fonctions Elémentaires | ndims >> |