두 개의 배열이 같은 메모리 블록을 가리키는 지 어떻게 테스트합니까? 예를 들어,이 같이 작동 할 함수 foo
싶습니다 내가 reinterpret(Float64,ar) === a
을 테스트 한두 배열이 같은 메모리 블록을 공유하는지 테스트하는 방법은 무엇입니까?
a = rand(10) # Float64 array with 10 elements
b = copy(a) # b == a is true, but b === a is false
ar = reinterpret(Float32,a)
foo(ar,a) # I'd like this to return true
foo(reinterpret(Float64,ar),b) # I'd like this to return false, even if reinterpret(Float64,ar) == b
을하지만 false
를 반환합니다.
서브 어레이의 경우 parent(subofA) === A
을 통해 이루어지며 true
을 반환합니다. 그러나 재 해석 된 배열에 대해서도 같은 결과가 나올 수 있습니다.
이렇게 복잡하기 때문에 실제로이 작업을 수행해야합니다. – StefanKarpinski