如何在Chapel中从1D域创建2D域

时间:2017-09-01 23:00:37

标签: chapel

为了让我的矩阵A与我的向量v保持同步,我想创建

var vdom: domain(1) = {1...10},
    mdom: domain(2) = {odom, odom};

但是,这给了我一个编译器错误。

1 个答案:

答案 0 :(得分:1)

使用ranges初始化域名。因此,您需要通过调用dim(i)方法从mdom的范围构建vdom

var vdom: domain(1) = {1...10},
    mdom: domain(2) = {odom.dim(1), odom.dim(1)};

这也是将问题空间定义为范围,然后在其他地方重用该变量的常见模式:

const vectorSpace = 1..10;
var vdom = {vectorSpace},
    mdom = {vectorSpace, vectorSpace};