bpls: Inclusive ranges?

Created by: NAThompson

Describe the bug

It is unclear what the ranges are in bpls. Are they inclusive or do they not include the end? For example, I have a file here. If I run

bpls tests/data/cartesian.bp -D -l -d

I obtain

  float    density  {9, 12, 6} = 0.203009 / 0.710419
        step 0: 
          block 0: [0:8,  0: 5, 0:5] = 0.203009 / 0.710419
    (0,0,0)    0.498983 0.311612 0.479756 0.428373 0.570884 0.510595
    (0,1,0)    0.449472 0.228457 0.397323 0.506079 0.489518 0.450696
    (0,2,0)    0.429468 0.22084 0.37172 0.496209 0.459435 0.440417
    (0,3,0)    0.444066 0.235825 0.324241 0.463437 0.440521 0.509908
    (0,4,0)    0.451586 0.243595 0.305005 0.454953 0.44157 0.504738
    (0,5,0)    0.444357 0.235545 0.313118 0.458014 0.35096 0.337945
    (1,0,0)    0.639897 0.25037 0.226439 0.221348 0.229602 0.234709
    ... 
    (8,2,0)    0.496889 0.501598 0.538273 0.633015 0.60263 0.586176
    (8,3,0)    0.488583 0.488283 0.416411 0.56039 0.524052 0.517172
    (8,4,0)    0.491629 0.489793 0.416589 0.56162 0.549713 0.503897
    (8,5,0)    0.497506 0.49632 0.485055 0.624264 0.555652 0.523123
          block 1: [0:8,  5:11, 0:5] = 0.204328 / 0.710419
    (0,0,0)    0.444357 0.235545 0.313118 0.458014 0.35096 0.337945
    (0,1,0)    0.434614 0.225001 0.340256 0.46951 0.387258 0.372237
    (0,2,0)    0.429601 0.216495 0.366333 0.486767 0.423528 0.403335
    (0,3,0)    0.514002 0.296396 0.436595 0.524241 0.565466 0.543807
    (0,4,0)    0.600716 0.447219 0.603859 0.553651 0.63738 0.638639
    (0,5,0)    0.525367 0.352369 0.579496 0.580756 0.635037 0.618327
    (0,6,0)    0.509572 0.311612 0.479756 0.428373 0.570884 0.510595
    (1,0,0)    0.639897 0.297692 0.254747 0.22968 0.218302 0.217242
    ....
    (7,6,0)    0.639897 0.326836 0.280534 0.260549 0.257555 0.261225
    (8,0,0)    0.497506 0.49632 0.485055 0.624264 0.555652 0.523123
    (8,1,0)    0.506353 0.503618 0.463391 0.607477 0.51488 0.48344
    (8,2,0)    0.522768 0.521673 0.513196 0.628872 0.558281 0.524039
    (8,3,0)    0.577195 0.56476 0.58862 0.638639 0.618938 0.593348
    (8,4,0)    0.625896 0.613521 0.63159 0.638639 0.639897 0.638639
    (8,5,0)    0.599583 0.597883 0.63738 0.638639 0.63738 0.63738
    (8,6,0)    0.578709 0.473317 0.634572 0.639897 0.63738 0.629514

Expected behavior

I feel like the output:

        step 0: 
          block 0: [0:8,  0: 5, 0:5] = ...
          . . .
          block 1: [0:8,  5:11, 0:5] = ...

should be:

        step 0: 
          block 0: [0:8,  0: 5, 0:5] = ...
          . . .
          block 1: [0:8,  6:11, 0:5] = ...

Not a huge issue.

Desktop:

  • OS/Platform: Ubuntu 18.04
  • gcc 7.4
  • e36391e3