You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@daffodil.apache.org by "Michael Beckerle (JIRA)" <ji...@apache.org> on 2018/02/02 22:22:01 UTC

[jira] [Created] (DAFFODIL-1889) binaryNumberRep='offsetBinary'

Michael Beckerle created DAFFODIL-1889:
------------------------------------------

             Summary: binaryNumberRep='offsetBinary'
                 Key: DAFFODIL-1889
                 URL: https://issues.apache.org/jira/browse/DAFFODIL-1889
             Project: Daffodil
          Issue Type: New Feature
          Components: Back End, Front End
            Reporter: Michael Beckerle
             Fix For: deferred


Implement the binaryNumberRep 'offsetBinary'. 

This is a good first project for someone new to the Daffodil code base.

This is a proposal for inclusion in the DFDL language, needed for some formats such as STANAG 5516. 

This is also called excess-K, or biased, but I think offset binary is a better description of it.

In this representation you take an unsigned binary, and just subtract an offset. E.g., for a 3-bit number, mostSignificantBitFirst:

bits    unsigned  twos-comp  offsetBinary

000       0         0          -4
001       1         1          -3
010       2         2          -2
011       3         3          -1
100       4        -4           0
101       5        -3           1
110       6        -2           2
111       7        -1           3        

At the moment, users have to work around this in Daffodil using inputValueCalc and outputValueCalc. This is feasible, but really awkward for such a simple concept.

The DFDL spec would change so table 13.7 allows 'offsetBinary' for the signed integer types.

The lengthKind would have to be implicit or explicit. (SDE otherwise).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)