2つの配列が同じメモリブロックを指しているかどうかをテストするにはどうすればよいですか? 例えば、私はこのように働くだろう機能foo
たい:2つの配列が同じメモリブロックを共有しているかどうかをテストする方法は?
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
を私はreinterpret(Float64,ar) === a
をテストしてみたが、それはfalse
を返します。
サブアレイの場合、これはparent(subofA) === A
によって実現され、true
を返します。しかし、私は再解釈された配列に対して同じ結果を引き起こす可能性があります。
これは、実際にはこれを行うための機能が必要なほど複雑です。 – StefanKarpinski