Является ли `[<var> в <распределенной переменной>]` эквивалентным `forall`?
Я заметил кое-что в фрагменте кода, который мне дали:
var D: domain(2) dmapped Block(boundingBox=Space) = Space;
var A: [D] int;
[a in A] a = a.locale.id;
Является [a in A]
эквивалентно forall a in A a = a.locale.id
?
1 ответ
Решение
Да, точно. В часовне [a in A] expr
эквивалентно forall a in A do expr
,
Что касается названия этого вопроса, обратите внимание, что это не зависит от того, A
распространяется Например, вы также можете написать [i in 1..n]
скорее, чем forall i in 1..n do
,
Типы массивов в часовне, как [D] real
можно так же читать как
"для всех показателей в
D
, выделить элемент типаreal
".