<....@o. violates the property that f...@g y and f g y are equivalent, in the name of functionality. If you just say o. y, that is a non-rational function, and the system must return a non-rational result, i.e. a 64-bit floating point result. If you apply <. to that, it is still fixed precision number.
In contrast, with <....@o., the system "knows" that you want the floor of pi times, and performs the pi times with enough digits so that the floor of it is correct for the number of digits you had in your argument. <....@o. y is a rational function. <.o.y is not. Historically, the special treatment of <....@f (and >....@f) was devised at a time when J had extended precision integers but no rationals. In such a situation having the special treatment for <....@f is essential for the case where f is % (divide). ----- Original Message ----- From: Henry Rich <henryhr...@nc.rr.com> Date: Wednesday, December 15, 2010 2:14 Subject: Re: [Jprogramming] Extended precision pi To: Programming forum <programming@jsoftware.com> > Ask yourself: if someone asked you to write down pi times 10^20, > what > would you do? How many decimal digits would you > keep? Any answer would > be arbitrary - you might as well just store the number in > scientific > notation. For all you know the next thing they're going to > do is > multiply the number by 10x^100. > > That's o. 10x^20 . > > Then they come along later - <. - and say 'now tell me the > integer > part', and you have to admit that you chose not to save it all. > > It's a different story if they tell you up front that they want > the > integer part of pi times 10^20. That's <....@o. 10x^20 > . You know when > you calculate o. 10x^20 that it is not required to arbitrary > precision, > that in fact only the integer part is needed, so you can save > that part > accurately. > > Henry Rich > > On 12/15/2010 4:20 AM, Robert Goudie wrote: > > I would like to understand (in English!) the role @ plays in > Roger Hui's > > extended precision arithmetic example of Pi: > > > > > > > > <....@o.10x^20 > > > > 314159265358979323846 > > > > > > > > whereas if @ is left out the output format is in scientific > notation.> > > > > > > <.o.10x^20 > > > > 3.14159e20 > > > > > > > > Is this binding Pi Times to a floor / integer representation? > > > > > > > > Thanks > > > > Rob > > > > --------------------------------------------------------------- > ------- > > 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