On Thu, May 19, 2016 at 12:37 AM, Xiao-Yong Jin wrote:
> Now,
>       (22⍴8)⊤2⊥63⍴1
> 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>
> Dyalog does the same thing.
> Can someone please explain to me why?

Because the result of ⊥ doesn't fit into integer and it gets converted to a
floating point number which makes it lose precision.  This is contrary to what
you would like, sorry about that, but now (¯1+2*63)=2⊥63⍴1 which is
mathematically correct; although it's also true that (2*63)=¯1+2*63.

-k

Reply via email to