🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.lang.perl
Article #106

Re: Math::BigFloat::fcmp

#106
From: Inaba Hiroto
Date: Sun, 15 Mar 1998 00:00
28 lines
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-mail
References: <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