Evaluate
L'endpoint /evaluate évalue une expression mathématique de manière sécurisée et retourne son résultat. Il utilise un parseur Pratt — aucun eval() n'est jamais appelé.
Comment ça marche ?
Les expressions sont tokenisées puis parsées récursivement via des binding powers (Pratt parsing). Le résultat est calculé directement depuis l'AST — pas d'eval(), pas de Function(). Deux constantes sont disponibles : pi (≈ 3.14159…) et e (≈ 2.71828…). La profondeur de récursion est limitée à 100 et la longueur de l'expression à 500 caractères.
curl -X GET \ "https://api.moxon.dev/v5/evaluate"Envoyez la requête pour voir la réponse ici.
exprstringrequisL'expression mathématique à évaluer (max 500 caractères)
precisionnumberoptionnelNombre de décimales dans le résultat (0–15)
| Opérateur | Description |
|---|---|
+ | Addition |
- | Soustraction / négation unaire |
* | Multiplication |
/ | Division |
% | Modulo |
^ | Exponentiation |
La négation unaire - a une priorité plus faible que ^, conformément à la convention mathématique standard : -2^2 donne -4 (soit -(2^2)), et non 4.
sin, cos, tan, asin, acos, atan, sqrt, abs, floor, ceil, round, log, log2, log10
exprstringL'expression originale
resultnumberLe résultat évalué
Si les paramètres sont manquants ou invalides, l'API retournera une erreur :
- 400
Please provide a math expression (?expr={expression})Le paramètreexprest manquant - 400
Expression is too long (max 500 characters)L'expression dépasse 500 caractères - 400
Maximum expression depth exceededLa profondeur d'imbrication dépasse 100 niveaux - 400
Division by zeroL'expression tente une division par zéro - 400
Unknown identifier: {name}Une constante ou fonction inconnue a été utilisée - 400
Invalid number: {num}Un nombre contient plus d'un point décimal (ex.1.2.3) - 400
precision must be between 0 and 15La valeur deprecisionest hors limites
Mis à jour le 26 juillet 2026