1.数组递减方法 (用于非合并数组:固定数组、动态数组、队列和联合数组)
- 求和sum,求积product,与and,或or,异或xor
- a.sum单比特数组的求和返回单比特的数值
- 求最大值max,求最小值min,唯一化unique
bit on[10];
int summ;
initial begin
foreach(on[i])
on[i]=i;
$display(on.sum);
summ=on.sum;
end
int q[$]={1,3,5,7},tq[$];
int f[6] = '{1,6,2,6,8,6};
$display(q.sum,q.product);
tq = q.min();
tq = q.max();
tq = f.unique;
2.数组排序操作
- 翻转:reverse
- 乱序:shuffle
- 升序排列:sort
- 降序排列:rsort
int d[]='{9,1,8,3,4,4};
int td[$];
td = d.reverse();
td = d.shuffle();
td = d.sort();
td = d.rsort();
3.数组定位操作
- 查找元素:find
- 查找第一个元素:find_first
- 查找第一个元素的索引:find_first_with_index
int d[] = '{9,1,8,3,4,4},tq[$];
tq = d.find with(item>3);
tq = d.find_index with(item>99);
tq = d.dind_dirst_index with(item==8);
tq = d.find_index with(item==4);
tq = d.find_last_index with(item==4);
4.数组定位操作
int count,total,d[] = '{9,1,8,3,4,4};
count = d.sum(x) with(x>7);
count = d.sum(x) with((x>7)*1);
total = d.sum(x) with((x>7)*x);
count = d.sum(x) with(x<8);
count = d.sum(x) with((x<8)*1);
total = d.sum(x) with(x<8?x:0);
count = d.sum(x) with(x==4);
count = d.sum(x) with((x==4)*1);