Just coerce the RleList to SimpleIntegerList.


On Sat, Mar 29, 2014 at 1:10 PM, Gabe Becker <becker.gabe@gene.com> wrote:

> Hi all,
>
> Apologies if this gets duplicated. I was not subscribed when I originally
> sent it.
>
> We have a very large RleList, such that the sum of the lengths is larger
> than INT.MAX, that we want to convert to an also very large
> IntegerList (whole genome coverages by chromosome I believe, though I'm not
> the author of the code that ran into this so I could be wrong about the
> details there).
>
> The IntegerList will fit in memory fine, but the coercion method is trying
> to collapse our RleList into a single Rle (in compress_listData() which is
> called from coerceToCompressedList() ) during the coercion step, which is
> too long and causes an integer overflow in the constructor. Specically the
> Rle_constructor C function is calling _sum_non_neg_ints C function, which
> throws an error.
>
> I can see that there is quite a bit of machinery trying to make these
> coercions go fast, but it seems they have introduced an  unintended (?)
> limitation on the size of the *List objects involved. Is there a slower but
> more robust coercion machinery I don't know about, and if not could one be
> exposed? (Fast and more robust would also be acceptable ;-) )
>
> Thanks,
> ~G
>
>         [[alternative HTML version deleted]]
>
> _______________________________________________
> Bioc-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/bioc-devel
>

	[[alternative HTML version deleted]]

