Methodology

This page describes how GameCalcHub calculators are built and verified, so you can judge how much to trust a result.

Pure, inspectable formulas

Every calculator is implemented as a pure TypeScript function in the site's source code (under src/lib/calculators/). A pure function means the same inputs always produce the same output, with no hidden state and no network calls. The math is not buried inside UI code — it can be read, reviewed, and tested in isolation.

Each calculator page also states the formula it uses in plain language and math notation, along with a worked example. If a number on this site looks wrong, you can check the formula and the arithmetic yourself.

Unit tested

Calculator functions are covered by automated unit tests that run on every change. Tests cover the cases that usually break calculators:

  • normal, expected inputs,
  • zero and boundary values,
  • decimals and fractional inputs,
  • unit conversions (Mbps vs MB/s, GB vs GiB, metric vs imperial),
  • invalid or missing input, which must never produce NaN or Infinity on screen.

No rounding until display

Calculations keep full internal precision and are rounded only when formatted for display. A value shown as 51.0 cm/360 is computed from unrounded inputs — intermediate rounding is never allowed to compound into the final result.

Game constants

Game-specific values — such as sensitivity yaw constants used in conversions — live in static data files in the repository, not fetched from an API. Each constant is recorded with a lastReviewed date so stale values can be spotted and corrected. Because games change, these constants are treated as a maintained snapshot, not a guarantee; where a value matters competitively, verify it against the game's current settings.

Estimates and assumptions

Some tools produce estimates rather than exact answers — real-world download time, for example, depends on network efficiency. Where a calculator uses an assumption, that assumption is labeled on the page and, where practical, adjustable. Estimates are clearly separated from ideal-theoretical results.

Client-side by design

All computation happens in your browser. There is no server doing the math, which means the results are reproducible, instant, and private. If you find an error in any formula, the fastest fix is a report through the contact page.