HomeAbout Us A-Z IndexSearch * Contact Us Register LoginPress Shop

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 0153 Details

Help Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges

This page provides all information on Problem Report 0153.


Report 0153 Actions


    Problem Report Number 0153
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0153
    Raised 1994-06-02 08:00
    Updated 2003-03-13 08:00
    Published 1994-06-08 08:00
    Product Standard Internationalised System Calls and Libraries (XPG4)
    Certification Program The Open Brand certification program
    Test Suite VSX4 version 4.3.2
    Test Identification ANSI.os/maths/sin 1
    Problem Summary TSD4.153 XPG4 no longer permits us to raise the TLOSS exception for sin(), cos() or tan(). This is a change from previous practice, but it is required for conformance. The TLOSS error was part of historic Unix...
    Problem Text
    XPG4 no longer permits us to raise the TLOSS exception for sin(),
    cos() or tan(). This is a change from previous practice, but
    it is required for conformance.

    The TLOSS error was part of historic Unix practice. To see how Unix
    implementations used to handle large arguments, refer to the SVID
    document. Under SVID, an implementation could, at its option, fix
    a maximum allowed argument value and then return TLOSS (Total Loss
    of Significance) if the argument exceeded that value.

    Now comes XPG4 with a different view. Refer to the X/Open CAE
    Specification, System Interfaces and Headers, Issue 4, page 397 for the
    definition of sin(). (The same language is also used for cos() and
    tan()). Under the 'Errors' section these words are used:

    ERRORS
    The sin() function may fail if

    EX [EDOM] The value of x is NaN or x is plus or minus Inf

    [ERANGE] The result underflows

    EX No other errors will occur. <<<<< NOTE THIS LINE!
    ...

    The sin() function may lose accuracy when its argument is far from zero.
    In other words, loss of accuracy for large arguments is expected and
    tolerated by the XPG4 standard. Large, non-infinite arguments are
    considered normal and we must return a value.

    This problem was reported via test error process in February 17, 1994.
    The test was modified for VSXrel 4.3.3 alpha release. We would like to
    get a waiver for VSX 4.3.2.

    .FE


    Test Output

    /tset/ANSI.os/maths/sin/T.sin 2 Failed

    Test Description:
    sin(), when called with a large argument that would cause total loss
    of significance either
    a. returns zero and sets errno to ERANGE;
    b. returns NaN and may set errno to ERANGE.

    Test Strategy:
    CALCULATE floating point constants using mlmachar().
    CREATE child
    REASSIGN stderr to /dev/null to avoid error output from maths
    functions.
    VERIFY sin(), when called with a large argument that would cause
    total loss of accuracy either
    a. returns zero and sets errno to ERANGE;
    b. returns NaN and may set errno to ERANGE.

    Test Information:
    RETURN VALUES: expected: 0, observed: -0.801611
    Bit Representation: expected value: \000\000\000\000\000\000\000\000
    Bit Representation: observed value: \277\351\246\314\107\012\302\276
    ERRNO VALUES: expected: 34 (ERANGE), observed: 0 (NO ERROR)

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    This is an accepted test suite deficiency which has already been
    rectified in VSX release 4.3.4. It is recommended that this be
    treated as a test suite deficiency.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution Test Suite Deficiency (TSD)
    Review Conclusion
    This is an agreed test suite deficiency.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority