0

specmanでgenを使用して「randc」の種類の実装を生成するにはどうすればよいですか?
例:

list_l : list of uint(bits:3);
keep list_1.size () == 8;

リストのすべての要素が(0 -7)の間のランダムな番号を持つように生成したいと考えています。

4

2 に答える 2

2

リストに現在定義されている制約により、範囲内のすべての値でリストが生成されることが保証されます[0..7]
を使用genすると、必要に応じてリストが生成されます。


list_l : list of uint(bits:3);
keep list_l.size () == 8;
generate_list() is {
    gen list_l;
}

すべてのリスト アイテムを一意にする場合は、リストに次の制約を追加します。

keep list_l.all_differnt(it);
于 2013-01-29T13:23:48.963 に答える
0

リストに各値を一度入力するために、 「is_a_permutation()」疑似メソッドを使用することができます。

list_l : list of uint(bits:3);
keep list_1.is_a_permutation(all_values(uint(bits:3)));

また

keep list_1.is_a_permutation({0;1;2;3;4;5;6;7});

この例では、「is_a_permutation()」がリストサイズを正確に 8 に制限していることに注意してください。

于 2013-02-09T21:47:46.260 に答える