Skip to content

Review and round out decimal64 testing #1

@anzdaddy

Description

@anzdaddy

A key concern is accurate numeric outcomes for all arithmetic operations, including parsing and formatting. The last thing we want is some variant of 0.1 + 0.1 + 0.1 ≠ 0.3.

Some thought needs to go into the completeness of the tests such that all conceivable edge cases are covered. The following is a reasonably thorough but incomplete set of cases to consider.

  1. Boundaries such as the largest and smallest possible exponent
  2. Every combination of positive and negative arguments
  3. Every combination of kinds of arguments (SNaN, QNaN, ±∞, ±normal, ±subnormal, ±0)
    1. Make sure to include the largest and smallest ±normals and ±subnormals.
  4. Numbers close to ±0
  5. The smallest normal number and its neighborhood
  6. ±10ⁱ and its neighborhood for every representable i
  7. ±2ⁱ and its neighborhood for every representable i
  8. Operations jumping numbers into different phases (e.g., doubling ±the largest number = ±∞, halving ±the smallest number = ±0. Consider this for every operation
  9. Parsing massive numeric representations (e.g., a number with 5000 digits)
  10. Parsing out of range numbers (e.g., 1E1234 or 1E-1000)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions