From owner-FreeBSD-users-jp@jp.FreeBSD.org Sun Jun 15 22:44:04 2008
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) id m5FDi4j47465;
	Sun, 15 Jun 2008 22:44:04 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from userg501.nifty.com (userg501.nifty.com [202.248.238.81])
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) with ESMTP/inet id m5FDi4947459
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Sun, 15 Jun 2008 22:44:04 +0900 (JST)
	(envelope-from satosi.kimura@nifty.com)
Received: from localhost (ntceast007240.east.dup.ppp.infoweb.ne.jp [220.209.196.240])by userg501.nifty.com with ESMTP id m5FDi2bp007607
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Sun, 15 Jun 2008 22:44:02 +0900
DomainKey-Signature: a=rsa-sha1; s=userg501; d=nifty.com; c=nofws; q=dns;
	h=date:message-id:to:subject:from:x-mailer:mime-version:
	content-type:content-transfer-encoding;
	b=GthN1cDRPhQcMjbt+RoQebqMnks/SxnPom0F6f9fqOKxwB4CMzlFO8xk1eriOzeF8
	gVIeL/+qMW9eypuaGpnSQ==
X-Nifty-SrcIP: [220.209.196.240]
Message-Id: <20080615.224509.846938105.satosi.kimura@nifty.com>
To: FreeBSD-users-jp@jp.FreeBSD.org
From: Satoshi Kimura <satosi.kimura@nifty.com>
X-Mailer: Mew version 3.3 on XEmacs 21.4.14 (Reasonable Discussion)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Reply-To: FreeBSD-users-jp@jp.FreeBSD.org
Precedence: list
Date: Sun, 15 Jun 2008 22:45:09 +0900
X-Sequence: FreeBSD-users-jp 91680
Subject: [FreeBSD-users-jp 91680] long double
 =?ISO-2022-JP?B?GyRCJE4bKEI=?= bug ?
 =?ISO-2022-JP?B?GyRCJEskRCQkJEYbKEI=?= 
Sender: owner-FreeBSD-users-jp@jp.FreeBSD.org
X-Originator: satosi.kimura@nifty.com
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+060209

