RubyのMemoryView入門(7)
#RubyのMemoryView入門
前
RubyのMemoryView入門(6)
contiguousの振る舞いを調べたい
stridesとitem_sizeの違いは?
sub_offsetとは?
GST_AUDIO_FORMAT_S24_32LEみたいなやつをどう扱うか
item_sizeは24でunpackは32LE、stridesは32みたいな感じ?
一次元配列については一応分かったことにして、多次元配列について。
ndim、strides、sub_offset、shapeあたりが何を意味するか調べる。
これらを知るには結局MemoryViewの実装を読むのがよさそう……。
Pythonのバッファプロトコルのドキュメントも参考になる。
2次元配列
1から8までの8つの整数を一度ずつ使って配列を作るとする。
行指向
2行4列
code:ruby
[
1, 2, 3, 4,
5, 6, 7, 8
]
ndim 2
item size sizeof(int)
strides
sub offset
列指向
4行2列
code:ruby
[
1, 5,
2, 6,
3, 7,
4, 8
]
3次元配列