I would like to check if two ndarrays are overlapping views of the same underlying ndarray.
To check that two slices are exactly the same, I can do something like:
a.base is b.base and a.shape == b.shape and a.data == b.data
The comparison of buffers seemed to work in one simple case -- can anyone tell me if it works in general?
Unfortunately, this wont work for overlapping slices, and I haven't figured out how to extract from the buffer exactly what its offset is in the underlying data -- perhaps someone can help me with this?
Also, say a
and b
are slices of x
, and c
is a slice of b
. As the underlying data is the same, I would also like to detect overlaps between c
and a
. It would seem that I should be able to get away with comparing just buffer and shape... if anyone could tell me exactly how, I would be grateful.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…