Scale Mapper

Language English Español Português العربية Русский 中文

This page answers:My 0–10 scores — what are they on the engine's −10 to +10 scale?

The mapping comes from the engine source app_v4.2.py line 205, mapped = round(v*2-10, 2); the reverse (v+10)/2 is its inverse. Round-half-to-even is handled by pyRound() to match Python. This page adds no algorithm of its own.

What this page is
· It is not a new algorithm: it lifts that one dimension-mapping line out of the engine so you can work it by hand or check it.
· Boundary: an input outside 0–10 (or −10 to +10) is not clipped, it is simply run through the formula —— the engine does not clip either.

[Evidence section · where to check each number]
① Source: the algorithm-porting domestic machine, /opt/curve_engine/app_v4.2.py line 205, mapped_vals = [round(v * 2 - 10, 2) for v in vals] (read-only); the reverse (v+10)/2 is its inverse; the contract card /opt/contracts/curve_engine.md line 78 registers that line number (“the single dimension formula”).
② Three categories
· [Verifiable] The two formulas, forward ×2−10 and reverse (v+10)/2, plus round-half-to-even (pyRound() matching Python's round).
· [This page's presentation choice] The row/column layout of the value-by-value table, its arrows and its header text —— that is page layout, not source-code output.
· [No source found] None: this page has a single formula and its source is line 205.
③ How to check it yourself: 3.2 forward → 3.2×2−10 = −3.6; take −3.6 back → (−3.6+10)/2 = 3.2, and it should round-trip to the original value. Note that going out of range does not clip (entering 12 gives 14); the engine does not clip either.

What you can do next

Curve Diagnosis

Paste in a series of numbers and see which stage it is in

Why this link: This page outputs number_series, and this slice takes number_series as its input
Generated by /opt/slices_build/build.py from the spec /_shared/slices/score-map.json — to change this page, edit the spec and re-run the generator; never hand-edit the HTML.