我想在SystemVerilog中找到两个列表之间的交集。来自斯特曼的
var intersect: list of my_enum;
intersect = listA.all(it in listB);
我觉得这很古怪。但最好能在SystemVerilog中提出的是:
typedef enum {A, B, C, D} my_enum;
my_enum listA[$] = {A, B, C};
my_enum listB[$] = {B, C, D};
my_enum intersect[$];
foreach(listA[i])
if(listA[i] inside listB)
intersect.push_back(listA[i]);
IEEE 1800-2012确实提到了一个交叉关键字,但似乎并不适用于这种情况。有更优雅的方式吗?
答案 0 :(得分:3)
@csrf_exempt
def user_find(request):
args = json.loads(request.body, object_hook=utils._datetime_decoder)
providedEmail = args['providedEmail']
try:
user = User.objects.get(email=providedEmail)
user_dict = {'exists': 'true', 'name': user.first_name, 'id': user.id}
return HttpResponse(json.dumps(user_dict))
except User.DoesNotExist:
user_dict = {'exists': 'false'}
return HttpResponse(json.dumps(user_dict))
是SVA中使用的关键字。建议不要使用任何关键字作为变量名。
查看IEEE Std 1800-2012§7.12数组操作方法
我相信这是所需的等效功能:
intersect