Problem Report Number |
0016 |
Submitter's Classification |
Test Suite problem |
State |
Resolved |
Resolution |
Test Suite Deficiency (TSD) |
Problem Resolution ID |
TSD.PX.0007 |
Raised |
2004-05-08 05:20 |
Updated |
2004-05-10 20:58 |
Published |
2004-05-10 20:58 |
Product Standard |
1003.1-2003 System Interfaces |
Certification Program |
POSIX Certified by IEEE and The Open Group |
Test Suite |
VSX-PCTS2003 version 1.0a |
Test Identification |
/tset/C99.os/fenv/fegetround/T.fegetround 1
/tset/C99.os/fenv/fesetround/T.fesetround 1 |
Problem Summary |
The tests for fesetround and fegetround assume that all the rounding
modes are defined or none are |
Problem Text |
The tests for fesetround and fegetround assume that all the rounding
modes are defined or none are. The assumption is in #ifdefs, where if
any of the rounding modes aren't defined, the test goes and makes sure
that no value of fesetround succeeds. If some but not all of the
rounding modes are defined, this causes test failure. |
Test Output |
/tset/C99.os/fenv/fegetround/T.fegetround 1 Failed
Test Description:
If the implementation supports the rounding direction macro:
A successful call to fegetround() returns the distinct non-
negative value of the rounding direction macro representing the
current rounding direction.
Otherwise:
A call to fegetround() returns a negative value.
Test Strategy:
CREATE child.
IF the implementation supports the rounding direction macros:
FOR each rounding mode:
CALL fesetround() to set the rounding direction.
CALL fegetround() and verify that it returns the value set by
fesetround().
OTHERWISE:
CALL fegetround() and verify that it returns a negative value.
Test Information:
fegetround() returned 1, expecting a negative value
/tset/C99.os/fenv/fesetround/T.fesetround 1 Failed
Test Description:
If the implementation supports the rounding direction macros:
When the parameter is set to FE_DOWNWARD, FE_TONEAREST,
FE_TOWARDZERO or FE_UPWARD, then a successful call to
fesetround(round) sets the current rounding direction to the
direction specified and returns 0.
Otherwise:
A call to fesetround(round) returns a non-zero value.
Test Strategy:
CREATE child.
IF the implementation supports the rounding direction macros:
FOR each rounding mode and for positive and negative double
values:
CALL fesetround() using the specified rounding mode, and verify
that it returns 0.
CALL nearbyint(), and verify that it returns a result rounded in
the correct direction.
OTHERWISE:
FOR various values:
CALL fesetround() and verify that it returns non-zero.
Test Information:
fesetround(1) returned zero unexpectedly |