Если некоторые разные маски/значения предполагается обрабатывать одной и той-же процедурой (функция должна возвращать один и тот-же
результат-индекс), то возможен такой вариант содержимого массива:
Количество1 значений (= Z1), Маска1,
Значене10, Результат-индекс10
Значене11, Результат-индекс11
. . .
Значене1Z1, Результат-индекс1Z1
Количество2 значений (= Z2), Маска2,
Значене20, Результат-индекс20
Значене21, Результат-индекс21
. . .
Значене2Z2, Результат-индекс2Z2
. . .
КоличествоN значений (= ZN), МаскаN,
ЗначенеN0, Результат-индексN0
ЗначенеN1, Результат-индексN1
. . .
ЗначенеNZN, Результат-индексNZN
Количество = 0 (Признак окончания массива)