мне нужно генерировать случайные значения списка со следующим Constrain:Specman На Fly Generation: Как ограничить список, значения которого отличаются друг от друга по крайней мере, 2
my_list[i] not in [my_list[i-1] .. my_list[i-1] + 1]
т.е. всех значений в списке отличаются друг от друга и, по меньшей мере, с разницей между собой. Все варианты кода, которые я пробовал, не удалось, например:
var prev_val : uint = 0;
gen my_list keeping {
it.size() == LIST_SIZE;
it.all_different(it);
for each (val) in it {
val not in [prev_val .. prev_val + 1];
prev_val = val;
};
};
Как такой список может быть сгенерирован? Спасибо за вашу помощь
К сожалению, ваше первое решение создаст ICFS, и это не рекомендуется. (all_different требует, чтобы элементы были разрешены вместе, а значение/read_only определяет порядок). –