> > > 3) Is comparison between pointers appropriate? For example if (dptr != > zarray) { is scary if some arrays are zero length how do we know what the > pointer value will be? > > Yes, you need to consider these cases, which is kind of error prone.
Also, I think merging transpose,and not,is a good idea because the way the code is setup it is easy. You just grab a different cached object and keep your rmaps and cmaps straight,I think.