Seções da documentação
Resolver para um valor-alvo
Encontra o valor de uma entrada da calculadora que leva uma das suas saídas a um alvo (a largura de trilha que dá 50 Ω, o espaçamento que dá uma impedância diferencial alvo) e o devolve com o resultado direto calculado exatamente nesse valor. Uma única chamada contabilizada substitui as chamadas diretas que um cliente gastaria procurando à mão.
Como a busca funciona
A busca percorre os limites declarados de solveFor, estreitados por range quando informado; uma entrada sem limite declarado precisa de range. Quando grid é informado, o value devolvido é arredondado para o múltiplo da grade mais próximo dentro da faixa, e unrounded traz a solução exata; sem grid, value e unrounded são o mesmo número. Em qualquer caso, result (exatamente o que /calculate devolve para essas entradas, procedência incluída) é a execução direta da calculadora exatamente no value devolvido, de modo que o que um cliente mostra é um cálculo direto real, nunca a estimativa do próprio solucionador.
Corpo da requisição
| Campo | Descrição |
|---|---|
| slugobrigatóriostring | A calculadora. |
| inputsobrigatórioobject of numbers | Todas as entradas exceto solveFor. Um valor dado para solveFor é apenas o ponto de partida da busca, usado para desempatar entre mais de uma solução. |
| solveForobrigatóriostring | Uma entrada numérica declarada da calculadora. |
| target.outputobrigatóriostring | Uma chave de saída que a calculadora devolve. |
| target.valueobrigatórionumber | O valor que essa saída deve atingir. |
| gridnumber | Uma grade de fabricação positiva; o valor devolvido é arredondado para o múltiplo mais próximo dentro da faixa. |
| range[number, number] | Estreita os limites declarados de solveFor; obrigatório quando não há nenhum. |
Resposta
| Campo | Descrição |
|---|---|
| valuenumber | O valor resolvido, arredondado para grid quando informado. |
| unroundednumber | A solução exata, antes do arredondamento para a grade. |
| reachedboolean | Se o alvo foi atingido; false ainda traz o valor mais próximo encontrado, não um palpite. |
| evaluationsinteger | Quantas avaliações diretas a busca usou. |
| warningsstring[] | As constatações da própria resolução: outra solução na faixa, ou um alvo não atingido. |
| resultobject | Exatamente o que /calculate devolve para as entradas com solveFor definido como value: values, warnings, errors e provenance. |
| slug, solveFor, target, gridecho | Os campos da requisição, como foram dados; grid é null quando não foi informado. |
Custo e empates
Custo
/calculate depois de todas as verificações abaixo, e devolvida se o serviço falhar em seguida. Um alvo que a busca não consegue atingir ainda é respondido com sucesso e ainda é cobrado, com reached: false e o valor mais próximo encontrado: o chamador pediu algo que o serviço entregou.Mais de uma solução
solveFor, ou então o padrão da calculadora) e adiciona um aviso que nomeia o outro.Recusas
Uma requisição que não pode ser resolvida é recusada antes de qualquer cobrança, e param nomeia o campo com problema:
| Status | Quando |
|---|---|
| 404 | O slug da calculadora não existe. |
| 400 | solveFor não é uma das entradas numéricas declaradas da calculadora (param: solveFor, com allowed). |
| 400 | target.output não é uma das saídas da calculadora (param: target.output, com allowed). |
| 400 | grid foi informado e não é um número finito e positivo, ou não tem múltiplo na faixa. |
| 400 | Algum valor dado (uma entrada, target.value ou um limite da faixa) não é finito. |
| 400 | solveFor não tem limite declarado e o corpo não dá nenhum range, ou a faixa dada está fora dos limites declarados ou é vazia. |
| 400 | Uma entrada fixa excede um limite que a calculadora impõe ao próprio tempo de execução, como em /calculate. |