2014-11-24 1 views
1

I 가지고 이러한 방식 정의 my_list (구조체 목록)Specman e : 목록 목록에서 값 분포를 제한하는 방법은 무엇입니까?

struct my_struct { 
    comparator[2] : list of int; 
    something_else[2] : list of uint; 
}; 

my_list[10] : list of my_struct; 

I 비교기 [0]과 비교 [1] (모두 동일한 분포)이 같은 값의 분포를 제한 할 필요가 :

my_list[10] : list of my_struct; 
keep soft for each (elem) in my_list { 
    soft elem.comparator[0] select { 
     30: [-1000 .. -50]; -- Big negative values 
     40: [-49 ..49]; -- Medium values 
     30: [50..1000]; -- Big positive values   
    }; 
    // Same for elem.comparator[1] 
}; 

컴파일 에러 나는 얻을 :

*** Error: Unrecognized exp 
    [Unrecognized expression 'elem.comparator[0] select {30: 
[-1000..-50];40: [-49..49];30: [50..1000];}'] 
       at line 
... 
     soft elem.comparator[0] select { 

목록 O 내부에있는 값의 분포를 제한하는 방법 목록? 도움을 주셔서 감사합니다.

답변

1

두 번째로 soft이 있는데 문제가되지 않습니다. 너 ==을 넣지 않은 것을 select 앞에 넣는 것을 잊었습니다. 나는이처럼 써서 :

keep for each (elem) in my_list { 
    soft elem.comparator[0] == select { 
     30: [-1000 .. -50]; -- Big negative values 
     40: [-49 ..49]; -- Medium values 
     30: [50..1000]; -- Big positive values   
    }; 
    // Same for elem.comparator[1] 
    }; 

는 또한 당신은 아마 청소기입니다 귀하의 경우 keep soft for each ...을 할 수 있습니다. soft 두 개를 남겨 둘 수 있습니다.보기에는 조금 어둡습니다. IMO.

관련 문제