{
  "cases": [
    {
      "id": "international-inches-to-centimetres",
      "inputs": {
        "value": "2.5",
        "from_unit_id": "cx:in_i",
        "to_unit_id": "cx:cm",
        "quantity_kind": "length",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "127",
          "denominator": "20",
          "pi_power": 0
        },
        "decimal": "6.35e0",
        "binary64_hex": "4019666666666666",
        "binary64_status": "finite"
      },
      "source": "https://www.legislation.gov.uk/ukpga/1985/72/schedule/1/part/VI/paragraph/wrapper1n2",
      "derivation": "Multiply by exactly 2.54 cm per inch."
    },
    {
      "id": "international-yards-to-millimetres",
      "inputs": {
        "value": "1.25",
        "from_unit_id": "cx:yd_i",
        "to_unit_id": "cx:mm",
        "quantity_kind": "length",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "1143",
          "denominator": "1",
          "pi_power": 0
        },
        "decimal": "1.143e3",
        "binary64_hex": "4091dc0000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.legislation.gov.uk/ukpga/1985/72/schedule/1/part/VI/paragraph/wrapper1n2",
      "derivation": "One international yard is 914.4 mm. Multiply by 1.25."
    },
    {
      "id": "international-miles-to-decimetres",
      "inputs": {
        "value": "0.5",
        "from_unit_id": "cx:mi_i",
        "to_unit_id": "cx:dm",
        "quantity_kind": "length",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "201168",
          "denominator": "25",
          "pi_power": 0
        },
        "decimal": "8.04672e3",
        "binary64_hex": "40bf6eb851eb851f",
        "binary64_status": "finite"
      },
      "source": "https://www.legislation.gov.uk/ukpga/1985/72/schedule/1/part/VI/paragraph/wrapper1n2",
      "derivation": "Use 1760 yards per mile and 9.144 dm per yard."
    },
    {
      "id": "nautical-miles-to-metres",
      "inputs": {
        "value": "3.5",
        "from_unit_id": "cx:nmi",
        "to_unit_id": "cx:m",
        "quantity_kind": "length",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "6482",
          "denominator": "1",
          "pi_power": 0
        },
        "decimal": "6.482e3",
        "binary64_hex": "40b9520000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.nist.gov/pml/special-publication-811/nist-guide-si-appendix-b-conversion-factors/nist-guide-si-appendix-b9",
      "derivation": "Use exactly 1852 m per nautical mile."
    },
    {
      "id": "picometres-to-angstroms",
      "inputs": {
        "value": "250",
        "from_unit_id": "cx:pm",
        "to_unit_id": "cx:angstrom",
        "quantity_kind": "length",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "5",
          "denominator": "2",
          "pi_power": 0
        },
        "decimal": "2.5e0",
        "binary64_hex": "4004000000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.nist.gov/pml/special-publication-811/nist-guide-si-appendix-b-conversion-factors/nist-guide-si-appendix-b9",
      "derivation": "One angstrom is 10^-10 m, or exactly 100 pm."
    },
    {
      "id": "nanometres-to-micrometres",
      "inputs": {
        "value": "750",
        "from_unit_id": "cx:nm",
        "to_unit_id": "cx:um",
        "quantity_kind": "length",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "3",
          "denominator": "4",
          "pi_power": 0
        },
        "decimal": "7.5e-1",
        "binary64_hex": "3fe8000000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "Use 1000 nanometres per micrometre."
    },
    {
      "id": "astronomical-units-to-metres",
      "inputs": {
        "value": "0.5",
        "from_unit_id": "cx:au",
        "to_unit_id": "cx:m",
        "quantity_kind": "length",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "74798935350",
          "denominator": "1",
          "pi_power": 0
        },
        "decimal": "7.479893535e10",
        "binary64_hex": "42316a5d2d360000",
        "binary64_status": "finite"
      },
      "source": "https://www.iau.org/static/resolutions/IAU2012_English.pdf",
      "derivation": "Take half of the exact IAU definition 149597870700 m per astronomical unit."
    },
    {
      "id": "mils-to-international-inches",
      "inputs": {
        "value": "125",
        "from_unit_id": "cx:mil",
        "to_unit_id": "cx:in_i",
        "quantity_kind": "length",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "1",
          "denominator": "8",
          "pi_power": 0
        },
        "decimal": "1.25e-1",
        "binary64_hex": "3fc0000000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.nist.gov/pml/special-publication-811/nist-guide-si-appendix-b-conversion-factors/nist-guide-si-appendix-b9",
      "derivation": "The length mil is one thousandth of an international inch."
    },
    {
      "id": "milligrams-to-micrograms",
      "inputs": {
        "value": "2.75",
        "from_unit_id": "cx:mg",
        "to_unit_id": "cx:ug",
        "quantity_kind": "mass",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "2750",
          "denominator": "1",
          "pi_power": 0
        },
        "decimal": "2.75e3",
        "binary64_hex": "40a57c0000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "Use 1000 micrograms per milligram."
    },
    {
      "id": "stones-to-avoirdupois-pounds",
      "inputs": {
        "value": "1.5",
        "from_unit_id": "cx:st",
        "to_unit_id": "cx:lb_av",
        "quantity_kind": "mass",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "21",
          "denominator": "1",
          "pi_power": 0
        },
        "decimal": "2.1e1",
        "binary64_hex": "4035000000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.legislation.gov.uk/ukpga/1985/72/schedule/1/part/VI/paragraph/wrapper1n2",
      "derivation": "One stone is exactly 14 avoirdupois pounds."
    },
    {
      "id": "grains-to-troy-ounces",
      "inputs": {
        "value": "240",
        "from_unit_id": "cx:grain",
        "to_unit_id": "cx:oz_tr",
        "quantity_kind": "mass",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "1",
          "denominator": "2",
          "pi_power": 0
        },
        "decimal": "5e-1",
        "binary64_hex": "3fe0000000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.legislation.gov.uk/uksi/1995/1804/schedule/made",
      "derivation": "A troy ounce contains 480 grains."
    },
    {
      "id": "us-short-tons-to-kilograms",
      "inputs": {
        "value": "0.5",
        "from_unit_id": "cx:ton_us",
        "to_unit_id": "cx:kg",
        "quantity_kind": "mass",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "45359237",
          "denominator": "100000",
          "pi_power": 0
        },
        "decimal": "4.5359237e2",
        "binary64_hex": "407c597a58f7121b",
        "binary64_status": "finite"
      },
      "source": "https://nvlpubs.nist.gov/nistpubs/hb/2026/NIST.HB.44-2026.pdf",
      "derivation": "Half a US short ton is 1000 pounds of 0.45359237 kg each."
    },
    {
      "id": "uk-long-tons-to-kilograms",
      "inputs": {
        "value": "0.5",
        "from_unit_id": "cx:ton_uk",
        "to_unit_id": "cx:kg",
        "quantity_kind": "mass",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "317514659",
          "denominator": "625000",
          "pi_power": 0
        },
        "decimal": "5.080234544e2",
        "binary64_hex": "407fc06011b88f28",
        "binary64_status": "finite"
      },
      "source": "https://www.legislation.gov.uk/ukpga/1985/72/schedule/1/part/VI/paragraph/wrapper1n2",
      "derivation": "Half a UK long ton is 1120 pounds of 0.45359237 kg each."
    },
    {
      "id": "milliseconds-to-microseconds",
      "inputs": {
        "value": "0.001",
        "from_unit_id": "cx:ms",
        "to_unit_id": "cx:us",
        "quantity_kind": "duration",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "1",
          "denominator": "1",
          "pi_power": 0
        },
        "decimal": "1e0",
        "binary64_hex": "3ff0000000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "Multiply by 1000 microseconds per millisecond."
    },
    {
      "id": "nanoseconds-to-picoseconds",
      "inputs": {
        "value": "0.125",
        "from_unit_id": "cx:ns",
        "to_unit_id": "cx:ps",
        "quantity_kind": "duration",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "125",
          "denominator": "1",
          "pi_power": 0
        },
        "decimal": "1.25e2",
        "binary64_hex": "405f400000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "Multiply by 1000 picoseconds per nanosecond."
    },
    {
      "id": "picoseconds-to-seconds",
      "inputs": {
        "value": "250",
        "from_unit_id": "cx:ps",
        "to_unit_id": "cx:s",
        "quantity_kind": "duration",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "1",
          "denominator": "4000000000",
          "pi_power": 0
        },
        "decimal": "2.5e-10",
        "binary64_hex": "3df12e0be826d695",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "Multiply by 10^-12 seconds per picosecond."
    },
    {
      "id": "arcminutes-to-arcseconds",
      "inputs": {
        "value": "2.5",
        "from_unit_id": "cx:arcmin",
        "to_unit_id": "cx:arcsec",
        "quantity_kind": "plane_angle",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "150",
          "denominator": "1",
          "pi_power": 0
        },
        "decimal": "1.5e2",
        "binary64_hex": "4062c00000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.nist.gov/pml/special-publication-811/nist-guide-si-appendix-b-conversion-factors/nist-guide-si-appendix-b9",
      "derivation": "One arcminute is 60 arcseconds. The common pi factors cancel."
    },
    {
      "id": "eighth-turn-to-radians",
      "inputs": {
        "value": "0.125",
        "from_unit_id": "cx:turn",
        "to_unit_id": "cx:rad",
        "quantity_kind": "plane_angle",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "1",
          "denominator": "4",
          "pi_power": 1
        },
        "decimal": "7.853981633974483096156608458198757e-1",
        "binary64_hex": "3fe921fb54442d18",
        "binary64_status": "finite"
      },
      "source": "https://www.nist.gov/pml/special-publication-330/sp-330-section-2",
      "derivation": "A full turn is 2 pi radians, so one eighth is pi/4."
    },
    {
      "id": "gons-to-degrees",
      "inputs": {
        "value": "50",
        "from_unit_id": "cx:gon",
        "to_unit_id": "cx:deg",
        "quantity_kind": "plane_angle",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "45",
          "denominator": "1",
          "pi_power": 0
        },
        "decimal": "4.5e1",
        "binary64_hex": "4046800000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.nist.gov/pml/special-publication-811/nist-guide-si-appendix-b-conversion-factors/nist-guide-si-appendix-b9",
      "derivation": "A turn is 400 gon or 360 degrees, so 50 gon is 45 degrees."
    },
    {
      "id": "milliradians-to-degrees",
      "inputs": {
        "value": "500",
        "from_unit_id": "cx:mrad",
        "to_unit_id": "cx:deg",
        "quantity_kind": "plane_angle",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "90",
          "denominator": "1",
          "pi_power": -1
        },
        "decimal": "2.864788975654116043839907740705259e1",
        "binary64_hex": "403ca5dc1a63c1f8",
        "binary64_status": "finite"
      },
      "source": "https://www.nist.gov/pml/special-publication-330/sp-330-section-2",
      "derivation": "500 milliradians equals half a radian. Multiply by 180/pi degrees per radian."
    },
    {
      "id": "arcseconds-to-radians",
      "inputs": {
        "value": "30",
        "from_unit_id": "cx:arcsec",
        "to_unit_id": "cx:rad",
        "quantity_kind": "plane_angle",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "1",
          "denominator": "21600",
          "pi_power": 1
        },
        "decimal": "1.454441043328607980769742307073844e-4",
        "binary64_hex": "3f23104b57cf96a3",
        "binary64_status": "finite"
      },
      "source": "https://www.nist.gov/pml/special-publication-811/nist-guide-si-appendix-b-conversion-factors/nist-guide-si-appendix-b9",
      "derivation": "Divide 30 arcseconds by 3600 to obtain degrees, then multiply by pi/180."
    },
    {
      "id": "revolutions-per-minute-to-radians-per-second",
      "inputs": {
        "value": "45",
        "from_unit_id": "cx:rpm",
        "to_unit_id": "cx:rad_s",
        "quantity_kind": "angular_velocity",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "3",
          "denominator": "2",
          "pi_power": 1
        },
        "decimal": "4.712388980384689857693965074919254e0",
        "binary64_hex": "4012d97c7f3321d2",
        "binary64_status": "finite"
      },
      "source": "https://www.nist.gov/pml/special-publication-811/nist-guide-si-chapter-8",
      "derivation": "Multiply by 2 pi radians per revolution and divide by 60 seconds per minute."
    },
    {
      "id": "radians-per-second-to-revolutions-per-minute",
      "inputs": {
        "value": "2.5",
        "from_unit_id": "cx:rad_s",
        "to_unit_id": "cx:rpm",
        "quantity_kind": "angular_velocity",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "75",
          "denominator": "1",
          "pi_power": -1
        },
        "decimal": "2.387324146378430036533256450587715e1",
        "binary64_hex": "4037df8cc0a876f9",
        "binary64_status": "finite"
      },
      "source": "https://www.nist.gov/pml/special-publication-811/nist-guide-si-chapter-8",
      "derivation": "Multiply by 60 seconds per minute and divide by 2 pi radians per revolution."
    },
    {
      "id": "standard-gravity-to-metres-per-second-squared",
      "inputs": {
        "value": "2",
        "from_unit_id": "cx:g0",
        "to_unit_id": "cx:m_s2",
        "quantity_kind": "acceleration",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "196133",
          "denominator": "10000",
          "pi_power": 0
        },
        "decimal": "1.96133e1",
        "binary64_hex": "40339d013a92a305",
        "binary64_status": "finite"
      },
      "source": "https://www.nist.gov/pml/special-publication-811/nist-guide-si-appendix-b-conversion-factors/nist-guide-si-appendix-b9",
      "derivation": "Use the standard acceleration 9.80665 m/s²."
    },
    {
      "id": "gal-to-metres-per-second-squared",
      "inputs": {
        "value": "75",
        "from_unit_id": "cx:Gal",
        "to_unit_id": "cx:m_s2",
        "quantity_kind": "acceleration",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "3",
          "denominator": "4",
          "pi_power": 0
        },
        "decimal": "7.5e-1",
        "binary64_hex": "3fe8000000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.nist.gov/pml/special-publication-811/nist-guide-si-appendix-b-conversion-factors/nist-guide-si-appendix-b9",
      "derivation": "One gal is exactly one centimetre per second squared."
    },
    {
      "id": "square-inches-to-square-millimetres",
      "inputs": {
        "value": "2",
        "from_unit_id": "cx:in2_i",
        "to_unit_id": "cx:mm2",
        "quantity_kind": "area",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "32258",
          "denominator": "25",
          "pi_power": 0
        },
        "decimal": "1.29032e3",
        "binary64_hex": "40942947ae147ae1",
        "binary64_status": "finite"
      },
      "source": "https://www.legislation.gov.uk/ukpga/1985/72/schedule/1/part/VI/paragraph/wrapper1n2",
      "derivation": "Square 25.4 mm per inch and multiply by two."
    },
    {
      "id": "square-kilometres-to-square-metres",
      "inputs": {
        "value": "0.125",
        "from_unit_id": "cx:km2",
        "to_unit_id": "cx:m2",
        "quantity_kind": "area",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "125000",
          "denominator": "1",
          "pi_power": 0
        },
        "decimal": "1.25e5",
        "binary64_hex": "40fe848000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "Square 1000 m per kilometre."
    },
    {
      "id": "us-liquid-quarts-to-us-liquid-pints",
      "inputs": {
        "value": "3",
        "from_unit_id": "cx:qt_us",
        "to_unit_id": "cx:pt_us",
        "quantity_kind": "volume",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "6",
          "denominator": "1",
          "pi_power": 0
        },
        "decimal": "6e0",
        "binary64_hex": "4018000000000000",
        "binary64_status": "finite"
      },
      "source": "https://nvlpubs.nist.gov/nistpubs/hb/2026/NIST.HB.44-2026.pdf",
      "derivation": "One US liquid quart equals two US liquid pints."
    },
    {
      "id": "us-fluid-ounces-to-microlitres",
      "inputs": {
        "value": "2",
        "from_unit_id": "cx:floz_us",
        "to_unit_id": "cx:uL",
        "quantity_kind": "volume",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "473176473",
          "denominator": "8000",
          "pi_power": 0
        },
        "decimal": "5.9147059125e4",
        "binary64_hex": "40ece161e45a1cac",
        "binary64_status": "finite"
      },
      "source": "https://nvlpubs.nist.gov/nistpubs/hb/2026/NIST.HB.44-2026.pdf",
      "derivation": "A US gallon has 128 US fluid ounces and equals 231 cubic inches. Apply the exact inch and litre scales."
    },
    {
      "id": "imperial-quarts-to-imperial-pints",
      "inputs": {
        "value": "2.5",
        "from_unit_id": "cx:qt_imp",
        "to_unit_id": "cx:pt_imp",
        "quantity_kind": "volume",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "5",
          "denominator": "1",
          "pi_power": 0
        },
        "decimal": "5e0",
        "binary64_hex": "4014000000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.legislation.gov.uk/ukpga/1985/72/schedule/1/part/VI/paragraph/wrapper1n2",
      "derivation": "One imperial quart equals two imperial pints."
    },
    {
      "id": "imperial-fluid-ounces-to-microlitres",
      "inputs": {
        "value": "2",
        "from_unit_id": "cx:floz_imp",
        "to_unit_id": "cx:uL",
        "quantity_kind": "volume",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "454609",
          "denominator": "8",
          "pi_power": 0
        },
        "decimal": "5.6826125e4",
        "binary64_hex": "40ebbf4400000000",
        "binary64_status": "finite"
      },
      "source": "https://www.legislation.gov.uk/ukpga/1985/72/schedule/1/part/VI/paragraph/wrapper1n2",
      "derivation": "One imperial gallon is 4.54609 L and contains 160 imperial fluid ounces."
    },
    {
      "id": "international-cubic-yards-to-cubic-metres",
      "inputs": {
        "value": "1.5",
        "from_unit_id": "cx:yd3_i",
        "to_unit_id": "cx:m3",
        "quantity_kind": "volume",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "4479813621",
          "denominator": "3906250000",
          "pi_power": 0
        },
        "decimal": "1.146832286976e0",
        "binary64_hex": "3ff2596ccfe8f0df",
        "binary64_status": "finite"
      },
      "source": "https://www.legislation.gov.uk/ukpga/1985/72/schedule/1/part/VI/paragraph/wrapper1n2",
      "derivation": "Cube the exact international yard length 0.9144 m and multiply by 1.5."
    },
    {
      "id": "international-cubic-inches-to-cubic-millimetres",
      "inputs": {
        "value": "0.25",
        "from_unit_id": "cx:in3_i",
        "to_unit_id": "cx:mm3",
        "quantity_kind": "volume",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "2048383",
          "denominator": "500",
          "pi_power": 0
        },
        "decimal": "4.096766e3",
        "binary64_hex": "40b000c4189374bc",
        "binary64_status": "finite"
      },
      "source": "https://www.legislation.gov.uk/ukpga/1985/72/schedule/1/part/VI/paragraph/wrapper1n2",
      "derivation": "Cube 25.4 mm per inch and divide by four."
    },
    {
      "id": "cubic-millimetres-to-microlitres",
      "inputs": {
        "value": "125",
        "from_unit_id": "cx:mm3",
        "to_unit_id": "cx:uL",
        "quantity_kind": "volume",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "125",
          "denominator": "1",
          "pi_power": 0
        },
        "decimal": "1.25e2",
        "binary64_hex": "405f400000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "Both units are exactly 10^-9 cubic metres."
    },
    {
      "id": "percent-to-parts-per-million",
      "inputs": {
        "value": "0.125",
        "from_unit_id": "cx:percent",
        "to_unit_id": "cx:ppm",
        "quantity_kind": "ratio",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "1250",
          "denominator": "1",
          "pi_power": 0
        },
        "decimal": "1.25e3",
        "binary64_hex": "4093880000000000",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "One percent is 10^-2 and one part per million is 10^-6 of the same ratio."
    },
    {
      "id": "parts-per-million-to-unit-one",
      "inputs": {
        "value": "500",
        "from_unit_id": "cx:ppm",
        "to_unit_id": "cx:one",
        "quantity_kind": "ratio",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "exact": {
          "numerator": "1",
          "denominator": "2000",
          "pi_power": 0
        },
        "decimal": "5e-4",
        "binary64_hex": "3f40624dd2f1a9fc",
        "binary64_status": "finite"
      },
      "source": "https://www.bipm.org/en/publications/si-brochure",
      "derivation": "Apply exactly the 10^-6 scale for parts per million."
    },
    {
      "id": "turn-is-not-angular-velocity",
      "inputs": {
        "value": "1",
        "from_unit_id": "cx:turn",
        "to_unit_id": "cx:rpm",
        "quantity_kind": "angular_velocity",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "error": {
          "code": "QUANTITY_KIND_MISMATCH",
          "field": "quantity_kind"
        }
      },
      "source": "https://www.calculatorx.com/developers/units#execution",
      "derivation": "An angular displacement does not determine angular velocity without a time basis."
    },
    {
      "id": "angle-is-not-a-ratio-unit",
      "inputs": {
        "value": "1",
        "from_unit_id": "cx:rad",
        "to_unit_id": "cx:one",
        "quantity_kind": "ratio",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "error": {
          "code": "QUANTITY_KIND_MISMATCH",
          "field": "quantity_kind"
        }
      },
      "source": "https://www.calculatorx.com/developers/units#execution",
      "derivation": "The contract distinguishes plane angle and the ratio kind even though their SI dimensions coincide."
    },
    {
      "id": "volume-has-no-point-role",
      "inputs": {
        "value": "1",
        "from_unit_id": "cx:qt_imp",
        "to_unit_id": "cx:pt_imp",
        "quantity_kind": "volume",
        "role": "point",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "error": {
          "code": "UNIT_ROLE_MISMATCH",
          "field": "role"
        }
      },
      "source": "https://www.calculatorx.com/developers/units#execution",
      "derivation": "Both registered volume units support scalar values."
    },
    {
      "id": "mil-value-must-be-decimal-text",
      "inputs": {
        "value": "0x10",
        "from_unit_id": "cx:mil",
        "to_unit_id": "cx:in_i",
        "quantity_kind": "length",
        "role": "scalar",
        "snapshot": "0.3.0-preview.3"
      },
      "expected": {
        "error": {
          "code": "INVALID_INPUT",
          "field": "value"
        }
      },
      "source": "https://www.calculatorx.com/developers/units#execution",
      "derivation": "The decimal transport rejects hexadecimal notation."
    }
  ]
}
