Sections de la documentation
Résoudre pour une valeur cible
Trouve la valeur d'une entrée du calculateur qui amène l'une de ses sorties à une cible (la largeur de piste qui donne 50 Ω, l'écart qui donne une impédance différentielle cible) et la renvoie avec le résultat direct calculé exactement à cette valeur. Un seul appel décompté remplace les appels directs qu'un client dépenserait autrement à chercher à la main.
Déroulement de la recherche
La recherche parcourt les bornes indiquées de solveFor, resserrées par range lorsqu'il est fourni ; une entrée sans borne indiquée exige range. Lorsque grid est fourni, la value renvoyée est arrondie au multiple de la grille le plus proche dans la plage et unrounded porte la solution exacte ; sans grid, value et unrounded sont le même nombre. Dans tous les cas, result (exactement ce que /calculate renvoie pour ces entrées, provenance comprise) est l'exécution directe du calculateur exactement à la value renvoyée : ce qu'un client affiche est donc un vrai calcul direct, jamais l'estimation propre du solveur.
Corps de la requête
| Champ | Description |
|---|---|
| slugobligatoirestring | Le calculateur. |
| inputsobligatoireobject of numbers | Toutes les entrées sauf solveFor. Une valeur donnée pour solveFor n'est que le point de départ de la recherche, utilisé pour départager plusieurs solutions. |
| solveForobligatoirestring | Une entrée numérique déclarée du calculateur. |
| target.outputobligatoirestring | Une clé de sortie que renvoie le calculateur. |
| target.valueobligatoirenumber | La valeur que cette sortie doit atteindre. |
| gridnumber | Une grille de fabrication positive ; la valeur renvoyée est arrondie à son multiple le plus proche dans la plage. |
| range[number, number] | Resserre les bornes indiquées de solveFor ; obligatoire quand il n'en indique aucune. |
Réponse
| Champ | Description |
|---|---|
| valuenumber | La valeur résolue, arrondie à grid lorsqu'une grille a été donnée. |
| unroundednumber | La solution exacte, avant l'arrondi à la grille. |
| reachedboolean | Si la cible a été atteinte ; false porte quand même la valeur la plus proche trouvée, pas une supposition. |
| evaluationsinteger | Le nombre d'évaluations directes utilisées par la recherche. |
| warningsstring[] | Les constats propres à la résolution : une autre solution dans la plage, ou une cible non atteinte. |
| resultobject | Exactement ce que /calculate renvoie pour les entrées avec solveFor fixé à value : values, warnings, errors et provenance. |
| slug, solveFor, target, gridecho | Les champs de la requête, tels que fournis ; grid vaut null quand aucune grille n'a été donnée. |
Coût et solutions multiples
Coût
/calculate après toutes les vérifications ci-dessous, et restitué si le service échoue ensuite. Une cible que la recherche ne peut pas atteindre reste un succès et est facturée, avec reached: false et la valeur la plus proche trouvée : l'appelant a demandé quelque chose que le service a fourni.Plus d'une solution
solveFor, sinon la valeur par défaut du calculateur) et ajoute un avertissement qui nomme l'autre.Refus
Une requête impossible à résoudre est refusée avant toute facturation, et param nomme le champ en cause :
| Statut | Quand |
|---|---|
| 404 | Le slug du calculateur n'existe pas. |
| 400 | solveFor n'est pas l'une des entrées numériques déclarées du calculateur (param: solveFor, avec allowed). |
| 400 | target.output n'est pas l'une des sorties du calculateur (param: target.output, avec allowed). |
| 400 | grid est fourni et n'est pas un nombre fini et positif, ou n'a aucun multiple dans la plage. |
| 400 | Une valeur fournie (une entrée, target.value ou une borne de plage) n'est pas finie. |
| 400 | solveFor n'a pas de borne indiquée et le corps ne fournit pas de range, ou la plage fournie sort des bornes indiquées ou est vide. |
| 400 | Une entrée fixe dépasse une limite que le calculateur impose à sa propre durée d'exécution, comme pour /calculate. |