Secciones de la documentación
Resolver para un valor objetivo
Halla el valor de una entrada de la calculadora que lleva una de sus salidas a un objetivo (el ancho de pista que da 50 Ω, la separación que da una impedancia diferencial objetivo) y lo devuelve junto con el resultado directo exactamente en ese valor. Una sola llamada contabilizada sustituye a las llamadas directas que un cliente gastaría buscando a mano.
Cómo se realiza la búsqueda
La búsqueda recorre los límites declarados de solveFor, acotados por range cuando se indica; una entrada sin límite declarado necesita range. Cuando se indica grid, el value devuelto se redondea al múltiplo de la rejilla más cercano dentro del rango y unrounded lleva la solución exacta; sin grid, value y unrounded son el mismo número. En ambos casos, result (exactamente lo que /calculate devuelve para esas entradas, procedencia incluida) es la ejecución directa de la calculadora exactamente en el value devuelto, de modo que lo que muestra un cliente es un cálculo directo real, nunca la estimación propia del solucionador.
Cuerpo de la solicitud
| Campo | Descripción |
|---|---|
| slugobligatoriostring | La calculadora. |
| inputsobligatorioobject of numbers | Todas las entradas excepto solveFor. Un valor dado para solveFor es solo el punto de partida de la búsqueda, que sirve para desempatar entre varias soluciones. |
| solveForobligatoriostring | Una entrada numérica declarada de la calculadora. |
| target.outputobligatoriostring | Una clave de salida que devuelve la calculadora. |
| target.valueobligatorionumber | El valor que debe alcanzar esa salida. |
| gridnumber | Una rejilla de fabricación positiva; el valor devuelto se redondea a su múltiplo más cercano dentro del rango. |
| range[number, number] | Acota los límites declarados de solveFor; obligatorio cuando no declara ninguno. |
Respuesta
| Campo | Descripción |
|---|---|
| valuenumber | El valor resuelto, redondeado a grid si se indicó uno. |
| unroundednumber | La solución exacta, antes del redondeo a la rejilla. |
| reachedboolean | Si se alcanzó el objetivo; false sigue llevando el valor más cercano encontrado, no una conjetura. |
| evaluationsinteger | Cuántas evaluaciones directas usó la búsqueda. |
| warningsstring[] | Los hallazgos propios de la resolución: otra solución en el rango, o un objetivo no alcanzado. |
| resultobject | Exactamente lo que /calculate devuelve para las entradas con solveFor fijado en value: values, warnings, errors y provenance. |
| slug, solveFor, target, gridecho | Los campos de la solicitud, tal como se dieron; grid es null cuando no se indicó. |
Coste y soluciones múltiples
Coste
/calculate después de todas las comprobaciones de abajo, y devuelta si el servicio falla después. Un objetivo que la búsqueda no puede alcanzar se responde igualmente con éxito y se cobra igualmente, con reached: false y el valor más cercano encontrado: el cliente pidió algo que el servicio entregó.Más de una solución
solveFor, o si no, el valor predeterminado de la calculadora) y añade una advertencia que nombra el otro.Rechazos
Una solicitud que no se puede resolver se rechaza antes de cobrar nada, y param nombra el campo erróneo:
| Estado | Cuándo |
|---|---|
| 404 | El slug de la calculadora no existe. |
| 400 | solveFor no es una de las entradas numéricas declaradas de la calculadora (param: solveFor, con allowed). |
| 400 | target.output no es una de las salidas de la calculadora (param: target.output, con allowed). |
| 400 | Se indica grid y no es un número finito y positivo, o no tiene ningún múltiplo en el rango. |
| 400 | Algún valor dado (una entrada, target.value o un límite del rango) no es finito. |
| 400 | solveFor no tiene límite declarado y el cuerpo no da ningún range, o el rango dado queda fuera de los límites declarados o está vacío. |
| 400 | Una entrada fija supera un límite que la calculadora impone a su propio tiempo de ejecución, como en /calculate. |