I think it's partially a matter of implementation convenience. Note, also, that J currently does not support gaussian integers except for those which can be represented using ieee-754 64 bit binary floating point, and:
datatype 100000000000000000000000x 1 extended datatype 100000000000000000000000x 1j0 |ill-formed number Thanks, -- Raul On Fri, Nov 22, 2019 at 12:44 PM Skip Cave <[email protected]> wrote: > > So the question is still: why not simply always store 1j0 as a complex type > internally? > What is preventing the J interpreter J from detecting 1j0, and storing it > internally as a complex value?: > > datatype 1j0 > complex > > ????? > > Skip Cave > Cave Consulting LLC > > > On Fri, Nov 22, 2019 at 11:36 AM Don Guinn <[email protected]> wrote: > > > datatype{.0 1j1 > > complex > > > > On Fri, Nov 22, 2019, 10:29 AM Skip Cave <[email protected]> wrote: > > > > > datatype >.1j0 1j1 > > > > > > complex > > > > > > datatype 1j0 1j0 > > > > > > integer > > > > > > > > > Why not just always store 1j0 internally as a complex type? 1j1 gets > > stored > > > as compex. > > > Skip Cave > > > Cave Consulting LLC > > > > > > > > > On Fri, Nov 22, 2019 at 10:58 AM Raul Miller <[email protected]> > > > wrote: > > > > > > > (1 j.0) would be one way of writing a constant that produces a complex > > > > precision with imaginary part 0. > > > > > > > > Thanks, > > > > > > > > -- > > > > Raul > > > > > > > > On Fri, Nov 22, 2019 at 5:20 AM Henry Rich <[email protected]> > > wrote: > > > > > > > > > > 1/ Because the decoration comes before the value, it was easier to > > put > > > > > the 0 at the beginning of the display. That's a weak argument, but > > > > > that's why I did it that way. > > > > > > > > > > 2/ I was just thinking about this last night. You're right, for > > > > > consistency complex values should be decorated. But the point of the > > > > > decoration is to have a linear form that faithfully reproduces the > > > > > value. 1j0 does not produce a complex value. Before the decoration, > > > we > > > > > need to agree on a way to write a constant that produces a complex > > > > > precision with imaginary part 0. > > > > > > > > > > 3/ I defer to Bill on this. > > > > > > > > > > Henry Rich > > > > > > > > > > On 11/22/2019 1:04 AM, Kirk Iverson wrote: > > > > > > A recent thread in the programming forum (00 strange?) inspired me > > to > > > > look at this new behaviour in 901. > > > > > > > > > > > > NB. Numeric > > > > > > datatype&.> 'b i f x c'=. 0 1;(0 1+0);(0 1%1);0 1x;0,1j1-0j1 > > > > > > +-------+-------+--------+--------+-------+ > > > > > > |boolean|integer|floating|extended|complex| > > > > > > +-------+-------+--------+--------+-------+ > > > > > > b&+ > > > > > > 0 1&+ > > > > > > i&+ > > > > > > 00 1&+ <== (1) > > > > > > f&+ > > > > > > 0 1.&+ > > > > > > x&+ > > > > > > 0 1x&+ > > > > > > c&+ > > > > > > 0 1&+ <== (2) > > > > > > > > > > > > > > > > > > NB. Character > > > > > > d=. (0{a.);'abc' > > > > > > 'lctrl lascii'=. d > > > > > > 'uctrl uascii'=. u:&.> d > > > > > > 'Uctrl Uascii'=. 10 u:&.> d > > > > > > datatype&.>lctrl;lascii;uctrl;uascii;Uctrl;Uascii > > > > > > +-------+-------+-------+-------+--------+--------+ > > > > > > |literal|literal|unicode|unicode|unicode4|unicode4| > > > > > > +-------+-------+-------+-------+--------+--------+ > > > > > > lctrl&, > > > > > > (00{a.)&, > > > > > > lascii&, > > > > > > 'abc'&, > > > > > > uctrl&, > > > > > > (u: 00)&, > > > > > > uascii&, > > > > > > (u: 97 98 99)&, <== (3) > > > > > > Uctrl&, > > > > > > (10&u: 00)&, > > > > > > Uascii&, > > > > > > (10&u: 97 98 99)&, <== (3) > > > > > > > > > > > > > > > > > > 1/ Is there a reason that it is the first element of an integer > > array > > > > which has extra decoration, rather than the last element (as in the > > other > > > > cases)? > > > > > > > > > > > > 2/ Shouldn't this display as 0 1j0&+ ? > > > > > > Also, when interpreting constants in a line of J: > > > > > > 0 1 is boolean > > > > > > 00 1 is integer > > > > > > 0 1. is floating > > > > > > 0 1x is extended (as is 0 1r1) > > > > > > 0 1j0 is integer > > > > > > Shouldn't this last one be complex? > > > > > > > > > > > > 3/ Can the representations of uascii and Uascii make use of > > literals > > > > (like lascii does)? > > > > > > > > > > > > /K > > > > > > > > > ---------------------------------------------------------------------- > > > > > > For information about J forums see > > > http://www.jsoftware.com/forums.htm > > > > > > > > > > > > ---------------------------------------------------------------------- > > > > > For information about J forums see > > http://www.jsoftware.com/forums.htm > > > > ---------------------------------------------------------------------- > > > > For information about J forums see http://www.jsoftware.com/forums.htm > > > > > > > ---------------------------------------------------------------------- > > > For information about J forums see http://www.jsoftware.com/forums.htm > > > > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