$BLZB<$G$9!%(B

  $B2<5-$N$h$&$J%H%i%V%k$KAx6x$7$^$7$?!%D4$Y$?8B$j$G$O$3$NLdBj$O(B
$BJs9p$5$l$F$$$J$$$N$G!$$3$N(B ML $B$G>pJs$rJg$j$?$/%a!<%kCW$7$^$7$?!%(B

1. $B>u67(B
  FreeBSD 5.3 + gcc(3.4.2) $B$G:n@.$7$?!$3HD%G\@:EY(B (long double)
$B$r;H$C$?%W%m%0%i%`$r(B FreeBSD 6.2 + gcc(3.4.6) $B$K$F;HMQ$9$k$H!$(B
$B7k2L$,0c$$$^$7$?!%8!F$$7$?Kv!$0J2<$N$3$H$,J,$+$j$^$7$?!%(B

  gcc $B$K(B -m96bit-long-double (default) $B$H(B -m128bit-long-double $B$N(B
option $B$rIU$1$?>l9g$r3F!9(B 96bit, 128bit $B$H=q$/$3$H$K$7$^$9$H!$(B
(1) FreeBSD 5.3 (96, 128bit), FreeBSD 6.2 (128bit) $B$N;0<T$N(B
  $B7k2L$OF1$8$K$J$k!%(B
(2) FreeBSD 6.2 (96bit) $B$N>l9g!$(B(1) $B$h$j$b35$7$F@:EY$,0-$$!%(B

2. $B860x(B
  $B$3$NLdBj$N@8$8J}$rC5$j$^$9$H!$!V(BFreeBSD 6.2 $B$K$*$$$F3HD%G\(B
$B@:EY$H$7$F(B 96bit $B$r;H$&$H!$<0$NCf$NDj?t$N@:EY$,(B double $B$K(B
$BMn$H$5$l$F$7$^$&!W$3$H$K5/0x$7$F$$$k$3$H$,J,$+$j$^$7$?!%(B
($B$3$NCJ3,$G$O!V860x!W$H$O8@$($J$$$G$7$g$&$,!%(B)

  $BNc$($P!$$3$s$J;H$$J}$r$7$?>l9g$G$9!%(B
   x = 3.14159265358979323846L;
   x = sqrtl(1.5L);

$B;29M$^$G$K!$$3$NLdBj$N4JC1$J3NG'K!$r<($7$^$9!%(B

main(void)
{
   double c;
   long double lc;

   c  = 3.14159265358979323846;
   lc = 3.14159265358979323846L;
}

$B$3$l$r(B s.c $B$H$7!$FsDL$j$K%3%s%Q%$%k$7$F%"%;%s%V%i$r=PNO$7$^$9!%(B

% gcc -m96bit-long-double  -S s.c -o  s1.a
% gcc -m128bit-long-double -S s.c -o  s2.a

$BN><T$N%"%;%s%V%i$N!$$3$N?tCM$K4XO"$7$?ItJ,$O<!$N$h$&$K$J$j$^$9!%(B
($B$A$J$_$K!$(BFreeBSD 5.3 $B$NFs$D$H!$(BFreeBSD 6.2 $B$K$F(B -m128bit-long-double
 $B$r5,Dj$7$?>l9g$N;0<T$OF1$8$G$9!%(B)

$BJQ?t(B c
        .long   1413754136         $B"+(B $B2>?tIt(B (2)
        .long   1074340347         $B"+(B $BId9g!$;X?tIt!$2>?tIt(B (1) $B$,:.:_(B

$BJQ?t(B lc
        movl    $560513024, %eax   $B"+(B $B2>?tIt(B (2). 128bit $B$G$O(B $560513589
        movl    $-921707870, %edx  $B"+(B $B2>?tIt(B (1)
        movl    $16384, %ecx       $B"+(B $BId9g$H;X?tIt(B

$B$3$N?tCM$+$i(B double $B$NJQ?t(B c $B$N2>?tIt(B (mant) $B$r5a$a$k$H<!$N$h$&$K$J$j$^$9!%(B

double : 1074340347 1413754136   mant = 09 21 fb 54 44 2d 18

$B$3$l$r(B long double $B$NJQ?t(B lc $B$N2>?tIt$HHf3S$9$k$?$a$K!$(B
$B:8$K(B 3bit $B%7%U%H$7$F!$$+$D:G>e0L$N(B 1bit $B$rN)$F$^$9!%(B
$B$=$l$H(B lc $B$N(B 96, 128bit $B$N>l9g$N2>?tIt$rJB5-$9$k$H<!$N$h$&$K$J$j$^$9!%(B

double :                        mant = c9 0f da a2 21 68 c0
 96bit : -921707870 560513024   mant = c9 0f da a2 21 68 c0 00
128bit : -921707870 560513589   mant = c9 0f da a2 21 68 c2 35

$B$9$J$o$A!$(B96bit $B$N3HD%G\@:EY$N>l9g!$Dj?t$N@:EY$,G\@:EY$KMn$H$5$l(B
$B$F$7$^$C$F$$$^$9!%(B

3. $B$*4j$$(B
  $B0J2<$NFsE@$r3NG'$7$F!$I,MW$J$i$P(B send-pr $B$7$h$&$H;W$$$^$9!%(B
(1) $B$3$l$O(B bug $B$J$N$+!$1#$l(B compile option $B$J$I$,$"$k$N$+!)(B
(2) bug $B$G$"$C$?$H$7$F!$(BFreeBSD 6.3 $B$d(B 7.0 $B$G$b$3$NLdBj$O5/$-(B
  $BB3$1$F$$$k$N$+!)(B ($B$3$l$i$O$&$A$K$J$$$N$G3NG'$G$-$^$;$s!%(B)

$B@h$:!$(B(1) $B$K$D$$$F8fB8$8$NJ}!$>pJs$r$*4j$$CW$7$^$9!%(B

                     Satoshi Kimura  (satosi.kimura@nifty.com)
