Any expression involving !: is documented in the "Foreigns" section of the vocabulary:
https://www.jsoftware.com/help/dictionary/vocabul.htm leads (via the "Foreigns" link) to https://www.jsoftware.com/help/dictionary/xmain.htm which leads (via the "9!:" link) to https://www.jsoftware.com/help/dictionary/dx009.htm which documents the global comparison tolerance setting (among other things). There's also nuvoc https://code.jsoftware.com/wiki/NuVoc which also has a foreigns link which leads to https://code.jsoftware.com/wiki/Vocabulary/bangco which has another foreigns link which leads to https://code.jsoftware.com/wiki/Vocabulary/Foreigns and there's a section there for the 9!: foreigns https://code.jsoftware.com/wiki/Vocabulary/Foreigns#m9 (Personally, I still prefer the older presentation over the nuvoc presentation - it feels cleaner, to me. But nuvoc has its fans.) I hope this helps, -- Raul On Sat, May 16, 2020 at 6:31 AM 'Bo Jacoby' via Programming <programm...@jsoftware.com> wrote: > > Thanks everyone! > Devon, your solution > 9!:19]1e_11 > > +./4.57 4.34 4.44 > 0.01 > > looks palatable! I didn't know of 9!:19. Where to read more about it? > But > > +./18.457 18.434 18.444 > > 1.93197e_11 > > > > and > > 9!:19]1e_10 > > |domain error > > | 9!:19]1e_10 > > > > so it doesn't really solve the problem. > I agree that the square root of two is incommensurable to one > > 1+.%:2 > > 1.05427e_10 > > > Raul, "only if". It does work for > 0j16":2.3 3.7 0.67 > 2.2999999999999998 3.7000000000000002 0.6700000000000000 > > +./2.2999999999999998 3.7000000000000002 0.6700000000000000 > 0.01 > > Hauke, I agree labelling it a "problem". > Bill, " just use +./&.x: ". (+.&.x:) some times works while (+.) other > times works. Why not recode (+.) to make it work more often? > 0j16":%:7 > > 2.6457513110645907 > > +./2 3*%:7 NB. (+.) works > 2.64575 > > (+.&.x:)/2 3*%:7 NB. (+.&.x:) fails > 1.97617e_19 > > Mike, > > ABOUTJ_jijs_ > > |value error: ABOUTJ_jijs_ > > > > ???? > Thank you. This is educational for me. > Bo Den lørdag den 16. maj 2020 08.26.40 CEST skrev Raul Miller > <rauldmil...@gmail.com>: > > GCD is meant for exact numbers. > > It works fine with fractions, IF (and only if) the numbers you are > working with exactly represent the numbers you intend to manipulate. > For binary floating point numbers this would be sums of powers of 2 > which do not exceed the precision of the representation (for current J > on 64 bit machines: all divisors have to be powers of 2, you have 53 > bits of mantissa to work with and a limited range of exponents). > > 5r2 +. 7r2 > 1r2 > 2.5 +. 3.5 > 0.5 > > Thanks, > > > -- > Raul > > On Fri, May 15, 2020 at 11:17 PM bill lam <bbill....@gmail.com> wrote: > > > > Yes I agree GCD meant for whole numbers, so that +. on floating points can > > first convert to rational first and convert back to float afterwards > > +./&.x: 4.57 4.34 4.44 > > 0.01 > > x: is clever enough to find the shortest form of rational equal to the > > original floating number range > > (3!:3) 4.5700000000000003 > > > > e300000000000000 > > 0800000000000000 > > 0100000000000000 > > 0000000000000000 > > 48e17a14ae471240 > > (3!:3) 4.57 > > e300000000000000 > > 0800000000000000 > > 0100000000000000 > > 0000000000000000 > > 48e17a14ae471240 > > x: 4.5700000000000003 > > 457r100 > > x: 4.57 > > 457r100 > > > > That said, I don't see any real benefit for change, if a user want rational > > number behavior, he/she can use the form > > +./&.x: > > > > > > > > On Sat, May 16, 2020 at 7:18 AM Devon McCormick <devon...@gmail.com> wrote: > > > > > Since, AFAIK, GCD was originally defined in the context of whole numbers, > > > you probably get what you deserve using it with non-integers. > > > > > > On Fri, May 15, 2020 at 7:04 PM Raul Miller <rauldmil...@gmail.com> wrote: > > > > > > > It is odd, though, that even with comparison tolerance set to zero, +. > > > > is not associative on fractional floating point values: > > > > > > > > 9!:19]0 > > > > > > > > 0j16":,.+./4.57 4.34 4.44 > > > > 0.0000000000000036 > > > > 0j16":,.+./|.4.57 4.34 4.44 > > > > 0.0000000000290870 > > > > > > > > It is commutative though: > > > > (-:|:)+./@>{;~4.57 4.34 4.44 > > > > 1 > > > > 0j16":+./@>{;~4.57 4.34 4.44 > > > > 4.5700000000000003 0.0100000000000655 0.0099999999999758 > > > > 0.0100000000000655 4.3399999999999999 0.0200000000000466 > > > > 0.0099999999999758 0.0200000000000466 4.4400000000000004 > > > > > > > > I'm not quite sure what's going on here... maybe a built in epsilon > > > > which is independent of comparison tolerance? > > > > > > > > Thanks, > > > > > > > > -- > > > > Raul > > > > > > > > On Fri, May 15, 2020 at 6:53 PM Hauke Rehr <hauke.r...@uni-jena.de> > > > wrote: > > > > > > > > > > In case you are willing to accept labelling it a problem. > > > > > > > > > > As I mentioned by altering the thread’s subject, yes, > > > > > this ain’t a bug. But there may be an opportunity for > > > > > improvement without sacrifice. Or so do I think. > > > > > > > > > > > > > > > Am 16.05.20 um 00:49 schrieb 'Michael Day' via Programming: > > > > > > Not a new "bug" - I've still got J503 for some reason - so: > > > > > > > > > > > > +./4.57 4.34 4.44 > > > > > > 5.39568e_12 > > > > > > > > > > > > ABOUTJ_jijs_ NB. nearest thing to JVERSION??? > > > > > > Copyright 1994-2004 Jsoftware Inc. > > > > > > For information about this and related products: > > > > > > > > > > > > Jsoftware Inc. > > > > > > P.O. Box 330 > > > > > > Excelsior, MN 55331 > > > > > > tel: 952 470-7345 fax: 952 470-9202 > > > > > > www.jsoftware.com > > > > > > i...@jsoftware.com > > > > > > > > > > > > As Devon and Henry suggest, it's the usual problem with "exact" > > > > > > representation of reals. > > > > > > > > > > > > Mike > > > > > > > > > > > > > > > > > > > > > > > > On 15/05/2020 15:17, 'Bo Jacoby' via Programming wrote: > > > > > >> +./4.57 4.34 4.44 > > > > > >> 5.39568e_12 > > > > > >> > > > > > >> NB. this was not the correct answer. A bug? > > > > > >> > > > > > >> +./x:4.57 4.34 4.44 > > > > > >> > > > > > >> 1r100 > > > > > >> > > > > > >> NB. this was a work-around > > > > > >> Thanks! > > > > > >> Bo. > > > > > >> > > > > > >> > > > > > >> > > > > > >> > > > > > >> > > > ---------------------------------------------------------------------- > > > > > >> For information about J forums see > > > > http://www.jsoftware.com/forums.htm > > > > > > > > > > > > > > > > -- > > > > > ---------------------- > > > > > mail written using NEO > > > > > neo-layout.org > > > > > > > > > > ---------------------------------------------------------------------- > > > > > For information about J forums see http://www.jsoftware.com/forums.htm > > > > ---------------------------------------------------------------------- > > > > For information about J forums see http://www.jsoftware.com/forums.htm > > > > > > > > > > > > > -- > > > > > > Devon McCormick, CFA > > > > > > Quantitative Consultant > > > ---------------------------------------------------------------------- > > > 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