Skip to content
문서 섹션

목표값 역산

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

계산기 출력 하나를 목표값으로 만드는 입력값(50 Ω이 되는 배선 폭, 목표 차동 임피던스가 되는 간격 등)을 찾아, 정확히 그 값에서 계산한 순방향 결과와 함께 반환합니다. 클라이언트가 직접 탐색하느라 쓰게 될 여러 번의 순방향 호출을, 집계되는 호출 한 번으로 대신합니다.

요청 본문

SolveRequest
필드설명
slug필수string계산기.
inputs필수object of numberssolveFor를 제외한 모든 입력. solveFor에 값을 주면 그것은 탐색의 시작점일 뿐이며, 해가 여러 개일 때 하나를 고르는 데 쓰입니다.
solveFor필수string계산기에 선언된 숫자 입력.
target.output필수string계산기가 반환하는 출력 키.
target.value필수number그 출력이 도달해야 할 값.
gridnumber양수인 제조 그리드. 반환되는 값은 범위 안에서 가장 가까운 그 배수로 반올림됩니다.
range[number, number]solveFor에 정해진 범위를 좁힙니다. 정해진 범위가 없으면 필수입니다.

응답

SolveResponse
필드설명
valuenumber구한 값. grid가 주어졌으면 그에 맞춰 반올림됩니다.
unroundednumber그리드로 반올림하기 전의 정확한 해.
reachedboolean목표값에 도달했는지 여부. false여도 추측이 아니라 찾은 값 중 가장 가까운 값이 담깁니다.
evaluationsinteger탐색에 쓴 순방향 평가 횟수.
warningsstring[]역산 자체의 판단: 범위 안의 또 다른 해, 또는 도달하지 못한 목표값.
resultobjectsolveFor를 value로 둔 입력에 대해 /calculate가 반환하는 것과 정확히 같습니다: values, warnings, errors, provenance.
slug, solveFor, target, gridecho요청의 필드를 주어진 그대로 반환합니다. grid가 주어지지 않았으면 null입니다.

비용과 여러 해

비용

집계되는 호출 한 번으로, 아래의 모든 검사를 거친 뒤 /calculate처럼 과금되며, 그 뒤 서비스 쪽에서 실패하면 되돌려집니다. 탐색으로 도달할 수 없는 목표값도 성공으로 처리되어, reached: false와 찾은 값 중 가장 가까운 값이 반환되고 과금됩니다. 호출자가 요청한 것을 서비스가 제공했기 때문입니다.

해가 여러 개인 경우

범위 안에서 출력이 목표값과 두 번 이상 만나면, 호출은 시작값(호출자가 solveFor에 지정한 값, 없으면 계산기의 기본값)에 가장 가까운 교점을 반환하고, 다른 교점을 알려 주는 경고를 추가합니다.

거부

풀 수 없는 요청은 과금 전에 거부되며, param에 문제가 된 필드가 표시됩니다:

역산 거부
상태발생 조건
404계산기 슬러그가 존재하지 않습니다.
400solveFor가 계산기에 선언된 숫자 입력이 아닙니다(param: solveFor, allowed 포함).
400target.output이 계산기의 출력이 아닙니다(param: target.output, allowed 포함).
400grid가 주어졌는데 유한한 양수가 아니거나, 범위 안에 배수가 없습니다.
400주어진 값(입력, target.value, 범위 경계) 중 하나가 유한하지 않습니다.
400solveFor에 정해진 범위가 없는데 본문에 range도 없거나, 주어진 범위가 정해진 범위 밖에 있거나 비어 있습니다.
400고정된 입력이, 계산기가 자체 실행 시간에 두는 제한을 넘습니다(/calculate와 같음).