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

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

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

Imported OpenXM/src/asir-doc. 

@node $BG[Ns(B,,, $BAH$_9~$_H!?t(B
@section $BG[Ns(B

@menu
* newvect::
* vtol::
* newmat::
* size::
* det::
* qsort::
@end menu

@node newvect,,, $BG[Ns(B
@subsection @code{newvect}
@findex newvect

@table @t
@item newvect(@var{len}[,@var{list}])
:: $BD9$5(B @var{len} $B$N%Y%/%H%k$r@8@.$9$k(B. 
@end table

@table @var
@item return
$B%Y%/%H%k(B
@item len
$B<+A3?t(B
@item list
$B%j%9%H(B
@end table

@itemize @bullet
@item
$BD9$5(B @var{len} $B$N%Y%/%H%k$r@8@.$9$k(B. $BBh(B 2 $B0z?t$,$J$$>l9g(B, 
$B3F@.J,$O(B 0 $B$K=i4|2=$5$l$k(B. $BBh(B 2 $B0z?t$,$"$k>l9g(B, 
$B%$%s%G%C%/%9$N>.$5$$@.J,$+$i(B, $B%j%9%H$N(B
$B3FMWAG$K$h$j=i4|2=$5$l$k(B. $B3FMWAG$O(B, $B@hF,$+$i=g$K(B
$B;H$o$l(B, $BB-$j$J$$J,$O(B 0 $B$,Kd$a$i$l$k(B. 
@item
$B%Y%/%H%k$N@.J,$O(B, $BBh(B 0 $B@.J,$+$iBh(B @var{len}-1 $B@.J,$H$J$k(B. 
($BBh(B 1 $B@.J,$+$i$G$O$J$$;v$KCm0U(B. )
@item
$B%j%9%H$O3F@.J,$,(B, $B%]%$%s%?$rC)$k;v$K$h$C$F%7!<%1%s%7%c%k$K(B
$B8F$S=P$5$l$k$N$KBP$7(B, $B%Y%/%H%k$O3F@.J,$,(B
$BBh0l@.J,$+$i$N%a%b%j>e$N(B displacement ($BJQ0L(B)$B$K$h$C$F%i%s%@%`%"%/%;%9$G(B
$B8F$S=P$5$l(B, $B$=$N7k2L(B, $B@.J,$N%"%/%;%9;~4V$KBg$-$J:9$,=P$F$/$k(B. 
$B@.J,%"%/%;%9$O(B, $B%j%9%H$G$O(B, $B@.J,$NNL$,A}$($k$K=>$C$F(B
$B;~4V$,$+$+$k$h$&$K$J$k$,(B, $B%Y%/%H%k$G$O(B, $B@.J,$NNL$K0MB8$;$:$[$\0lDj$G$"$k(B. 
@item
@b{Asir} $B$G$O(B, $B=D%Y%/%H%k(B, $B2#%Y%/%H%k$N6hJL$O$J$$(B. 
$B9TNs$r:8$+$i3]$1$l$P=D%Y%/%H%k$H$_$J$5$l$k$7(B, $B1&$+$i3]$1$l$P2#%Y%/%H%k$H(B
$B$_$J$5$l$k(B. 
@item
$B%Y%/%H%k$ND9$5$O(B @code{size()} $B$K$h$C$FF@$i$l$k(B. 
@item
$BH!?t$N0z?t$H$7$F%Y%/%H%k$rEO$7$?>l9g(B, $BEO$5$l$?H!?t$O(B, $B$=$N%Y%/%H%k$N@.J,(B
$B$r=q$-49$($k$3$H$,$G$-$k(B. 
@end itemize

@example
[0] A=newvect(5);
[ 0 0 0 0 0 ]
[1] A=newvect(5,[1,2,3,4,[5,6]]);
[ 1 2 3 4 [5,6] ]
[2] A[0];
1
[3] A[4];
[5,6]
[4] size(A);
[5]
[5] def afo(V) @{ V[0] = x; @}
[6] afo(A)$
[7] A;
[ x 2 3 4 [5,6] ]
@end example

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

@node vtol,,, $BG[Ns(B
@subsection @code{vtol}
@findex vtol

@table @t
@item vtol(@var{vect})
:: $B%Y%/%H%k$r%j%9%H$KJQ49$9$k(B. 
@end table

@table @var
@item return
$B%j%9%H(B
@item vect
$B%Y%/%H%k(B
@end table

@itemize @bullet
@item
$BD9$5(B @var{n} $B$N%Y%/%H%k(B @var{vect} $B$r(B
 @code{[@var{vect}[0],...,@var{vect}[@var{n}-1]]} $B$J$k%j%9%H$KJQ49$9$k(B. 
@item
$B%j%9%H$+$i%Y%/%H%k$X$NJQ49$O(B @code{newvect()} $B$G9T$&(B. 
@end itemize

@example
[3] A=newvect(3,[1,2,3]);
[ 1 2 3 ]
[4] vtol(A);
[1,2,3]
@end example

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

@node newmat,,, $BG[Ns(B
@subsection @code{newmat}
@findex newmat

@table @t
@item newmat(@var{row},@var{col} [,@var{[[a,b,}...@var{],[c,d,}...@var{],}...@var{]}])
:: @var{row} $B9T(B @var{col} $BNs$N9TNs$r@8@.$9$k(B. 
@end table

@table @var
@item return
$B9TNs(B
@item row,col
$B<+A3?t(B
@item a,b,c,d
$BG$0U(B
@end table

@itemize @bullet
@item
@var{row} $B9T(B @var{col} $BNs$N9TNs$r@8@.$9$k(B. $BBh(B 3 $B0z?t$,$J$$>l9g(B, 
$B3F@.J,$O(B 0 $B$K=i4|2=$5$l$k(B. $BBh(B 3 $B0z?t$,$"$k>l9g(B, 
$B%$%s%G%C%/%9$N>.$5$$@.J,$+$i(B, $B3F9T$,(B, $B%j%9%H$N(B
$B3FMWAG(B ($B$3$l$O$^$?%j%9%H$G$"$k(B) $B$K$h$j=i4|2=$5$l$k(B. $B3FMWAG$O(B, $B@hF,$+$i=g$K(B
$B;H$o$l(B, $BB-$j$J$$J,$O(B 0 $B$,Kd$a$i$l$k(B. 
@item
$B9TNs$N%5%$%:$O(B @code{size()} $B$GF@$i$l$k(B. 
@item
@code{M} $B$,9TNs$N$H$-(B, @code{M[I]} $B$K$h$jBh(B @code{I} $B9T$r%Y%/%H%k$H$7$F(B
$B<h$j=P$9$3$H$,$G$-$k(B. $B$3$N%Y%/%H%k$O(B, $B$b$H$N9TNs$H@.J,$r6&M-$7$F$*$j(B, 
$B$$$:$l$+$N@.J,$r=q$-49$($l$P(B, $BB>$NBP1~$9$k@.J,$b=q$-49$o$k$3$H$K$J$k(B. 
@item
$BH!?t$N0z?t$H$7$F9TNs$rEO$7$?>l9g(B, $BEO$5$l$?H!?t$O(B, $B$=$N9TNs$N@.J,(B
$B$r=q$-49$($k$3$H$,$G$-$k(B. 
@end itemize

@example
[0] A = newmat(3,3,[[1,1,1],[x,y],[x^2]]);
[ 1 1 1 ]
[ x y 0 ]
[ x^2 0 0 ]
[1] det(A);
-y*x^2
[2] size(A);
[3,3]
[3] A[1];
[ x y 0 ]
[4] A[1][3];
getarray : Out of range
return to toplevel
@end example

@table @t
@item $B;2>H(B
@fref{newvect}, @fref{size}, @fref{det}.
@end table

@node size,,, $BG[Ns(B
@subsection @code{size}
@findex size

@table @t
@item size(@var{vect|mat})
:: @code{[@var{vect} $B$ND9$5(B]} $B$^$?$O(B @code{[@var{mat} $B$N9T?t(B,@var{mat} $B$NNs?t(B]}. 
@end table

@table @var
@item return
$B%j%9%H(B
@item vect
$B%Y%/%H%k(B
@item mat
$B9TNs(B
@end table

@itemize @bullet
@item
@var{vect} $BKt$O(B, @var{mat} $B$N%5%$%:$r%j%9%H$G=PNO$9$k(B. 
@item
@var{list} $B$N%5%$%:$O(B @code{length()}$B$r(B, $BM-M}<0$K8=$l$kC19`<0$N?t$O(B @code{nmono()} $B$rMQ$$$k(B. 
@end itemize

@example
[0] A = newvect(4);
[ 0 0 0 0 ]
[1] size(A);
[4]
[2] B = newmat(2,3,[[1,2,3],[4,5,6]]);
[ 1 2 3 ]
[ 4 5 6 ]
[3] size(B);
[2,3]
@end example

@table @t
@item $B;2>H(B
@fref{car cdr cons append reverse length}, @fref{nmono}.
@end table

@node det,,, $BG[Ns(B
@subsection @code{det}
@findex det

@table @t
@item det(@var{mat}[,@var{mod}])
:: @var{mat} $B$N9TNs<0$r5a$a$k(B. 
@end table

@table @var
@item return
$B<0(B
@item mat
$B9TNs(B
@item mod
$BAG?t(B
@end table

@itemize @bullet
@item
$B9TNs(B @var{mat} $B$N9TNs<0$r5a$a$k(B. 
@item
$B0z?t(B @var{mod} $B$,$"$k;~(B, GF(@var{mod}) $B>e$G$N9TNs<0$r5a$a$k(B. 
@item
$BJ,?t$J$7$N%,%&%9>C5nK!$K$h$C$F$$$k$?$a(B, $BB?JQ?tB?9`<0$r@.J,$H$9$k(B
$B9TNs$KBP$7$F$O>.9TNs<0E83+$K$h$kJ}K!$N$[$&$,8zN($,$h$$>l9g$b$"$k(B. 
@end itemize

@example
[91] A=newmat(5,5)$                         
[92] V=[x,y,z,u,v];
[x,y,z,u,v]
[93] for(I=0;I<5;I++)for(J=0,B=A[I],W=V[I];J<5;J++)B[J]=W^J;
[94] A;
[ 1 x x^2 x^3 x^4 ]
[ 1 y y^2 y^3 y^4 ]
[ 1 z z^2 z^3 z^4 ]
[ 1 u u^2 u^3 u^4 ]
[ 1 v v^2 v^3 v^4 ]
[95] fctr(det(A));
[[1,1],[u-v,1],[-z+v,1],[-z+u,1],[-y+u,1],[y-v,1],[-y+z,1],[-x+u,1],[-x+z,1],
[-x+v,1],[-x+y,1]]
@end example

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

@node qsort,,, $BG[Ns(B
@subsection @code{qsort}
@findex qsort

@table @t
@item qsort(@var{array}[,@var{func}]) 
:: $B0l<!85G[Ns(B @var{array} $B$r%=!<%H$9$k(B. 
@end table

@table @var
@item return
@var{array} ($BF~NO$HF1$8(B; $BMWAG$N$_F~$lBX$o$k(B)
@item array
$B0l<!85G[Ns(B
@item func
$BHf3SMQ4X?t(B
@end table

@itemize @bullet
@item
$B0l<!85G[Ns$r(B quick sort $B$G%=!<%H$9$k(B. 
@item
$BHf3SMQ4X?t$,;XDj$5$l$F$$$J$$>l9g(B, $B%*%V%8%'%/%H$I$&$7$NHf3S7k2L$G(B
$B=g=x$,2<$N$b$N$+$i=g$KJB$Y49$($i$l$k(B. 
@item
0, 1, -1 $B$rJV$9(B 2 $B0z?t4X?t$,(B @var{func} $B$H$7$FM?$($i$l$?>l9g(B, 
@code{@var{func}(A,B)=1} $B$N>l9g$K(B @code{A<B} $B$H$7$F(B, $B=g=x$,2<$N(B
$B$b$N$+$i=g$KJB$Y49$($i$l$k(B. 
@item
$BG[Ns$O?7$?$K@8@.$5$l$:(B, $B0z?t$NG[Ns$NMWAG$N$_F~$lBX$o$k(B. 
@end itemize

@example
[0] qsort(newvect(10,[1,4,6,7,3,2,9,6,0,-1]));
[ -1 0 1 2 3 4 6 6 7 9 ]
[1] def rev(A,B) @{ return A>B?-1:(A<B?1:0); @}
[2] qsort(newvect(10,[1,4,6,7,3,2,9,6,0,-1]),rev);
[ 9 7 6 6 4 3 2 1 0 -1 ]
@end example

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