3

私はmy_listそれをこのように定義しました:

struct my_struct {
    comparator[2] : list of int(bits:16);
    something_else[2] : list of uint(bits:16);
};
...
my_list[10] : list of my_struct;

comparatorsすべてのリストで同じインデックス (0 または 1) を使用することは禁止されています。このように制約すると (たとえば、インデックス 0 の場合):

 keep my_list.all_different(it.comparator[0]);

コンパイルエラーが発生します:

*** Error: GEN_NO_GENERATABLE_NOTIF: 

    Constraint without any generatable element.
    ... 
    keep my_list.all_different(it.comparator[0]);

それらをすべて異なるものにするにはどうすればよいですか?どんな助けにも感謝します

4

2 に答える 2

2

また、一度に機能します。

keep for each (elem) in my_list {
  elem.comparator[0] not in my_list[0..max(0, index-1)].apply(.comparator[0]);
  elem.comparator[1] not in my_list[0..max(0, index-1)].apply(.comparator[1]);      
};
于 2014-11-19T10:03:17.723 に答える