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

Reply via email to