[DFDL-WG] Binary decimal virtual point - unparsing behaviour

Steve Hanson smh at uk.ibm.com
Mon Jan 5 10:50:15 EST 2015


Agree.  Tracker updated.

Regards
 
Steve Hanson
Architect, IBM DFDL
Co-Chair, OGF DFDL Working Group
IBM SWG, Hursley, UK
smh at uk.ibm.com
tel:+44-1962-815848



From:   Mike Beckerle <mbeckerle.dfdl at gmail.com>
To:     Steve Hanson/UK/IBM at 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 at 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 at uk.ibm.com
tel:+44-1962-815848 



From:        Steve Hanson/UK/IBM 
To:        DFDL-WG <dfdl-wg at 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 at uk.ibm.com
tel:+44-1962-815848 




From:        Steve Hanson/UK/IBM 
To:        DFDL-WG <dfdl-wg at 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 at 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 at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ogf.org/pipermail/dfdl-wg/attachments/20150105/3da7b1db/attachment.html>


More information about the dfdl-wg mailing list