Re: slice based on base and width

2013-09-08 Thread Walter Bright
On 9/8/2013 6:03 AM, "Øivind" wrote: That throws safety out the window for one. If you want safety and no new language features, this should work: a[base..$][0..width] Thanks Still a little verbose, but at least you don't have to type the same things twice. I guess the double slice will b

Re: slice based on base and width

2013-09-08 Thread Øivind
On Sunday, 8 September 2013 at 12:08:50 UTC, Simen Kjaeraas wrote: On 2013-09-08, 14:02, Chang Long wrote: On Sunday, 8 September 2013 at 10:53:23 UTC, Øivind wrote: a[c -: d] //D: a[c-d .. c] I think this should be a[c -: d] //D: a[c-d+1 .. c+1], e.g. a[5 -: 2] == [a[4], a[5]] t

Re: slice based on base and width

2013-09-08 Thread Simen Kjaeraas
On 2013-09-08, 14:02, Chang Long wrote: On Sunday, 8 September 2013 at 10:53:23 UTC, Øivind wrote: a[c -: d] //D: a[c-d .. c] I think this should be a[c -: d] //D: a[c-d+1 .. c+1], e.g. a[5 -: 2] == [a[4], a[5]] try &a[base][0..width] That throws safety out the window for one. I

Re: slice based on base and width

2013-09-08 Thread Chang Long
On Sunday, 8 September 2013 at 10:53:23 UTC, Øivind wrote: a[c -: d] //D: a[c-d .. c] I think this should be a[c -: d] //D: a[c-d+1 .. c+1], e.g. a[5 -: 2] == [a[4], a[5]] try &a[base][0..width]

Re: slice based on base and width

2013-09-08 Thread Øivind
a[c -: d] //D: a[c-d .. c] I think this should be a[c -: d] //D: a[c-d+1 .. c+1], e.g. a[5 -: 2] == [a[4], a[5]]

slice based on base and width

2013-09-08 Thread Øivind
I find myself writing the following a lot: a[base..base+width] to get the slice starting at 'base' of width 'width'. In verilog, we select members of a vector/array in three ways a[c : d] //D: a[c .. d+1] a[c +: d] //D: a[c .. c+d] a[c -: d] //D: a[c-d .. c] Borrowing a bi