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

File: [local] / OpenXM / src / asir-doc / parts / builtin / num.texi (download)

Revision 1.1.1.1 (vendor branch), Wed Dec 8 05:47:44 1999 UTC (24 years, 6 months ago) by noro
Branch: NORO
CVS Tags: ASIR2000
Changes since 1.1: +0 -0 lines

Imported OpenXM/src/asir-doc. 

@node $B?t$N1i;;(B,,, $BAH$_9~$_H!?t(B
@section $B?t$N1i;;(B

@menu
* idiv irem::
* fac::
* igcd igcdcntl::
* ilcm::
* inv::
* prime lprime::
* random::
* mt_save mt_load::
* nm dn::
* conj real imag::
* eval::
* pari::
* setprec::
* setmod::
* lrandom::
@end menu

@node idiv irem,,, $B?t$N1i;;(B
@subsection @code{idiv}, @code{irem}
@findex idiv
@findex irem

@table @t
@item idiv(@var{i1},@var{i2})
:: $B@0?t=|;;$K$h$k>&(B. 
@item irem(@var{i1},@var{i2})
:: $B@0?t=|;;$K$h$k>jM>(B. 
@end table

@table @var
@item return
$B@0?t(B
@item i1,i2
$B@0?t(B
@end table

@itemize @bullet
@item
@var{i1} $B$N(B @var{i2} $B$K$h$k@0?t=|;;$K$h$k>&(B, $B>jM>$r5a$a$k(B. 
@item
@var{i2} $B$O(B 0 $B$G$"$C$F$O$J$i$J$$(B. 
@item
$BHo=|?t$,Ii$N>l9g(B, $B@dBPCM$KBP$9$kCM$K%^%$%J%9$r$D$1$?CM$rJV$9(B. 
@item
@var{i1} @code{%} @var{i2} $B$O(B, $B7k2L$,@5$K@55,2=$5$l$k$3$H$r=|$1$P(B
@code{irem()} $B$NBe$o$j$KMQ$$$k$3$H$,$G$-$k(B. 
@item
$BB?9`<0$N>l9g$O(B @code{sdiv}, @code{srem} $B$rMQ$$$k(B. 
@end itemize

@example
[0] idiv(100,7);
14
[0] idiv(-100,7);
-14
[1] irem(100,7);
2
[1] irem(-100,7);
-2
@end example

@table @t
@item $B;2>H(B
@fref{sdiv sdivm srem sremm sqr sqrm}, @fref{%}.
@end table

@node fac,,, $B?t$N1i;;(B
@subsection @code{fac}
@findex fac

@table @t
@item fac(@var{i})
:: @var{i} $B$N3,>h(B. 
@end table

@table @var
@item return
$B@0?t(B
@item i
$B@0?t(B
@end table

@itemize @bullet
@item
@var{i} $B$N3,>h$r7W;;$9$k(B. 
@item
@var{i} $B$,Ii$N>l9g$O(B 0 $B$rJV$9(B. 
@end itemize

@example
[0] fac(50);
30414093201713378043612608166064768844377641568960512000000000000
@end example

@node igcd igcdcntl,,, $B?t$N1i;;(B
@subsection @code{igcd},@code{igcdcntl}
@findex igcd
@findex igcdcntl

@table @t
@item igcd(@var{i1},@var{i2})
:: $B@0?t$N(B GCD ($B:GBg8xLs?t(B)
@item igcdcntl([@var{i}])
:: $B@0?t(B GCD$B$N%"%k%4%j%:%`A*Br(B
@end table

@table @var
@item return
$B@0?t(B
@item i1,i2,i
$B@0?t(B
@end table

@itemize @bullet
@item
@code{igcd} $B$O(B @var{i1} $B$H(B @var{i2} $B$N(B GCD $B$r5a$a$k(B. 
@item
$B0z?t$,@0?t$G$J$$>l9g$O(B, $B%(%i!<$^$?$OL50UL#$J7k2L$rJV$9(B. 
@item
$BB?9`<0$N>l9g$O(B, @code{gcd}, @code{gcdz} $B$rMQ$$$k(B. 
@item
$B@0?t(B GCD $B$K$O$5$^$6$^$JJ}K!$,$"$j(B, @code{igcdcntl} $B$G@_Dj$G$-$k(B. 

@table @code
@item 0
Euclid $B8_=|K!(B (default)
@item 1
binary GCD
@item 2
bmod GCD
@item 3
accelerated integer GCD
@end table
2, 3 $B$O(B K. Weber, ACM TOMS, Vol.21, No. 1 (1995), pp. 111-122 $B$K$h$k(B. 

$B$*$*$`$M(B 3 $B$,9bB.$@$,(B, $BNc30$b$"$k(B. 
@end itemize

@example
[0] A=lrandom(10^4)$
[1] B=lrandom(10^4)$
[2] C=lrandom(10^4)$
[3] D=A*C$
[4] E=A*B$
[5] cputime(1)$
[6] igcd(D,E)$
0.6sec + gc : 1.93sec(2.531sec)
[7] igcdcntl(1)$
[8] igcd(D,E)$  
0.27sec(0.2635sec)
[9] igcdcntl(2)$
[10] igcd(D,E)$  
0.19sec(0.1928sec)
[11] igcdcntl(3)$
[12] igcd(D,E)$  
0.08sec(0.08023sec)
@end example

@table @t
@item $B;2>H(B
@fref{gcd gcdz}.
@end table

@node ilcm,,, $B?t$N1i;;(B
@subsection @code{ilcm}
@findex ilcm

@table @t
@item ilcm(@var{i1},@var{i2})
:: $B:G>.8xG\?t$r5a$a$k(B. 
@end table

@table @var
@item return
$B@0?t(B
@item i1,i2
$B@0?t(B
@end table

@itemize @bullet
@item
$B@0?t(B @var{i1}, @var{i2} $B$N:G>.8xG\?t$r5a$a$k(B. 
@item
$B0lJ}$,(B 0 $B$N>l9g(B 0 $B$rJV$9(B. 
@item

@end itemize

@table @t
@item $B;2>H(B
@fref{igcd igcdcntl}, @fref{mt_save mt_load}.
@end table
@node inv,,, $B?t$N1i;;(B
@subsection @code{inv}
@findex inv

@table @t
@item inv(@var{i},@var{m})
:: @var{m} $B$rK!$H$9$k(B @var{i} $B$N5U?t(B
@end table

@table @var
@item return
$B@0?t(B
@item i,m
$B@0?t(B
@end table

@itemize @bullet
@item
@var{ia} @equiv{} 1 mod (@var{m}) $B$J$k@0?t(B @var{a} $B$r5a$a$k(B. 
@item
@var{i} $B$H(B @var{m} $B$O8_$$$KAG$G$J$1$l$P$J$i$J$$$,(B, @code{inv()} $B$O(B
$B$=$N%A%'%C%/$O9T$o$J$$(B. 
@end itemize

@example
[71] igcd(1234,4321);  
1
[72] inv(1234,4321);
3239
[73] irem(3239*1234,4321);
1
@end example

@table @t
@item $B;2>H(B
@fref{igcd igcdcntl}.
@end table

@node prime lprime,,, $B?t$N1i;;(B
@subsection @code{prime}, @code{lprime}
@findex prime
@findex lprime

@table @t
@item prime(@var{index})
@item lprime(@var{index})
:: $BAG?t$rJV$9(B
@end table

@table @var
@item return
$B@0?t(B
@item index
$B@0?t(B
@end table

@itemize @bullet
@item
@code{prime()}, @code{lprime()} $B$$$:$l$b%7%9%F%`$,FbIt$K;}$D(B
$BAG?tI=$NMWAG$rJV$9(B. @code{index} $B$O(B 0 $B0J>e$N@0?t$G(B, $BAG?tI=(B
$B$N%$%s%G%C%/%9$KMQ$$$i$l$k(B. @code{prime()} $B$O(B 16381 $B$^$G(B
$B$NAG?t$r>.$5$$=g$K(B 1900 $B8D(B, @code{lprime()} $B$O(B, 10 $B?J(B 8 $B7e$G:GBg$N(B
$BAG?t$+$iBg$-$$=g$K(B 999 $B8DJV$9(B. $B$=$l0J30$N%$%s%G%C%/%9$KBP$7$F$O(B
0 $B$rJV$9(B. 
@item
$B$h$j0lHLE*$JAG?t@8@.H!?t$H$7$F$O(B, @code{pari(nextprime,@var{number})}
$B$,$"$k(B. 
@end itemize

@example
[95] prime(0);
2
[96] prime(1228);
9973
[97] lprime(0);
99999989
[98] lprime(999);
0
@end example

@table @t
@item $B;2>H(B
@fref{pari}.
@end table

@node random,,, $B?t$N1i;;(B
@subsection @code{random}
@findex random

@table @t
@item radom([@var{seed}])
:: $BMp?t$r@8@.$9$k(B. 
@end table

@table @var
@item seed
@item return
$B<+A3?t(B
@end table

@itemize @bullet
@item
$B:GBg(B 2^32-1 $B$NHsIi@0?t$NMp?t$r@8@.$9$k(B. 
@item
0 $B$G$J$$0z?t$,$"$k;~(B, $B$=$NCM$r(B seed $B$H$7$F@_Dj$7$F$+$i(B, $BMp?t$r@8@.$9$k(B. 
@item
default $B$N(B seed $B$O8GDj$N$?$a(B, $B<o$r@_Dj$7$J$1$l$P(B, $B@8@.$5$l$kMp?t$N(B
$B7ONs$O5/F0Kh$K0lDj$G$"$k(B. 
@item
$B>>K\bC(B-$B@>B<Bs;N$K$h$k(B Mersenne Twister (http://www.math.keio.ac.jp/matsumoto/mt.html) $B%"%k%4%j%:%`$N(B, $BH`$i<+?H$K$h$k<BAu$rMQ$$$F$$$k(B. 
@item
$B<~4|$O(B 2^19937-1 $B$HHs>o$KD9$$(B. 
@item
@code{mt_save} $B$K$h$j(B state $B$r%U%!%$%k$K(B save $B$G$-$k(B. $B$3$l$r(B @code{mt_load}
$B$GFI$_9~$`$3$H$K$h$j(B, $B0[$k(B Asir $B%;%C%7%g%s4V$G0l$D$NMp?t$N7ONs$rC)$k$3$H$,(B
$B$G$-$k(B. 
@end itemize

@table @t
@item $B;2>H(B
@fref{lrandom}, @fref{mt_save mt_load}.
@end table

@node lrandom,,, $B?t$N1i;;(B
@subsection @code{lrandom}
@findex lrandom

@table @t
@item lradom(@var{bit})
:: $BB?G\D9Mp?t$r@8@.$9$k(B. 
@end table

@table @var
@item bit
@item return
$B<+A3?t(B
@end table

@itemize @bullet
@item
$B9b!9(B @var{bit} $B$NHsIi@0?t$NMp?t$r@8@.$9$k(B. 
@item
@code{random} $B$rJ#?t2s8F$S=P$7$F7k9g$7(B, $B;XDj$N(B bit $BD9$K%^%9%/$7$F$$$k(B. 
@end itemize

@table @t
@item $B;2>H(B
@fref{random}, @fref{mt_save mt_load}.
@end table

@node mt_save mt_load,,, $B?t$N1i;;(B
@subsection @code{mt_save}, @code{mt_load}
@findex mt_save
@findex mt_load

@table @t
@item mt_save(@var{fname})
:: $BMp?t@8@.4o$N8=:_$N>uBV$r%U%!%$%k$K%;!<%V$9$k(B. 
@item mt_load(@var{fname})
:: $B%U%!%$%k$K%;!<%V$5$l$?Mp?t@8@.4o$N>uBV$r%m!<%I$9$k(B. 
@end table

@table @var
@item return
0 $B$^$?$O(B 1
@item fname
$BJ8;zNs(B
@end table

@itemize @bullet
@item $B$"$k>uBV$r%;!<%V$7(B, $B$=$N>uBV$r%m!<%I$9$k$3$H$G(B, 
$B0l$D$N5?;wMp?t7ONs$r(B, $B?75,$N(B Asir $B%;%C%7%g%s$GB3$1$F$?$I$k$3$H$,(B
$B$G$-$k(B. 
@end itemize

@example
[340] random();
3510405877
[341] mt_save("/tmp/mt_state");
1
[342] random();
4290933890
[343] quit;
% asir
This is Asir, Version 991108.
Copyright (C) FUJITSU LABORATORIES LIMITED.
3 March 1994. All rights reserved.
[340] mt_load("/tmp/mt_state");
1
[341] random();
4290933890
@end example

@table @t
@item $B;2>H(B
@fref{random}, @fref{lrandom}.
@end table

@node nm dn,,, $B?t$N1i;;(B
@subsection @code{nm}, @code{dn}
@findex nm
@findex dn

@table @t
@item nm(@var{rat})
:: @var{rat} $B$NJ,;R(B. 
@item dn(@var{rat})
:: @var{rat} $B$NJ,Jl(B. 
@end table

@table @var
@item return
$B@0?t$^$?$OB?9`<0(B
@item rat
$BM-M}?t$^$?$OM-M}<0(B
@end table

@itemize @bullet
@item
$BM?$($i$l$?M-M}?t$^$?M-M}<0$NJ,;R5Z$SJ,Jl$rJV$9(B. 
@item
$BM-M}?t$N>l9g(B, $BJ,Jl$O>o$K@5$G(B, $BId9f$OJ,;R$,;}$D(B. 
@item
$BM-M}<0$N>l9g(B, $BC1$KJ,Jl(B, $BJ,;R$r<h$j=P$9$@$1$G$"$k(B. 
$BM-M}<0$KBP$7$F$O(B, $BLsJ,$O<+F0E*$K$O9T$o$l$J$$(B. @code{red()}
$B$rL@<(E*$K8F$S=P$9I,MW$,$"$k(B. 
@end itemize

@example
[2] [nm(-43/8),dn(-43/8)];
[-43,8]
[3] dn((x*z)/(x*y));
y*x
[3] dn(red((x*z)/(x*y)));
y
@end example

@table @t
@item $B;2>H(B
@fref{red}.
@end table

@node conj real imag,,, $B?t$N1i;;(B
@subsection @code{conj}, @code{real}, @code{imag}
@findex conj

@table @t
@item real(@var{comp})
:: @var{comp} $B$N<B?tItJ,(B. 
@item imag(@var{comp})
:: @var{comp} $B$N5u?tItJ,(B. 
@item conj(@var{comp})
:: @var{comp} $B$N6&LrJ#AG?t(B. 
@end table

@table @var
@item return comp
$BJ#AG?t(B
@end table

@itemize @bullet
@item
$BJ#AG?t$KBP$7(B, $B<BIt(B, $B5uIt(B, $B6&Lr$r5a$a$k(B. 
@item
$B$3$l$i$O(B, $BB?9`<0$KBP$7$F$bF/$/(B. 
@end itemize

@example
[111] A=(2+@@i)^3; 
(2+11*@@i)
[112] [real(A),imag(A),conj(A)];
[2,11,(2-11*@@i)]
@end example

@node eval,,, $B?t$N1i;;(B
@subsection @code{eval}
@findex eval
@cindex PARI

@table @t
@item eval(@var{obj}[,@var{prec}])
:: @var{obj} $B$NCM$NI>2A(B. 
@end table

@table @var
@item return
$B?t$"$k$$$O<0(B
@item obj
$B0lHL$N<0(B
@item prec
$B@0?t(B
@end table

@itemize @bullet
@item
@var{obj} $B$K4^$^$l$kH!?t$NCM$r2DG=$J8B$jI>2A$9$k(B. 
@item
$B7W;;$O(B @b{PARI} (@xref{pari}) $B$,9T$&(B. 
@item
@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. 
(@xref{setprec})
@item
@table @t
@item $B07$($kH!?t$O(B, $B<!$NDL$j(B. 
@code{sin}, @code{cos}, @code{tan},

@code{asin}, @code{acos}, @code{atan},

@code{sinh}, @code{cosh}, @code{tanh},

@code{asinh}, @code{acosh}, @code{atanh},

@code{exp}, @code{log}, @code{pow(a,b) (a^b)}
@end table
@item
$B0J2<$N5-9f$r?t$H$7$FI>2A$G$-$k(B. 
@table @t
@item @@i
$B5u?tC10L(B
@item @@pi
$B1_<~N((B
@item @@e
$B<+A3BP?t$NDl(B
@end table
@end itemize

@example
[118] eval(exp(@@pi*@@i));   
-1.0000000000000000000000000000
[119] eval(2^(1/2));
1.414213562373095048763788073031
[120] eval(sin(@@pi/3));
0.86602540378443864674620506632
[121] eval(sin(@@pi/3)-3^(1/2)/2,50);
-2.78791084448179148471 E-58
@end example

@table @t
@item $B;2>H(B
@fref{ctrl}, @fref{setprec}, @fref{pari}.
@end table

@node pari,,, $B?t$N1i;;(B
@subsection @code{pari}
@findex pari
@cindex PARI

@table @t
@item pari(@var{func},@var{arg},@var{prec}) 
:: @b{PARI} $B$NH!?t(B @var{func} $B$r8F$S=P$9(B. 
@end table

@table @var
@item return
@var{func} $BKh$K0[$J$k(B. 
@item func
@b{PARI} $B$NH!?tL>(B
@item arg
@var{func} $B$N0z?t(B
@item prec
$B@0?t(B
@end table

@itemize @bullet
@item
@b{PARI} $B$NH!?t$r8F$S=P$9(B. 

@item
@b{PARI} @code{[Batut et al.]} $B$O(B Bordeaux $BBg3X$G3+H/$5$l%U(B
$B%j!<%=%U%H%&%'%"$H$7$F8x3+$5$l$F$$$k(B. @b{PARI} $B$O?t<0=hM}E*$J5!G=$rM-(B
$B$7$F$O$$$k$,(B, $B<g$J%?!<%2%C%H$O@0?tO@$K4XO"$7$??t(B (@b{bignum},
@b{bigfloat}) $B$N1i;;$G(B, $B;MB'1i;;$K8B$i$:(B@b{bigfloat} $B$K$h$k$5$^$6$^$J(B
$BH!?tCM$NI>2A$r9bB.$K9T$&$3$H$,$G$-$k(B. @b{PARI} $B$OB>$N%W%m%0%i%`$+$i(B
$B%5%V%k!<%A%s%i%$%V%i%j$H$7$FMQ$$$k$3$H$,$G$-(B, $B$^$?(B, @samp{gp} $B$H$$$&(B 
@b{PARI}$B%i%$%V%i%j$N%$%s%?%U%'!<%9$K$h$j(B UNIX $B$N%"%W%j%1!<%7%g%s$H$7$F(B
$BMxMQ$9$k$3$H$b$G$-$k(B. $B8=:_$N%P!<%8%g%s$O(B @b{1.39} $B$G$$$/$D$+$N(B ftp
site ($B$?$H$($P(B @code{math.ucla.edu:/pub/pari})
$B$+$i(B anonymous ftp $B$G$-$k(B. 
@item
$B:G8e$N0z?t(B @var{prec} $B$G7W;;@:EY$r;XDj$G$-$k(B.
@var{prec} $B$r>JN,$7$?>l9g(B @code{setprec()} $B$G;XDj$7$?@:EY$H$J$k(B. 
@item
$B8=;~E@$G<B9T$G$-$k(B @b{PARI} $B$NH!?t$O<!$NDL$j$G$"$k(B. $B$$$:$l$b(B
1 $B0z?t$G(B @b{Asir} $B$,BP1~$G$-$k7?$N0z?t$r$H$kH!?t$G$"$k(B. 
$B$J$*3F!9$N5!G=$K$D$$$F$O(B @b{PARI} $B$N%^%K%e%"%k$r;2>H$N$3$H(B.

@code{abs},
@code{adj},
@code{arg},
@code{bigomega},
@code{binary},
@code{ceil},
@code{centerlift},
@code{cf},
@code{classno},
@code{classno2},
@code{conj},
@code{content},
@code{denom},
@code{det},
@code{det2},
@code{detr},
@code{dilog},
@code{disc},
@code{discf},
@code{divisors},
@code{eigen},
@code{eintg1},
@code{erfc},
@code{eta},
@code{floor},
@code{frac},
@code{galois},
@code{galoisconj},
@code{gamh},
@code{gamma},
@code{hclassno},
@code{hermite},
@code{hess},
@code{imag},
@code{image},
@code{image2},
@code{indexrank},
@code{indsort},
@code{initalg},
@code{isfund},
@code{isprime},
@code{ispsp},
@code{isqrt},
@code{issqfree},
@code{issquare},
@code{jacobi},
@code{jell},
@code{ker},
@code{keri},
@code{kerint},
@code{kerintg1},
@code{kerint2},
@code{kerr},
@code{length},
@code{lexsort},
@code{lift},
@code{lindep},
@code{lll},
@code{lllg1},
@code{lllgen},
@code{lllgram},
@code{lllgramg1},
@code{lllgramgen},
@code{lllgramint},
@code{lllgramkerim},
@iftex
@break
@end iftex
@code{lllgramkerimgen},
@code{lllint},
@code{lllkerim},
@code{lllkerimgen},
@code{lllrat},
@code{lngamma},
@code{logagm},
@code{mat},
@code{matinvr},
@code{matrixqz2},
@code{matrixqz3},
@code{matsize},
@code{modreverse},
@code{mu},
@code{nextprime},
@code{norm},
@code{norml2},
@code{numdiv},
@code{numer},
@code{omega},
@code{order},
@code{ordred},
@code{phi},
@code{pnqn},
@code{polred},
@code{polred2},
@code{primroot},
@code{psi},
@code{quadgen},
@code{quadpoly},
@code{real},
@code{recip},
@code{redcomp},
@code{redreal},
@code{regula},
@code{reorder},
@code{reverse},
@code{rhoreal},
@code{roots},
@code{rootslong},
@code{round},
@code{sigma},
@code{signat},
@code{simplify},
@code{smalldiscf},
@code{smallfact},
@code{smallpolred},
@code{smallpolred2},
@code{smith},
@code{smith2},
@code{sort},
@code{sqr},
@code{sqred},
@code{sqrt},
@code{supplement},
@code{trace},
@code{trans},
@code{trunc},
@code{type},
@code{unit},
@code{vec},
@code{wf},
@code{wf2},
@code{zeta}

@item
@b{Asir} $B$GMQ$$$F$$$k$N$O(B @b{PARI} $B$N$[$s$N0lIt$N5!G=$G$"$k$,(B, $B:#8e(B
$B$h$jB?$/$N5!G=$,MxMQ$G$-$k$h$&2~NI$9$kM=Dj$G$"$k(B. 
@end itemize

@example
/* $B9TNs$N8GM-%Y%/%H%k$r5a$a$k(B. */
[0] pari(eigen,newmat(2,2,[[1,1],[1,2]]));
[ -1.61803398874989484819771921990 0.61803398874989484826 ]
[ 1 1 ]
/* 1 $BJQ?tB?9`<0$N:,$r5a$a$k(B. */
[1] pari(roots,t^2-2);
[ -1.41421356237309504876 1.41421356237309504876 ]
@end example

@table @t
@item $B;2>H(B
@fref{setprec}.
@end table

@node setprec,,, $B?t$N1i;;(B
@subsection @code{setprec}
@findex setprec
@cindex PARI

@table @t
@item setprec([@var{n}])
:: @b{bigfloat} $B$N7e?t$r(B @var{n} $B7e$K@_Dj$9$k(B. 
@end table

@table @var
@item return
$B@0?t(B
@item n
$B@0?t(B
@end table

@itemize @bullet
@item
$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. 
@item
@b{bigfloat} $B$N7W;;$O(B @b{PARI} (@xref{pari}) $B$K$h$C$F9T$o$l$k(B. 
@item
@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. 
@item
$B@_Dj$G$-$k7e?t$K>e8B$O$J$$$,(B, $B;XDj$7$?7e?t$K@_Dj$5$l$k$H$O(B
$B8B$i$J$$(B. $BBg$-$a$NCM$r@_Dj$9$k$N$,0BA4$G$"$k(B. 
@end itemize

@example
[1] setprec();
9
[2] setprec(100);
9
[3] setprec(100);
96
@end example

@table @t
@item $B;2>H(B
@fref{ctrl}, @fref{eval}, @fref{pari}.
@end table

@node setmod,,, $B?t$N1i;;(B
@subsection @code{setmod}
@findex setmod

@table @t
@item setmod([@var{p}])
:: $BM-8BBN$r(B GF(@var{p}) $B$K@_Dj$9$k(B. 
@end table

@table @var
@item return
$B@0?t(B
@item n
2^27 $BL$K~$NAG?t(B
@end table

@itemize @bullet
@item
$BM-8BBN$r(B GF(@var{p}) $B$K@_Dj$9$k(B. $B@_DjCM$rJV$9(B. 
@item
$BM-8BBN$N85$N7?$r;}$D?t$O(B, $B$=$l<+?H$O$I$NM-8BBN$KB0$9$k$+$N>pJs$r;}$?$:(B, 
$B8=:_@_Dj$5$l$F$$$kAG?t(B @var{p} $B$K$h$j(B GF(@var{p}) $B>e$G$N1i;;$,E,MQ$5$l$k(B. 
@end itemize

@example
[0] A=dp_mod(dp_ptod(2*x,[x]),3,[]);
(2)*<<1>>
[1] A+A;
addmi : invalid modulus
return to toplevel
[1] setmod(3);
3
[2] A+A;
(1)*<<1>>
@end example

@table @t
@item $B;2>H(B
@fref{dp_mod dp_rat}, @fref{$B?t$N7?(B}.
@end table