version 1.2, 1999/12/21 02:47:34 |
version 1.6, 2002/08/08 05:24:37 |
|
|
@comment $OpenXM$ |
@comment $OpenXM: OpenXM/src/asir-doc/parts/builtin/num.texi,v 1.5 2002/07/19 02:23:32 takayama Exp $ |
\BJP |
\BJP |
@node $B?t$N1i;;(B,,, $BAH$_9~$_H!?t(B |
@node $B?t$N1i;;(B,,, $BAH$_9~$_H!?t(B |
@section $B?t$N1i;;(B |
@section $B?t$N1i;;(B |
|
|
* mt_save mt_load:: |
* mt_save mt_load:: |
* nm dn:: |
* nm dn:: |
* conj real imag:: |
* conj real imag:: |
* eval:: |
* eval deval:: |
* pari:: |
* pari:: |
* setprec:: |
* setprec:: |
* setmod:: |
* setmod:: |
* lrandom:: |
* lrandom:: |
|
* ntoint32 int32ton:: |
@end menu |
@end menu |
|
|
\JP @node idiv irem,,, $B?t$N1i;;(B |
\JP @node idiv irem,,, $B?t$N1i;;(B |
|
|
@findex random |
@findex random |
|
|
@table @t |
@table @t |
@item radom([@var{seed}]) |
@item random([@var{seed}]) |
\JP :: $BMp?t$r@8@.$9$k(B. |
\JP :: $BMp?t$r@8@.$9$k(B. |
@end table |
@end table |
|
|
Line 481 one can trace a single random number sequence arcoss m |
|
Line 482 one can trace a single random number sequence arcoss m |
|
@findex lrandom |
@findex lrandom |
|
|
@table @t |
@table @t |
@item lradom(@var{bit}) |
@item lrandom(@var{bit}) |
\JP :: $BB?G\D9Mp?t$r@8@.$9$k(B. |
\JP :: $BB?G\D9Mp?t$r@8@.$9$k(B. |
\EG :: Generates a long random number. |
\EG :: Generates a long random number. |
@end table |
@end table |
Line 692 These functions works also for polynomials with comple |
|
Line 693 These functions works also for polynomials with comple |
|
[2,11,(2-11*@@i)] |
[2,11,(2-11*@@i)] |
@end example |
@end example |
|
|
\JP @node eval,,, $B?t$N1i;;(B |
\JP @node eval deval ,,, $B?t$N1i;;(B |
\EG @node eval,,, Numbers |
\EG @node eval deval,,, Numbers |
@subsection @code{eval} |
@subsection @code{eval}, @code{deval} |
@findex eval |
@findex eval |
|
@findex deval |
@cindex PARI |
@cindex PARI |
|
|
@table @t |
@table @t |
@item eval(@var{obj}[,@var{prec}]) |
@item eval(@var{obj}[,@var{prec}]) |
|
@item deval(@var{obj}) |
\JP :: @var{obj} $B$NCM$NI>2A(B. |
\JP :: @var{obj} $B$NCM$NI>2A(B. |
\EG :: Evaluate @var{obj} numerically. |
\EG :: Evaluate @var{obj} numerically. |
@end table |
@end table |
Line 721 These functions works also for polynomials with comple |
|
Line 724 These functions works also for polynomials with comple |
|
@item |
@item |
@var{obj} $B$K4^$^$l$kH!?t$NCM$r2DG=$J8B$jI>2A$9$k(B. |
@var{obj} $B$K4^$^$l$kH!?t$NCM$r2DG=$J8B$jI>2A$9$k(B. |
@item |
@item |
$B7W;;$O(B @b{PARI} (@xref{pari}) $B$,9T$&(B. |
@code{deval} $B$OG\@:EYIbF0>.?t$r7k2L$H$7$F(B |
|
@code{eval} $B$N>l9g(B, $BM-M}?t$O$=$N$^$^;D$k(B. |
@item |
@item |
|
@code{eval} $B$K$*$$$F$O(B, $B7W;;$O(B @b{PARI} (@xref{pari}) $B$,9T$&(B. |
|
@code{deval} $B$K$*$$$F$O(B, $B7W;;$O(B C $B?t3X%i%$%V%i%j$N4X?t$rMQ$$$F9T$&(B. |
|
@item |
|
@code{deval} $B$OJ#AG?t$O07$($J$$(B. |
|
@item |
|
@code{eval} $B$K$*$$$F$O(B, |
@var{prec} $B$r;XDj$7$?>l9g(B, $B7W;;$O(B, 10 $B?J(B @var{prec} $B7eDxEY$G9T$o$l$k(B. |
@var{prec} $B$r;XDj$7$?>l9g(B, $B7W;;$O(B, 10 $B?J(B @var{prec} $B7eDxEY$G9T$o$l$k(B. |
@var{prec} $B$N;XDj$,$J$$>l9g(B, $B8=:_@_Dj$5$l$F$$$k@:EY$G9T$o$l$k(B. |
@var{prec} $B$N;XDj$,$J$$>l9g(B, $B8=:_@_Dj$5$l$F$$$k@:EY$G9T$o$l$k(B. |
(@xref{setprec}) |
(@xref{setprec}) |
Line 740 These functions works also for polynomials with comple |
|
Line 750 These functions works also for polynomials with comple |
|
@code{exp}, @code{log}, @code{pow(a,b) (a^b)} |
@code{exp}, @code{log}, @code{pow(a,b) (a^b)} |
@end table |
@end table |
@item |
@item |
$B0J2<$N5-9f$r?t$H$7$FI>2A$G$-$k(B. |
$B0J2<$N5-9f$r?t$H$7$FI>2A$G$-$k(B. $B$?$@$7(B @code{@@i} $B$r07$($k$N$O(B |
|
@code{eval}, @code{deval} $B$N$_$G$"$k(B. |
@table @t |
@table @t |
@item @@i |
@item @@i |
$B5u?tC10L(B |
$B5u?tC10L(B |
Line 755 These functions works also for polynomials with comple |
|
Line 766 These functions works also for polynomials with comple |
|
Evaluates the value of the functions contained in @var{obj} as far as |
Evaluates the value of the functions contained in @var{obj} as far as |
possible. |
possible. |
@item |
@item |
The computation is done by @b{PARI} (@xref{pari}). |
@code{deval} returns |
|
double float. Rational numbers remain unchanged in results from @code{eval}. |
@item |
@item |
|
In @code{eval} the computation is done |
|
by @b{PARI} (@xref{pari}). In @code{deval} the computation is |
|
done by the C math library. |
|
@item |
|
@code{deval} cannot handle complex numbers. |
|
@item |
When @var{prec} is specified, computation will be performed with a |
When @var{prec} is specified, computation will be performed with a |
precision of about @var{prec}-digits. |
precision of about @var{prec}-digits. |
If @var{prec} is not specified, computation is performed with the |
If @var{prec} is not specified, computation is performed with the |
Line 776 Note they are only a small part of whole @b{PARI} func |
|
Line 794 Note they are only a small part of whole @b{PARI} func |
|
@code{exp}, @code{log}, @code{pow(a,b) (a^b)} |
@code{exp}, @code{log}, @code{pow(a,b) (a^b)} |
@end table |
@end table |
@item |
@item |
Symbols for special values are as the followings. |
Symbols for special values are as the followings. Note that |
|
@code{@@i} cannot be handled by @code{deval}. |
@table @t |
@table @t |
@item @@i |
@item @@i |
unit of imaginary number |
unit of imaginary number |
Line 798 Napier's number (@t{exp}(1)) |
|
Line 817 Napier's number (@t{exp}(1)) |
|
0.86602540378443864674620506632 |
0.86602540378443864674620506632 |
[121] eval(sin(@@pi/3)-3^(1/2)/2,50); |
[121] eval(sin(@@pi/3)-3^(1/2)/2,50); |
-2.78791084448179148471 E-58 |
-2.78791084448179148471 E-58 |
|
[122] eval(1/2); |
|
1/2 |
|
[123] deval(sin(1)^2+cos(1)^2); |
|
1 |
@end example |
@end example |
|
|
@table @t |
@table @t |
Line 960 For details of individual functions, refer to the @b{P |
|
Line 983 For details of individual functions, refer to the @b{P |
|
@code{lngamma}, |
@code{lngamma}, |
@code{logagm}, |
@code{logagm}, |
@code{mat}, |
@code{mat}, |
@code{matinvr}, |
|
@code{matrixqz2}, |
@code{matrixqz2}, |
@code{matrixqz3}, |
@code{matrixqz3}, |
@code{matsize}, |
@code{matsize}, |
Line 1113 Therefore, it is safe to specify a larger value. |
|
Line 1135 Therefore, it is safe to specify a larger value. |
|
|
|
@table @t |
@table @t |
\JP @item $B;2>H(B |
\JP @item $B;2>H(B |
@fref{ctrl}, @fref{eval}, @fref{pari}. |
@fref{ctrl}, @fref{eval deval}, @fref{pari}. |
@end table |
@end table |
|
|
\JP @node setmod,,, $B?t$N1i;;(B |
\JP @node setmod,,, $B?t$N1i;;(B |
Line 1177 return to toplevel |
|
Line 1199 return to toplevel |
|
\EG @fref{dp_mod dp_rat}, @fref{Types of numbers}. |
\EG @fref{dp_mod dp_rat}, @fref{Types of numbers}. |
@end table |
@end table |
|
|
|
\JP @node ntoint32 int32ton,,, $B?t$N1i;;(B |
|
\EG @node ntoint32 int32ton,,, Numbers |
|
@subsection @code{ntoint32}, @code{int32ton} |
|
@findex ntoint32 |
|
@findex int32ton |
|
|
|
@table @t |
|
@item ntoint32(@var{n}) |
|
@itemx int32ton(@var{int32}) |
|
\JP :: $BHsIi@0?t$HId9f$J$7(B 32bit $B@0?t$N4V$N7?JQ49(B. |
|
\EG :: Type-conversion between a non-negative integer and an unsigned 32bit integer. |
|
@end table |
|
|
|
@table @var |
|
@item return |
|
\JP $BId9f$J$7(B 32bit $B@0?t$^$?$OHsIi@0?t(B |
|
\EG unsigned 32bit integer or non-negative integer |
|
@item n |
|
\JP 2^32 $BL$K~$NHsIi@0?t(B |
|
\EG non-negative interger less than 2^32 |
|
@item int32 |
|
\JP $BId9f$J$7(B 32bit $B@0?t(B |
|
\EG unsigned 32bit integer |
|
@end table |
|
|
|
@itemize @bullet |
|
\BJP |
|
@item $BHsIi@0?t(B ($B<1JL;R(B 1) $B$NId9f$J$7(B 32bit $B@0?t(B ($B<1JL;R(B 10) $B$X$NJQ49(B, |
|
$B$^$?$O$=$N5UJQ49$r9T$&(B. |
|
@item 32bit $B@0?t$O(B @b{OpenXM} $B$N4pK\9=@.MWAG$G$"$j(B, $B@0?t$r$=$N7?$GAw?.(B |
|
$B$9$kI,MW$,$"$k>l9g$KMQ$$$k(B. |
|
\E |
|
\BEG |
|
@item These functions do conversions between non-negative |
|
integers (the type id 1) and unsigned 32bit integers (the type id 10). |
|
@item An unsigned 32bit integer is a fundamental construct of @b{OpenXM} |
|
and one often has to send an integer to a server as an unsigned 32bit |
|
integer. These functions are used in such a case. |
|
\E |
|
@end itemize |
|
|
|
@table @t |
|
\JP @item $B;2>H(B |
|
\EG @item References |
|
\JP @fref{$BJ,;67W;;(B}, @fref{$B?t$N7?(B}. |
|
\EG @fref{Distributed computation}, @fref{Types of numbers}. |
|
@end table |