Article View: pl.comp.lang.python
Article #21403Re: przypisac nieskonczonosc
From: Grzegorz Makarewicz
Date: Tue, 16 Oct 2007 19:11
Date: Tue, 16 Oct 2007 19:11
76 lines
3576 bytes
3576 bytes
Seweryn Habdank-Wojewódzki wrote: > Witam > > Już jest mocno NTG. > > Bart Ogryczak wrote: > >> Wrecz przeciwnie, zaden z sensownych producentów tego nie wspiera. Nie >> ma tego w Visual Studio, nie ma tego w Borlandzie. > > Borland do sensownych nie należy. > > W Visual Studio nie ma isnan i isinf, ale są funkcje produkcji własnej. > Tak jak pisałem należy mieć pretensje do producentów. > > Polecam płytkie intelektualne studium: > > #include <float.h> > > #if defined(__VISUALC__) > #define IsInf(n) _finite(n) > #elseif defined(__GNUC__) > #define IsInf(n) finite(n) // moze byc isinf(n) > #else > #define IsInf(n) 1 // tak na wszelki wypadek > #endif > > > #if defined(__VISUALC__) > #define IsNaN(n) _isnan(n) > #elseif defined(__GNUC__) > #define IsNaN(n) isnan(n) > #else > #define IsNaN(n) ((n) != (n)) > #endif > > Poza tym można pobawić się: > > #include <math.h> > #if __sun__ > #include <ieeefp.h> > #define IsInf(x)\ > (fpclass(x) == FP_NINF ? -1 : (fpclass(x) == FP_PINF ? 1 : 0)) > #endif > > Zarówno na SUN, GCC, VS jest coś takiego jak fpclass(.) -- na VS jest > _fpclass(.). > >> A w GCC, nawet tym >> najnowszym, wsparcie dla IEEE754 float point, jest oznaczone jako >> "broken", z przypisem, ze na niektórych architekturach byc moze bedzie >> dzialac. > > Etam (tm). Co się przejmujesz wszystkimi :-). Sprawdź gdzie nie działa, a > gdzie potrzebujesz, żeby tam działało. GCC na wielu platformach działa, > pamiętaj, że mowa jest o INFINITY i NAN więc wystarczy że to zadziała. > Zresztą można mieć tak na dzień dobry pretensje, że _niewszyscy_ producenci > procków obsługują IEEE754. > > Pozdrawiam. > Mozesz powiedziec dlaczego wykroczenie po za rozmiar liczby jest takie istotne ? Ja u siebie mam to w dyszy - inf/nan ... - tyle ze to i tak nie liczba, wiec dla pythona zrzucam wyjatek - a ten co pisze program w pythonie wie, ze cos jest nie tak :) kadry place - zeby tak nisko nie bylo: - program mozolnie wylicza - trafia na dzielenie przez zero - to co zrobic ? zepchnac wyjatek, zarzucic liczenie - przerwac program, ... - wyjatek jest i tyle - a ty se rob co chcesz - dla jednoego to zero, a dla innego nie znaczy nic i program sie wypierdzieli, a inny powie -nie pokazac - hulaj dusza .... mak
Technical Details
Message-ID:
<ff32c8$cng$1@opal.futuro.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!opal.futuro.pl!not-for-mailReferences:
<20071016103416.e69a7bc7.sulsa@dontmail.me> <1192526464.122236.16990@v23g2000prn.googlegroups.com> <ff21gb$l2i$1@news.vectranet.pl> <1192533601.905010.17440@y27g2000pre.googlegroups.com> <ff28jc$rkt$1@news.vectranet.pl> <1192538475.635966.79370@z24g2000prh.googlegroups.com> <ff2cc5$vg0$1@news.vectranet.pl> <1192544706.206962.324280@q3g2000prf.googlegroups.com> <ff2orm$bla$1@news.vectranet.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!opal.futuro.pl!not-for-mail From: Grzegorz Makarewicz <mak@trisoft.com.pl> Newsgroups: pl.comp.lang.python Subject: Re: przypisac nieskonczonosc Date: Tue, 16 Oct 2007 21:11:45 +0200 Organization: TriSoft Sp. z o.o. Lines: 76 Message-ID: <ff32c8$cng$1@opal.futuro.pl> References: <20071016103416.e69a7bc7.sulsa@dontmail.me> <1192526464.122236.16990@v23g2000prn.googlegroups.com> <ff21gb$l2i$1@news.vectranet.pl> <1192533601.905010.17440@y27g2000pre.googlegroups.com> <ff28jc$rkt$1@news.vectranet.pl> <1192538475.635966.79370@z24g2000prh.googlegroups.com> <ff2cc5$vg0$1@news.vectranet.pl> <1192544706.206962.324280@q3g2000prf.googlegroups.com> <ff2orm$bla$1@news.vectranet.pl> NNTP-Posting-Host: static-62-233-216-18.devs.futuro.pl Mime-Version: 1.0 X-Trace: opal.futuro.pl 1192561864 13040 62.233.216.18 (16 Oct 2007 19:11:04 GMT) X-Complaints-To: usenet@futuro.pl NNTP-Posting-Date: Tue, 16 Oct 2007 19:11:04 +0000 (UTC) User-Agent: Icedove 1.5.0.10 (X11/20070329) In-Reply-To: <ff2orm$bla$1@news.vectranet.pl> X-Enigmail-Version: 0.94.2.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit