[ 
https://issues.apache.org/jira/browse/DAFFODIL-2473?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17352753#comment-17352753
 ] 

Mike Beckerle commented on DAFFODIL-2473:
-----------------------------------------

I think it is straightforward to promote types from smaller to larger sizes, so 
long as we don't mix signed and unsigned.

For now we can just say use only both signed or both unsigned types, and issue 
a schema definition error otherwise.

> Need bit-wise AND, OR, NOT, and shift operations
> ------------------------------------------------
>
>                 Key: DAFFODIL-2473
>                 URL: https://issues.apache.org/jira/browse/DAFFODIL-2473
>             Project: Daffodil
>          Issue Type: New Feature
>          Components: Back End, Front End
>    Affects Versions: 3.0.0
>            Reporter: Mike Beckerle
>            Assignee: Samarth Sah
>            Priority: Major
>
> There are a number of data representations DFDL cannot handle because it 
> cannot manipulate numbers with sufficient flexibility in expressions.
> We need AND, OR, NOT, maybe XOR, and shift left, shift right, and probably 
> arithmetic shift right (which does sign-extension of signed numbers). We 
> should add functions for the whole set of them.
> On signed numbers with specific sizes (long, int, short, byte) these should 
> behave as if the data was binary in 2s complement representation, i.e., as if 
> the most-significant-bit was playing the role of 2s complement sign.
> These operations should all be undefined (Schema Def Error) on decimal, 
> integer, and non-negative integer values, as well as float and double.
> Specifically, these operations are defined on long and its subtypes, and 
> unsignedLong and its subtypes only.
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to