dims_ = dims; for (int i = 0; i < dims.length; ++i) tmp_card *= dims_[i].size();
dims_ = new Range[dims.length]; for (int i = 0; i < dims.length; ++i) { dims_[i] = new ContiguousRange(0, dims[i]); tmp_card *= dims[i]; }
    Region_c(Range[] dims) {        assert dims != null;        rank = dims.length;        int tmp_card = 1;        dims_ = dims;        for (int i = 0; i < dims.length; ++i)            tmp_card *= dims_[i].size();        card = tmp_card;    }