next up previous
Next: MINLOC/MAXLOC(array,[dim],mask) Up: 函数/FORTRAN表現早見表 Previous: RESHAPE(source,shape,[pad],[order])

PACK(array,mask,[vector])

多次元配列を1次元配列に並べる。maskを書くのを忘れない。
\begin{lstlisting}
integer(4) :: m(2,2) = reshape( (/ 3, 4, 2, 8 /), (/ 2, 2 /)...
...ack(m,mask=.true.) !! if all packed, mask needed
print *, n(3)
\end{lstlisting}

reshapeを使った等価な表現。
\begin{lstlisting}
integer(4) :: m(2,2) = reshape( (/ 3, 4, 2, 8 /), (/ 2, 2 /) )
integer(4) :: n(4)
n(1:4) = reshape(m,(/4/))
\end{lstlisting}

Fortran77を使った等価な表現。
\begin{lstlisting}
integer(4) :: m(2,2) = reshape( (/ 3, 4, 2, 8 /), (/ 2, 2 /)...
...j = 1, 2
do i = 1, 2
k = k + 1
n(k) = m(i,j)
end do
end do
\end{lstlisting}



Masaru Inatsu
平成18年3月17日