Article View: fj.lang.perl
Article #106Re: Math::BigFloat::fcmp
From: Inaba Hiroto
Date: Sun, 15 Mar 1998 00:00
Date: Sun, 15 Mar 1998 00:00
28 lines
1263 bytes
1263 bytes
In article <MORI.98Mar12191035@picola.freedom.co.jp> Shigeki Morimoto <Shigeki@Morimo.to> writes:
> Perl5 $B$KImB0$N(B Math::BigFloat.pm $B$N(B fcmp $B$*$h$S(B <=> $B$r(B
> $B;HMQ$7$h$&$H$7$?$N$G$9$,!"$I$&$bF0$-$,JQ$J$N$G$9!#(B
$B$O$$!"%P%0$C$F$$$k$h$&$G$9$M!#(B
$B$H$j$"$($:0J2<$N$h$&$K=$@5$7$F$_$^$7$?!#$"$s$^$j%A%'%C%/$7$F$^$;$s$,!#(B
sub fcmp { #(fnum_str, fnum_str) return cond_code
local($x, $y) = (fnorm($_[$[]),fnorm($_[$[+1]));
if ($x eq "NaN" || $y eq "NaN") {
undef;
} else {
ord($y) <=> ord($x)
||
do {
my ($xm, $xe, $ym, $ye) = split('E', $x.'E'.$y);
my $e = $xe < $ye ? $xe : $ye;
($xe + length($xm) <=> $ye + length($ym)) * ($xm <=> 0)
||
Math::BigInt::cmp($xm."0"x($xe-$e), $ym."0"x($ye-$e));
};
}
}
--
$B0pMU(B $B9@?M(B (inaba@st.rim.or.jp)
Technical Details
Message-ID:
<1zw5z0aa.fsf@carnival.st.rim.or.jp>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<MORI.98Mar12191035@picola.freedom.co.jp>Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS X-Google-Thread: 1043e7,7b38f277b204def6 X-Google-Attributes: gid1043e7,public From: inaba@st.rim.or.jp (Inaba Hiroto) Subject: Re: Math::BigFloat::fcmp Date: 1998/03/15 Message-ID: <1zw5z0aa.fsf@carnival.st.rim.or.jp> X-Deja-AN: 334030993 References: <MORI.98Mar12191035@picola.freedom.co.jp> Reply-To: inaba@st.rim.or.jp Organization: . Newsgroups: fj.lang.perl