🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.perl
Article #52169

Re: niedokładność biginta

#52169
From: Maciej Misiak
Date: Wed, 19 Jan 2011 22:31
45 lines
2341 bytes
W dniu 2011-01-19 23:11, Stachu 'Dozzie' K. pisze:
> On 2011-01-19, Maciej Misiak<grizzley@poczta.onet.pl>  wrote:
>> Help.
>>
>> #!perl -l
>>
>> use bigint;
>>
>> ($x,$y)=split/ /, "26315789473684210 5";
>> ($l,$m)=($y.$x,$x.$y);
>> $xx=$l/$m;
>> print$l,' ', $m,' ',$xx, ' ', $xx*$m, ' ', $xx*$m-$l;
>> die if $xx*$m!=$l;
>>
>>
>> Ja mam w wyniku die, choć nie powinienem:
>> 526315789473684210 263157894736842105 2 5.26315789473684e+017 64
>> Died at p168test.pl line 9.
>
> No też bym się czegoś innego spodziewał. Przepisałem twój skrypt na
> nieco bardziej widoczny:
>
<....>
>
> Bingo!
>
> #v+
> Can't call method "isa" without a package or object reference at ./test.pl line 8.
> #v-
>
> Znaczy: póki $l i $m są stringami, nie mogą być podmiotem operacji,
> które wykonuje `use bigint'. Zamiana $l i $m na na-pewno-liczby pomaga:

Ach zbawco! Jednak pójdę spać spokojny, że to nie wina Perla :)
Z drugiej strony poburczeć sobie trochę poburczę, bo to bez sensu, że 
wszystkie operacje się zachowują jak przy zwykłych intach, a jedna 
jedyna konwersja ze stringa nie :/ (chyba, że źle interpretuję miejsce 
"błędu")
Co ciekawe, wystarczyło skonwertować na siłę tylko licznik albo 
mianownik, niekoniecznie oba.

Dzięki za analizę!

-- 
grizzley
Technical Details
Message-ID: <ih7op9$o0s$1@news.onet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for-mail
References: <ih7lun$ctt$1@news.onet.pl> <ih7nid$rjs$1@solani.org>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for-mail
From: Maciej Misiak <grizzley@poczta.onet.pl>
Newsgroups: pl.comp.lang.perl
Subject: Re: niedokładność biginta
Date: Wed, 19 Jan 2011 23:31:59 +0100
Organization: http://onet.pl
Lines: 45
Message-ID: <ih7op9$o0s$1@news.onet.pl>
References: <ih7lun$ctt$1@news.onet.pl> <ih7nid$rjs$1@solani.org>
NNTP-Posting-Host: ip-62-69-199-251.globalconnect.pl
Mime-Version: 1.0
X-Trace: news.onet.pl 1295476329 24604 62.69.199.251 (19 Jan 2011 22:32:09 GMT)
X-Complaints-To: niusy@onet.pl
NNTP-Posting-Date: Wed, 19 Jan 2011 22:32:09 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.2.13) Gecko/20101207 Thunderbird/3.1.7 ThunderBrowse/3.3.4
In-Reply-To: <ih7nid$rjs$1@solani.org>
X-Antivirus: avast! (VPS 110119-0, 2011-01-19), Outbound message
X-Antivirus-Status: Clean
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit