Report 2104 Actions
Problem Report Number |
2104 |
Submitter's Classification |
Specification problem |
State |
Resolved |
Resolution |
Test Suite Deficiency (TSD) |
Problem Resolution ID |
TSD.X.1069 |
Raised |
1998-06-09 08:00 |
Updated |
2003-03-13 08:00 |
Published |
1998-07-01 08:00 |
Product Standard |
Internationalised System Calls and Libraries Extended V2 (UNIX 98) |
Certification Program |
The Open Brand certification program |
Test Suite |
VSTH version 5.1.2 |
Test Identification |
PTHR.os/all/General 4 |
Problem Summary |
TSD5TH.00061 This failure is occuring because our implementation of scalb() returns NaN if the second argument is not an integer. XSH5 specifies the following for the scalb() function: The scalb() function compute... |
Problem Text |
This failure is occuring because our implementation of scalb() returns NaN if the second argument is not an integer. XSH5 specifies the following for the scalb() function:
The scalb() function computes x * r**n, where r is the radix of the machine's floating point arithmetic. When r is 2, scalb() is equivalent to ldexp().
It is not clear what scalb(-0.2, 0.5) should deliver because r is 2 on our implementation and ldexp() does not take a non-integral second argument. Our implementation of scalb() has always delivered NaN for non-integral values of n since the inception of the interface. We believe it to be a misuse of scalb() to pass a non-integral value as its second argument. Note that our implementation is in agreement with IEEE 754-1985, whereby the definition of scalb(y,N) specifies "for integral values of N". In addition, the example of its use in the definition of logb
scalb(x,-logb(x))
reflects that logb is defined to return a signed integral value, infinity, or NaN. As the purpose of this test is to test the thread safeness of scalb(), we would suggest that it be updated to not rely on an unspecified corner case of the scalb() function. We would suggest further that XSH5 be updated to explicitly outlaw the use of a non-integral second argument to scalb().
|
Test Output |
/tset/PTHR.os/all/General/T.General #4 200|1434 4 07:52:29|TP Start 520|1434 4 00000725 1 1|All functions defined by POSIX.1 and the C Standard 520|1434 4 00000725 1 2|except the following are thread safe 520|1434 4 00000725 1 3|asctime() 520|1434 4 00000725 1 4|ctime() 520|1434 4 00000725 1 5|getc_unlocked() 520|1434 4 00000725 1 6|getchar_unlocked() 520|1434 4 00000725 1 7|getgrgid() 520|1434 4 00000725 1 8|getgrnam() 520|1434 4 00000725 1 9|getlogin() 520|1434 4 00000725 1 10|getpwnam() 520|1434 4 00000725 1 11|getpwuid() [ non-relevant text deleted ] 520|1434 4 00000725 2753 6|Testing scalb() 520|1434 4 00000725 2785 1|Rt_tries: 0, Rt_hits 0 520|1434 4 00000725 2785 2|Rt_enter: 16, Rt_exit 0 520|1434 4 00000725 2785 3|scalb() unresolved [ non-relevant text deleted ] 520|1434 4 00000725 4033 1|Rt_tries: 37, Rt_hits 30 520|1434 4 00000725 4033 2|Rt_enter: 37, Rt_exit 37 520|1434 4 00000725 4033 3|yn() passed 220|1434 4 2 08:08:12|UNRESOLVED 410|1434 4 1 08:08:12|IC End
|
Review Information
Review Type |
TSMA Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Recommendation |
No Resolution Given |
Review Response |
This should be forwarded to the working group for review with the recommendation to accept the case as stated by the applicant. If the working group concurs then the test will be updated to use an integral argument for n.
|
Review Type |
SA Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Resolution |
No Resolution Given |
Review Conclusion |
This request is being sent for a 14 day review.
|
Review Type |
Expert Group Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Resolution |
No Resolution Given |
Review Conclusion |
The group agrees with the submittor.Since scalb()'s description says scalb() is equivalent to ldexp() when an implementation's r value is 2. A test for thread safety of functions should not be using undefined features of the functions being tested.
|
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:
|