version 1.13, 2007/02/15 02:41:38 |
version 1.14, 2016/03/22 07:25:14 |
|
|
@comment $OpenXM: OpenXM/src/asir-doc/parts/type.texi,v 1.12 2003/04/20 08:01:27 noro Exp $ |
@comment $OpenXM: OpenXM/src/asir-doc/parts/type.texi,v 1.13 2007/02/15 02:41:38 noro Exp $ |
\BJP |
\BJP |
@node $B7?(B,,, Top |
@node $B7?(B,,, Top |
@chapter $B7?(B |
@chapter $B7?(B |
Line 451 result shall be computed as a double float number. |
|
Line 451 result shall be computed as a double float number. |
|
@b{bigfloat} |
@b{bigfloat} |
@* |
@* |
\BJP |
\BJP |
@b{bigfloat} $B$O(B, @b{Asir} $B$G$O(B @b{PARI} $B%i%$%V%i%j$K$h$j(B |
@b{bigfloat} $B$O(B, @b{Asir} $B$G$O(B @b{MPFR} $B%i%$%V%i%j$K$h$j(B |
$B<B8=$5$l$F$$$k(B. @b{PARI} $B$K$*$$$F$O(B, @b{bigfloat} $B$O(B, $B2>?tIt(B |
$B<B8=$5$l$F$$$k(B. @b{MPFR} $B$K$*$$$F$O(B, @b{bigfloat} $B$O(B, $B2>?tIt(B |
$B$N$_G$0UB?G\D9$G(B, $B;X?tIt$O(B 1 $B%o!<%I0JFb$N@0?t$K8B$i$l$F$$$k(B. |
$B$N$_G$0UB?G\D9$G(B, $B;X?tIt$O(B 64bit $B@0?t$G$"$k(B. |
@code{ctrl()} $B$G(B @b{bigfloat} $B$rA*Br$9$k$3$H$K$h$j(B, $B0J8e$NIbF0>.?t(B |
@code{ctrl()} $B$G(B @b{bigfloat} $B$rA*Br$9$k$3$H$K$h$j(B, $B0J8e$NIbF0>.?t(B |
$B$NF~NO$O(B @b{bigfloat} $B$H$7$F07$o$l$k(B. $B@:EY$O%G%U%)%k%H$G$O(B |
$B$NF~NO$O(B @b{bigfloat} $B$H$7$F07$o$l$k(B. $B@:EY$O%G%U%)%k%H$G$O(B |
10 $B?J(B 9 $B7eDxEY$G$"$k$,(B, @code{setprec()} $B$K$h$j;XDj2DG=$G$"$k(B. |
10 $B?J(B 9 $B7eDxEY$G$"$k$,(B, @code{setprec()}, @code{setbprec()} $B$K$h$j;XDj2DG=$G$"$k(B. |
\E |
\E |
\BEG |
\BEG |
The @b{bigfloat} numbers of @b{Asir} is realized by @b{PARI} library. |
The @b{bigfloat} numbers of @b{Asir} is realized by @b{MPFR} library. |
A @b{bigfloat} number of @b{PARI} has an arbitrary precision mantissa |
A @b{bigfloat} number of @b{MPFR} has an arbitrary precision mantissa |
part. However, its exponent part admits only an integer with a single |
part. However, its exponent part admits only a 64bit integer. |
word precision. |
|
Floating point operations will be performed all in @b{bigfloat} after |
Floating point operations will be performed all in @b{bigfloat} after |
activating the @b{bigfloat} switch by @code{ctrl()} command. |
activating the @b{bigfloat} switch by @code{ctrl()} command. |
The default precision is about 9 digits, which can be specified by |
The default precision is 53 bits (about 15 digits), which can be specified by |
@code{setprec()} command. |
@code{setbprec()} and @code{setprec()} command. |
\E |
\E |
|
|
@example |
@example |
[0] ctrl("bigfloat",1); |
[0] ctrl("bigfloat",1); |
1 |
1 |
[1] eval(2^(1/2)); |
[1] eval(2^(1/2)); |
1.414213562373095048763788073031 |
1.4142135623731 |
[2] setprec(100); |
[2] setprec(100); |
9 |
15 |
[3] eval(2^(1/2)); |
[3] eval(2^(1/2)); |
1.41421356237309504880168872420969807856967187537694807317... |
1.41421356237309504880168872420969807856967187537694...764157 |
|
[4] setbprec(100); |
|
332 |
|
[5] 1.41421356237309504880168872421 |
@end example |
@end example |
|
|
\BJP |
\BJP |
@code{eval()} $B$O(B, $B0z?t$K4^$^$l$kH!?tCM$r2DG=$J8B$j?tCM2=$9$kH!?t$G$"$k(B. |
@code{eval()} $B$O(B, $B0z?t$K4^$^$l$kH!?tCM$r2DG=$J8B$j?tCM2=$9$kH!?t$G$"$k(B. |
@code{setprec()} $B$G;XDj$5$l$?7e?t$O(B, $B7k2L$N@:EY$rJ]>Z$9$k$b$N$G$O$J$/(B, |
@code{setbprec()} $B$G;XDj$5$l$?(B2 $B?J7e?t$O(B, $B4]$a%b!<%I$K1~$8$?7k2L$N@:EY$rJ]>Z$9$k(B. @code{setprec()} $B$G;XDj$5$l$k(B10$B?J7e?t$O(B 2 $B?J7e?t$KJQ49$5$l$F@_Dj$5$l$k(B. |
@b{PARI} $BFbIt$GMQ$$$i$l$kI=8=$N%5%$%:$r<($9$3$H$KCm0U$9$Y$-$G$"$k(B. |
|
\E |
\E |
\BEG |
\BEG |
Function @code{eval()} evaluates numerically its argument as far as |
Function @code{eval()} evaluates numerically its argument as far as |
possible. |
possible. |
Notice that the integer given for the argument of @code{setprec()} does |
Notice that the integer given for the argument of @code{setbprec()} |
not guarantee the accuracy of the result, |
guarantees the accuracy of the result according to the current rounding mode. |
but it indicates the representation size of numbers with which internal |
The argument of @code{setbprec()} is converted to the corresonding bit length |
operations of @b{PARI} are performed. |
and set. |
\E |
\E |
(@xref{eval deval}, @ref{pari}.) |
(@xref{eval deval}.) |
|
|
@item 4 |
@item 4 |
\JP @b{$BJ#AG?t(B} |
\JP @b{$BJ#AG?t(B} |