[BACK]Return to num.texi CVS log [TXT][DIR] Up to [local] / OpenXM / src / asir-doc / parts / builtin

Diff for /OpenXM/src/asir-doc/parts/builtin/num.texi between version 1.2 and 1.10

version 1.2, 1999/12/21 02:47:34 version 1.10, 2003/12/20 20:02:28
Line 1 
Line 1 
 @comment $OpenXM$  @comment $OpenXM: OpenXM/src/asir-doc/parts/builtin/num.texi,v 1.9 2003/12/18 10:26:20 ohara 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
Line 13 
Line 13 
 * fac::  * fac::
 * igcd igcdcntl::  * igcd igcdcntl::
 * ilcm::  * ilcm::
   * isqrt::
 * inv::  * inv::
 * prime lprime::  * prime lprime::
 * random::  * random::
 * 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
Line 45 
Line 47 
 @item return  @item return
 \JP $B@0?t(B  \JP $B@0?t(B
 \EG integer  \EG integer
 @item i1,i2  @item i1 i2
 \JP $B@0?t(B  \JP $B@0?t(B
 \EG integer  \EG integer
 @end table  @end table
Line 158  Returns 0 if the argument @var{i} is negative.
Line 160  Returns 0 if the argument @var{i} is negative.
 @item return  @item return
 \JP $B@0?t(B  \JP $B@0?t(B
 \EG integer  \EG integer
 @item i1,i2,i  @item i1 i2 i
 \JP $B@0?t(B  \JP $B@0?t(B
 \EG integer  \EG integer
 @end table  @end table
Line 259  In most cases @code{3} is the fastest, but there are e
Line 261  In most cases @code{3} is the fastest, but there are e
 @item return  @item return
 \JP $B@0?t(B  \JP $B@0?t(B
 \EG integer  \EG integer
 @item i1,i2  @item i1 i2
 \JP $B@0?t(B  \JP $B@0?t(B
 \EG integer  \EG integer
 @end table  @end table
Line 286  If one of argument is equal to 0, the return 0.
Line 288  If one of argument is equal to 0, the return 0.
 @fref{igcd igcdcntl}, @fref{mt_save mt_load}.  @fref{igcd igcdcntl}, @fref{mt_save mt_load}.
 @end table  @end table
   
   \JP @node isqrt,,, $B?t$N1i;;(B
   \EG @node isqrt,,, Numbers
   @subsection @code{isqrt}
   @findex isqrt
   
   @table @t
   @item isqrt(@var{n})
   \JP :: $BJ?J}:,$r1[$($J$$:GBg$N@0?t$r5a$a$k(B.
   \EG :: The integer square root of @var{n}.
   @end table
   
   @table @var
   @item return
   \JP $BHsIi@0?t(B
   \EG non-negative integer
   @item n
   \JP $BHsIi@0?t(B
   \EG non-negative integer
   @end table
   
 \JP @node inv,,, $B?t$N1i;;(B  \JP @node inv,,, $B?t$N1i;;(B
 \EG @node inv,,, Numbers  \EG @node inv,,, Numbers
 @subsection @code{inv}  @subsection @code{inv}
Line 301  If one of argument is equal to 0, the return 0.
Line 323  If one of argument is equal to 0, the return 0.
 @item return  @item return
 \JP $B@0?t(B  \JP $B@0?t(B
 \EG integer  \EG integer
 @item i,m  @item i m
 \JP $B@0?t(B  \JP $B@0?t(B
 \EG integer  \EG integer
 @end table  @end table
Line 418  function
Line 440  function
 @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 503  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 714  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 745  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} (@ref{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}.)
 @item  @item
 @table @t  @table @t
 @item $B07$($kH!?t$O(B, $B<!$NDL$j(B.  @item $B07$($kH!?t$O(B, $B<!$NDL$j(B.
Line 740  These functions works also for polynomials with comple
Line 771  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 787  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
 precision set currently. (@xref{setprec})  precision set currently. (@xref{setprec}.)
 @item  @item
 Currently available numerical functions are listed below.  Currently available numerical functions are listed below.
 Note they are only a small part of whole @b{PARI} functions.  Note they are only a small part of whole @b{PARI} functions.
Line 776  Note they are only a small part of whole @b{PARI} func
Line 815  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 838  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 1004  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 1075  We will improve @b{Asir} so that it can provide more f
Line 1118  We will improve @b{Asir} so that it can provide more f
 $B0z?t$,$"$k>l9g(B, @b{bigfloat} $B$N7e?t$r(B @var{n} $B7e$K@_Dj$9$k(B.  $B0z?t$,$"$k>l9g(B, @b{bigfloat} $B$N7e?t$r(B @var{n} $B7e$K@_Dj$9$k(B.
 $B0z?t$N$"$k$J$7$K$+$+$o$i$:(B, $B0JA0$K@_Dj$5$l$F$$$?CM$rJV$9(B.  $B0z?t$N$"$k$J$7$K$+$+$o$i$:(B, $B0JA0$K@_Dj$5$l$F$$$?CM$rJV$9(B.
 @item  @item
 @b{bigfloat} $B$N7W;;$O(B @b{PARI} (@xref{pari}) $B$K$h$C$F9T$o$l$k(B.  @b{bigfloat} $B$N7W;;$O(B @b{PARI} (@ref{pari}) $B$K$h$C$F9T$o$l$k(B.
 @item  @item
 @b{bigfloat} $B$G$N7W;;$KBP$7M-8z$G$"$k(B.  @b{bigfloat} $B$G$N7W;;$KBP$7M-8z$G$"$k(B.
 @b{bigfloat} $B$N(B flag $B$r(B on $B$K$9$kJ}K!$O(B, @code{ctrl} $B$r;2>H(B.  @b{bigfloat} $B$N(B flag $B$r(B on $B$K$9$kJ}K!$O(B, @code{ctrl} $B$r;2>H(B.
Line 1091  The return value is always the previous precision in d
Line 1134  The return value is always the previous precision in d
 the existence of an argument.  the existence of an argument.
   
 @item  @item
 @b{Bigfloat} operations are done by @b{PARI}. (@xref{pari})  @b{Bigfloat} operations are done by @b{PARI}. (@xref{pari}.)
 @item  @item
 This is effective for computations in @b{bigfloat}.  This is effective for computations in @b{bigfloat}.
 Refer to @code{ctrl()} for turning on the `@b{bigfloat} flag.'  Refer to @code{ctrl()} for turning on the `@b{bigfloat} flag.'
Line 1113  Therefore, it is safe to specify a larger value.
Line 1156  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 1220  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

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.10

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>