|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 0152 Details
Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges
This page provides all information on Problem Report 0152.
Report 0152 Actions
Problem Report Number 0152 Submitter's Classification Test Suite problem State Resolved Resolution Test Suite Deficiency (TSD) Problem Resolution ID TSD.X.0152 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/cos 2 Problem Summary TSD4.152 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 74 for the
definition of cos(). (The same language is also used for sin() and
tan()). Under the 'Errors' section these words are used:
ERRORS
The cos() 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 cos() 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 waiver request was filed earlier as under test error process. The
test has been changed for VSX4.3.3 alpha release. We would like to
apply for a waiver for VSX4.3.2.
.FETest Output
/tset/ANSI.os/maths/cos/T.cos 2 Failed
Test Description:
cos(), when called with a large argument which causes 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 cos() when called with an argument which will cause a 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.606632
Bit Representation: expected value: \000\000\000\000\000\000\000\000
Bit Representation: observed value: \277\343\151\206\260\107\166\074
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:
- View Report 0152
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority