home *** CD-ROM | disk | FTP | other *** search
- ############################################################################
- #
- # File: xrotate.icn
- #
- # Subject: Procedure to rotate values in list or record
- #
- # Author: Ralph E. Griswold
- #
- # Date: April 26, 1992
- #
- ###########################################################################
- #
- # xrotate(X, i) rotates the values in X right by one position. It works
- # for lists and records.
- #
- # This procedure is mainly interesting as a recursive version of
- #
- # x1 :=: x2 :=: x3 :=: ... xn
- #
- # since a better method for lists is
- #
- # push(L, pull(L))
- #
- ############################################################################
-
- procedure rxotate(X, i)
-
- /i := 1
-
- X[i] :=: xrotate(X, i + 1)
-
- return X[i]
-
- end
-