*Synopsis*: [ku1] ksh93 does not differ between -0 and +0

CR 6805795 changed on Jun 17 2009 by <User 1-1SURPB>

=== Field ============ === New Value ============= === Old Value =============

Root Cause             Inadequate Algorithm                                   
====================== =========================== ===========================

     
*Change Request ID*: 6805795

*Synopsis*: [ku1] ksh93 does not differ between -0 and +0

  Product: solaris
  Category: shell
  Subcategory: korn93
  Type: Defect
  Subtype: 
  Status: 6-Fix Understood
  Substatus: 
  Priority: 3-Medium
  Introduced In Release: solaris_nevada
  Introduced In Build: snv_72
  Responsible Engineer: <User 1-1SURPB>
  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: 
        Fixed In Build: 
        Integrated In Build: 
        Verified In Build: 
  See Also: 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>


=== *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 ======================================


Reply via email to