Agree.  Tracker updated.

Regards
 
Steve Hanson
Architect,
IBM DFDL
Co-Chair,
OGF DFDL Working Group
IBM SWG, Hursley, UK

smh@uk.ibm.com
tel:+44-1962-815848




From:        Mike Beckerle <mbeckerle.dfdl@gmail.com>
To:        Steve Hanson/UK/IBM@IBMGB
Date:        10/12/2014 21:12
Subject:        Re: [DFDL-WG] Binary decimal virtual point - unparsing behaviour




(a) is more conservative, so I tend to want to go with that.

We have rounding functions in our DFDL expression language.

We know we're already on a design point here where the application will have to implement truncation/rounding logic after any arithmetic operation that can mess with the number of fraction digits that will be expressed.

You'd like to think that would be only multiplication/division - but I'm not sure. Much depends on what is happening with xs:decimal values in the application, and also depends on what the representation of xs:decimal values is, in the application that is manipulating them.

The simplest way to see the issue is imagine the application is taking decimal numbers, converting them to float, operating on float, and then storing the result back into a decimal value of the DFDL infoset.

Consider 1.10 decimal. If you convert to float and back, you might get 1.099609375. This looks like it has a lot more precision, but in fact it is the closest decimal value to the binary float value closest to 1.1 (decimal).

An application has to implement base 10 rounding or truncation on the fractional part in order to insure that the behavior makes sense.



Mike Beckerle | OGF DFDL Workgroup Co-Chair | Tresys Technology | www.tresys.com
Please note: Contributions to the DFDL Workgroup's email discussions are subject to the OGF Intellectual Property Policy


On Wed, Dec 10, 2014 at 2:21 PM, Steve Hanson <smh@uk.ibm.com> wrote:
Sorry, but I need a clarification on this.  

Spec says ""
When unparsing a binary number (packed decimal or twos-complement) and excess precision is supplied in the Infoset no rounding occurs. It is a processing error.""

Technically, precision is the number of digits, and trailing zeros are significant even after a decimal point.


So is it a processing error if I supply an infoset decimal value of 123.990 and a BDVP of 2?  While this can be serialized to an integer, the original decimal has excess precision.


Similarly for an infoset decimal value of 12300.0 and a BDVP of -2. This can be serialized to an integer, but the original decimal has excess precision.


What this amounts to is whether we give a processing error a) whenever the infoset supplies excess precision, or b) only when the excess precision results in a decimal that can't be converted into an integer.

 

Regards

 
Steve Hanson
Architect,
IBM DFDL
Co-Chair,
OGF DFDL Working Group
IBM SWG, Hursley, UK

smh@uk.ibm.com
tel:
+44-1962-815848



From:        
Steve Hanson/UK/IBM
To:        
DFDL-WG <dfdl-wg@ogf.org>
Date:        
09/12/2014 17:45
Subject:        
Re: Binary decimal virtual point - unparsing behaviour



DFDL WG agreed that this is a processing error.
http://redmine.ogf.org/issues/249

Regards
 
Steve Hanson
Architect,
IBM DFDL
Co-Chair,
OGF DFDL Working Group
IBM SWG, Hursley, UK

smh@uk.ibm.com
tel:
+44-1962-815848




From:        
Steve Hanson/UK/IBM
To:        
DFDL-WG <dfdl-wg@ogf.org>
Date:        
05/12/2014 11:05
Subject:        
Binary decimal virtual point - unparsing behaviour



I am not finding anywhere in the DFDL spec that says explicitly what happens during unparsing when a decimal value is given to the unparser, and its rep is binary, and the BDVP is not sufficient to remove the decimal point from the value. This is surely a processing error, because the spec states in section 13.7.1 "
When unparsing a binary number (packed decimal or twos-complement) and excess precision is supplied in the Infoset no rounding occurs. It is a processing error."  

Regards
 
Steve Hanson
Architect,
IBM DFDL
Co-Chair,
OGF DFDL Working Group
IBM SWG, Hursley, UK

smh@uk.ibm.com
tel:
+44-1962-815848
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU



Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU

Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU


--
  dfdl-wg mailing list
 
dfdl-wg@ogf.org
 
https://www.ogf.org/mailman/listinfo/dfdl-wg


Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU