Bibliothèque math
La bibliothèque math fournit les fonctions et constantes mathématiques usuelles. Sauf mention
contraire, les fonctions trigonométriques travaillent en radians et retournent un flottant.
Vue d'ensemble
| Membre | Description |
|---|---|
math.pi |
La constante π |
math.huge |
La valeur flottante infinie (+∞) |
math.maxinteger |
Le plus grand entier représentable |
math.mininteger |
Le plus petit entier représentable |
math.abs(x) |
Valeur absolue |
math.acos(x) |
Arc cosinus (radians) |
math.asin(x) |
Arc sinus (radians) |
math.atan(y [, x]) |
Arc tangente de y/x (radians), signes pris en compte |
math.ceil(x) |
Arrondi à l'entier supérieur |
math.cos(x) |
Cosinus |
math.deg(x) |
Convertit des radians en degrés |
math.exp(x) |
e^x |
math.floor(x) |
Arrondi à l'entier inférieur |
math.fmod(x, y) |
Reste de la division de x par y |
math.log(x [, base]) |
Logarithme de x (népérien par défaut) |
math.max(x, ···) |
Maximum de ses arguments |
math.min(x, ···) |
Minimum de ses arguments |
math.modf(x) |
Sépare partie entière et partie fractionnaire |
math.rad(x) |
Convertit des degrés en radians |
math.random([m [, n]]) |
Nombre pseudo-aléatoire |
math.randomseed(x) |
Réinitialise le générateur pseudo-aléatoire |
math.sin(x) |
Sinus |
math.sqrt(x) |
Racine carrée |
math.tan(x) |
Tangente |
math.tointeger(x) |
Convertit en entier si possible |
math.type(x) |
"integer", "float" ou nil |
math.ult(m, n) |
Compare deux entiers comme non signés |
Constantes
math.pi— π (3.14159...).math.huge— l'infini flottant positif ;-math.hugedonne l'infini négatif.math.maxinteger/math.mininteger— bornes de la plage représentable par un entier YScript.
math.abs(x)
Retourne la valeur absolue de x. Préserve le type numérique : un entier en entrée donne un
entier en sortie, un flottant donne un flottant.
math.ceil(x) / math.floor(x)
ceil arrondit x vers le plus petit entier supérieur ou égal ; floor vers le plus grand
entier inférieur ou égal.
math.fmod(x, y)
Retourne le reste de la division de x par y. Quand x et y sont tous deux des entiers, le
calcul se fait en arithmétique entière (reste de signe identique à x, comme l'opérateur % du
- ; une erreur est levée si
yvaut0. Sinon, le calcul se fait en flottant.
math.log(x [, base])
Sans base, retourne le logarithme népérien de x. Avec base, retourne le logarithme de x
dans cette base (math.log(x, 10) utilise un calcul dédié à la base 10, plus précis qu'un calcul
générique).
math.max(x, ···) / math.min(x, ···)
Retournent respectivement le maximum et le minimum parmi tous leurs arguments (comparés avec les opérateurs relationnels habituels — au moins un argument est requis). La valeur retournée conserve le type (entier/flottant) de l'argument gagnant.
print(math.max(3, 7, 2)) --> 7
print(math.min(3, 7, 2)) --> 2
math.modf(x)
Retourne deux valeurs : la partie entière de x (arrondie vers zéro) et sa partie fractionnaire.
Pour un x déjà entier, retourne x, 0.0.
print(math.modf(3.75)) --> 3 0.75
print(math.modf(-3.75)) --> -3 -0.75
math.random([m [, n]])
Retourne un nombre pseudo-aléatoire :
- sans argument : un flottant dans
[0, 1]; - avec un seul argument entier
m: un entier dans[1, m]; - avec deux arguments entiers
m, n: un entier dans[m, n].
Appeler avec plus de deux arguments est une erreur.
math.randomseed(x)
Réinitialise le générateur pseudo-aléatoire utilisé par math.random avec la graine x (entier).
math.tointeger(x)
Retourne x converti en entier si cette conversion est exacte (sans perte), sinon retourne nil
(par exemple pour un flottant non entier, ou hors de la plage représentable).
math.type(x)
Retourne "integer" ou "float" selon le sous-type numérique de x, ou nil si x n'est pas
un nombre — utile pour distinguer 1 (entier) de 1.0 (flottant), qui sont numériquement égaux
mais de représentations différentes.
print(math.type(1)) --> integer
print(math.type(1.0)) --> float
print(math.type("1")) --> nil
math.ult(m, n)
Retourne true si m < n lorsque les deux entiers sont comparés comme des entiers non signés
(utile près des bornes de math.mininteger/math.maxinteger, où la comparaison signée usuelle
donnerait un résultat différent).
Fonctions trigonométriques et exponentielles
math.sin, math.cos, math.tan, math.asin, math.acos opèrent en radians.
math.atan(y [, x]) retourne l'arc tangente de y/x, x valant 1 par défaut, en utilisant le
signe des deux arguments pour déterminer le quadrant du résultat (équivalent à atan2).
math.deg/math.rad convertissent respectivement radians → degrés et degrés → radians.
math.exp(x) retourne e^x ; math.sqrt(x) la racine carrée de x.