Syntax of integer lists
Integer lists consist of a sequence of strings separated by commas:
strn1,strn2,...
Each of the strn1, strn2, … can assume one of the following three forms:

a single integer or algebraic expression

two integer expressions separated by a colon, viz
low:high
gets expanded into
low, low+1, low+2, ... high

Three integer expressions separated by colons, viz
low:high:step
gets expanded into:
low, low+step, low+2*step, ... high

(Extension, not always applicable). The dup tag:
dup=#
duplicates the entire list to this point, and # is added to the duplicate elements. The list up to the current point doubles in size. dup can appear anywhere in the list.

(Extension, not always applicable). The seq tag
seq=#
can be appended to the list. seq=# replicates the existing list, shifting each element in the new list by a constant that makes the first element #. The size of the list doubles.
# itself can a single number or an integer list. If it is a list of n elements, the original list is replicated n times.
Each replication is shifted by a constant so that the first element is the current element in #. The final list is then n+1  fold larger in size than the original list.
Examples
5+1 becomes a single number, 6. 5+1:8+2 becomes a sequence of numbers, 6 7 8 9 10 5+1:8+2:2 becomes a sequence of numbers, 6 8 10 1:4,7:11 becomes the sequence 1 2 3 4 7 8 9 10 11 5,6,dup=16,8 becomes the sequence 5 6 21 22 8 5,6,8,seq=9 becomes the sequence 5 6 8 14 15 17 7:9:2,seq=9,18 becomes the sequence 7 9 16 18 25 27
Note: slatsm/mkilst.f contains the source code for generating integer lists.
Edit This Page