To: J3 10-110
From: John Reid
Subject: Comment GB-7: Clarification of rectangular pattern (2.4.7)
Date: 2010 February 01
References: WG5/N1802, WG5/N1803, J3/09-007r3
DISCUSSION
The following constructions are not clearly permitted by the text of 5.3.6
CODIMENSION attribute, though they are by 13.7.172 (UCOBOUND), and there
is a clarificatory NOTE in 6.6 (Image selectors). Neither is an obvious
place to look for the precise specification of explicit-coshape-spec.
! running on 17 images
INTEGER, SAVE :: coarray_1(10)[5,*], coarray_2(10)[34,*]
! and similarly for ALLOCATE
The root of the problem, however, lies elsewhere. The initial description
of coarray in 2.4.7 says, in paragraph 3:
"The set of corresponding coarrays on all images is arranged in a
rectangular pattern. The dimensions of this pattern are the
codimensions; the number of codimensions is the corank. The bounds
for each codimension are the cobounds."
In conventional mathematics, the size of a rectangle is an exact multiple
of each side, and that is not the case here. That is confusing. That is
also true for assumed-size arrays, but the potential for confusion there
is much less.
EDITS
[37:11+] In 2.4.7 "Coarray", after paragraph 3, add the new NOTE:
"NOTE 2.12a
If the total number of images is not a multiple of the product of
the number of images in each of the codimensions, the rectangular
pattern will be incomplete."