Skip to content

B5 Coverage Issue #96

@Lamarr3314

Description

@Lamarr3314
  1. Remove sign cross from test 9: "One number for every exponent in the range [MinNorm.exp, MinNorm.exp + 5]" There are no restrictions on the sign in this description:
    BF16
    F16
    F32
    F64
    F128
  2. Correct the sign cross for each precision and each test. Every precision uses F32_sign:
    BF16
    F16
    F64
    F128
  3. Correct the check for minSubNorm+-3ulp. Our updated definition for +-3ulp is that the last bit is the sticky bit, an or of the remaining bits.
    BF16
    F16
    F32
    F64
    F128
  4. Correct the supported operations. The support operations are: Multiplication, Division, FMA, and High to Low Precision Converts, addition and subtraction.
    Operations Coverpoint
  5. For Division, remove cross for MinNorm+-3ulp. It is difficult to reliably hit these values using division and considering that we need exact precision, we cannot use guess and check with softfloat to hit these values.
  6. For addition and subtraction, restrict crosses to the possible results. The smallest result of an addition or subtraction is minSubNorm. Anything below should be excluded. Any values above this limit must be a multiple of minSN to be included in the tests.
  7. Correct the check for minNorm +-3ulp. This should use our new definition where the last bit is an or of the remaining bits.
    MinNorm+-3ulp examples BF_16:
    MinNorm - 3 ulp:
    0.1111_111|01 <- last bit represents an or of the remaining bits
    MinNorm - 2 ulp:
    0.1111_111|10
    MinNorm - 1 ulp:
    0.1111_111|11
    MinNorm + 0 ulp:
    1.0000_000|00
    MinNorm + 1 ulp:
    1.0000_000|01
    MinNorm + 2 ulp:
    1.0000_000|10
    MinNorm + 3 ulp:
    1.0000_000|11
    BF_16 MinSubNorm +- 3 ulp examples:
    MinSubNorm - 3 ulp:
    0.0000_000|01 <- last bit represents an or of the remaining bits
    MinSubNorm - 2 ulp:
    0.0000_000|10
    MinSubNorm - 1 ulp:
    0.0000_000|11
    MinSubNorm - 0 ulp:
    0.0000_001|00
    MinSubNorm + 1 ulp:
    0.0000_001|01
    MinSubNorm + 2 ulp:
    0.0000_001|10
    MinSubNorm + 3 ulp:
    0.0000_001|11

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions