我創建了一個結構體列表,我喜歡在每個結構體中的字段值中求和,以滿足特定的條件。 例如:在e/Specman中總結列表項目的最佳方式
struct packet {
val:int;
cond:bool;
};
l:list of packet;
當我寫:
keep l.all(it.cond).sum(it.val) == 1000;
I get an error: GEN_NO_GENERATABLE_NOTIF.
當我定義結果變量:
sum_val : int;
keep sum_val == 100;
和改變約束到: 保持l.all( it.cond).sum(it.val)== sum_val;
我得到一個矛盾!
如何讓它工作?