From: Andras V. <and...@ui...> - 2012-06-28 11:49:51
|
Dear Patrik, I looked at the constructors from an existing block of memory (blitz/array-impl.h Hg-1900 lines 333–433), and the only difference compared to the CVS-1.33 version (lines 328–407) is the appearance of the precondition: BZPRECHECK(isStorageContiguous(), "Non-contiguous storage used with pre-existing memory"); in lines 350, 400, and 429. Hence, the reason for the change of behaviour is clear. This assertion indeed seems too strict because the docstrings of the constructors state: 'If the storage represents a padded array, the length of the memory block will be incorrect, which would lead to a crash if "deleteDataWhenDone" is used. For this reason, we check that the resulting array is contiguous.' So, why not just remove the assertion in line 350, and replace the two others with BZPRECHECK(deletionPolicy!=deleteDataWhenDone || isStorageContiguous(), "Non-contiguous storage used with owned pre-existing memory"); Cf. the attached patch, which solved the problem mentioned in my first mail. Best regards, András Dr. Andras Vukics Institute for Theoretical Physics University of Innsbruck On Mon, Jun 18, 2012 at 6:27 AM, Patrik Jonsson <co...@fa...> wrote: > > Hi Andras, > > I don't recall whether this is possible before the change, but I don't > think breaking this was intentional. If it actually works without > BZ_DEBUG, it's likely that the assertion just wasn't sufficiently > general. Do you have a suggestion for how to update it? > > cheers, > > /Patrik > > On Wed, May 30, 2012 at 7:48 AM, Andras Vukics <and...@ui...> wrote: > > Dear Patrik, > > > > It seems to me a bit harsh that the Mercurial version in BZ_DEBUG mode > > does not allow the creation of non-contiguous blitz::Arrays out of > > pre-existing data, especially because the CVS version does allow it. > > > > For good reason, I need some code which sidesteps the Blitz slicing > > mechanisms and does slicing by hand, so to say, referencing > > pre-existing memory by a newly created array which already represents > > a slice. Of course, I have to be careful with bases, storage orders, > > etc., but it always used to work fine, and it still does without > > BZ_DEBUG. > > > > Can you be persuaded to revert this precondition? > > > > Thanks and best regards, > > András Vukics > > > > > > > > Dr. Andras Vukics > > Institute for Theoretical Physics > > University of Innsbruck > > > > ------------------------------------------------------------------------------ > > Live Security Virtual Conference > > Exclusive live event will cover all the ways today's security and > > threat landscape has changed and how IT managers can respond. Discussions > > will include endpoint security, mobile security and the latest in malware > > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > > _______________________________________________ > > Blitz-support mailing list > > Bli...@li... > > https://lists.sourceforge.net/lists/listinfo/blitz-support > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > Blitz-support mailing list > Bli...@li... > https://lists.sourceforge.net/lists/listinfo/blitz-support |