Skip to content
Seções da documentação

Resolver para um valor-alvo

POSThttps://rftools.io/api/py/v1/calculate/solve

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.

Corpo da requisição

SolveRequest
CampoDescrição
slugobrigatóriostringA calculadora.
inputsobrigatórioobject of numbersTodas 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óriostringUma entrada numérica declarada da calculadora.
target.outputobrigatóriostringUma chave de saída que a calculadora devolve.
target.valueobrigatórionumberO valor que essa saída deve atingir.
gridnumberUma 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

SolveResponse
CampoDescrição
valuenumberO valor resolvido, arredondado para grid quando informado.
unroundednumberA solução exata, antes do arredondamento para a grade.
reachedbooleanSe o alvo foi atingido; false ainda traz o valor mais próximo encontrado, não um palpite.
evaluationsintegerQuantas 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.
resultobjectExatamente o que /calculate devolve para as entradas com solveFor definido como value: values, warnings, errors e provenance.
slug, solveFor, target, gridechoOs campos da requisição, como foram dados; grid é null quando não foi informado.

Custo e empates

Custo

Uma chamada contabilizada, cobrada como /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

Quando a saída cruza o alvo mais de uma vez dentro da faixa, a chamada devolve o cruzamento mais próximo do valor inicial (o valor que o próprio chamador deu para 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:

Recusas do solve
StatusQuando
404O slug da calculadora não existe.
400solveFor não é uma das entradas numéricas declaradas da calculadora (param: solveFor, com allowed).
400target.output não é uma das saídas da calculadora (param: target.output, com allowed).
400grid foi informado e não é um número finito e positivo, ou não tem múltiplo na faixa.
400Algum valor dado (uma entrada, target.value ou um limite da faixa) não é finito.
400solveFor não tem limite declarado e o corpo não dá nenhum range, ou a faixa dada está fora dos limites declarados ou é vazia.
400Uma entrada fixa excede um limite que a calculadora impõe ao próprio tempo de execução, como em /calculate.