*Synopsis*: [ku1] ksh93 does not differ between -0 and +0 CR 6805795 changed on Oct 28 2009 by <User 1-5HNZ8F>
=== Field ============ === New Value ============= === Old Value ============= Commit to Fix in Build snv_128 snv_127 Fixed in Build snv_128 Status 8-Fix Available 7-Fix in Progress ====================== =========================== =========================== *Change Request ID*: 6805795 *Synopsis*: [ku1] ksh93 does not differ between -0 and +0 Product: solaris Category: shell Subcategory: korn93 Type: Defect Subtype: Status: 8-Fix Available Substatus: Priority: 3-Medium Introduced In Release: solaris_nevada Introduced In Build: snv_72 Responsible Engineer: <User 1-7MTUEB> Keywords: opensolaris, oss-request, oss-sponsor === *Description* ============================================================ Category shell Sub-Category korn Description Original bug report was: ---------------- snip ---------------- Is there a reason why ksh93 does not display the negative sign for the value zero ? For example if I have use the C99 function "copysign" (copies absolute value of operant a and sign of operant b) I get this for { a=5, b=-0 }: -- snip -- $ ksh93 -c 'float x; (( x=copysign(5, -0) )) ; printf "%f\n" x' -5.000000 -- snip -- Now if I swap operands a and b I get this result: -- snip -- $ ksh93 -c 'float x; (( x=copysign(0, -5) )) ; printf "%f\n" x' 0.000000 -- snip -- AFAIK this result should be "-0.000000" ... or not ? BTW: Parsing of "-0" doesn't seem to work either, e.g. -- snip -- $ ksh93 -c 'float x a=-1 b=-0; (( x=copysign(a, b) )) ; printf "%f\n" x' 1.000000 -- snip -- ... while AFAIK it should be "-1.000000" since the 2nd operand of "copysign" defines the sign of the result. ---------------- snip ---------------- Frequency Always Regression No Steps to Reproduce Enter the following command which uses the C99 math function "copysign" to copy the sign of the 2nd operant to the absolute value of the first operand: $ ksh93 -c 'float x; (( x=copysign(0, -5) )) ; printf "%f\n" x' Expected Result -0.000000 Actual Result 0.000000 Error Message(s) None. Test Case See above. Workaround None. Additional configuration information Solaris 11/B106 *** (#1 of 1): 2009-02-16 03:13:39 GMT+00:00 <User 1-F4SZV> === *Public Comments* ======================================================== === *Workaround* ============================================================= === *Additional Details* ===================================================== Targeted Release: solaris_nevada Commit To Fix In Build: snv_128 Fixed In Build: snv_128 Integrated In Build: Verified In Build: See Also: 6437624, 6793763 Duplicate of: Hooks: Hook1: Hook2: Hook3: Hook4: Hook5: <email address omitted> Hook6: <email address omitted> Program Management: Root Cause: Inadequate Algorithm Fix Affects Documentation: No Fix Affects Localization: No === *History* ================================================================ Date Submitted: 2009-02-16 03:13:39 GMT+00:00 Submitted By: <User 1-F4SZV> Status Changed Date Updated Updated By 3-Accepted 2009-02-24 14:02:10 GMT+00:00 <User 1-1SURPB> 6-Fix Understood 2009-06-16 15:27:33 GMT+00:00 <User 1-1SURPB> 7-Fix in Progress 2009-10-23 18:12:34 GMT+00:00 <User 1-7MTUEB> 8-Fix Available 2009-10-28 18:23:34 GMT+00:00 <User 1-5HNZ8F> === *Service Request* ======================================================== Impact: Significant Functionality: Secondary Severity: 3 Product Name: solaris Product Release: solaris_nevada Product Build: snv_106 Operating System: solaris_nevada Hardware: generic Submitted Date: 2009-02-16 03:13:39 GMT+00:00 === *Multiple Release (MR) Cluster* - 0 ======================================