Thanks I know about GSLL. I just wanted to do something different and “mostly CL”.
> On Nov 2, 2018, at 21:12 , Liam Healy <lhe...@common-lisp.net> wrote: > > Marco, > > If you don't mind using a foreign library, GSL provides these things > through GSLL: > GSL> gsl:+nan+ > #<DOUBLE-FLOAT quiet NaN> That is the SBCL/CMU NaN > GSL> gsl:+positive-infinity+ > #.SB-EXT:DOUBLE-FLOAT-POSITIVE-INFINITY > GSL> gsl:+negative-infinity+ > #.SB-EXT:DOUBLE-FLOAT-NEGATIVE-INFINITY > > This should work on any CL implementation that can load GSLL. > > I'm interested in your generic math library, as I have some of that in > Antik (which GSLL uses). I know. I looked at Antik. This is more of a “let’s build it from scratch” student project. I will see how it pans out. Cheers — Marco > > > Liam > On Fri, Nov 2, 2018 at 3:24 PM Antoniotti Marco > <antoniotti.ma...@disco.unimib.it> wrote: >> >> Dear all >> >> I am fooling around (again!) with the spec of a math library that I want the >> students to work on as a project. Language is Common Lisp. >> >> Essentially the library is an extended generic math library built on the >> basis of the many ones floating around. >> >> Now. Here comes IEEE. And “infinity" >> >> Among many implementations there is more or less a consensus about how to >> “represent” IEEE infinities in CL. >> >> E.g. >> >> LW > math:long-float-positive-infinity >> +1D++0 #| +1D++0 is double-float plus-infinity |# >> >> CCL ? math:long-float-positive-infinity >> 1D++0 >> >> >> and so on. >> >> NaN is not as clearly defined. >> >> LW 45 > math:nan >> 1D+-0 #| 1D+-0 is double-float not-a-number |# >> >> CCL ? math:nan >> 1D+-0 #| not-a-number |# >> >> But to get a NaN in SBCL/CMUCL requires a trick. I use >> >> (sb-kernel:make-double-float -524288 0)) ; Courtesy of Raymond Toy. >> >> In any case… There are two issues that I would like to brainstorm a bit. >> >> The first one pertains rounding modes. Give the current state of affairs, >> it does not seem possible to access them in all the CL implementations. >> CMUCL/SBCL give you the necessary hooks, but LW doesn’t. Let’s skip this. >> >> The second is just a simple question. >> >> Given that we *do* have (with some acrobatics) access to IEEE infinities, >> would you add symbolic constants to such library like >> >> (defconstant +posinf+ ‘+posinf+) >> >> or would you just rely on the IEEE infinities? >> >> Generic functions like >> >> (defgeneric plus (x y) …) >> >> Will obviously be affected. >> >> I just want to get a feeling about the overall wisdom of this crowd. >> >> All the best >> >> Marco >> >> >> >> -- >> Marco Antoniotti >> >> > -- Marco Antoniotti, Associate Professor tel. +39 - 02 64 48 79 01 DISCo, Università Milano Bicocca U14 2043 http://bimib.disco.unimib.it Viale Sarca 336 I-20126 Milan (MI) ITALY Please check: http://cdac2019.lakecomoschool.org Please check: http://troncopackage.org Please check: https://www.frontiersin.org/research-topics/7394/network-bioscience Please note that I am not checking my Spam-box anymore. Please do not forward this email without asking me first (cum grano salis).