module Array0:sig
..end
零維陣列。Array0
結構提供類似於 Bigarray.Genarray
的操作,但專用於僅包含單一純量值的零維陣列。靜態地知道陣列的維度數量可以加快操作速度,並提供更精確的靜態型別檢查。
type (!'a, !'b, !'c)
t
零維 Bigarray 的型別,其元素具有 OCaml 型別 'a
、表示種類 'b
和記憶體佈局 'c
。
val create : ('a, 'b) Bigarray.kind ->
'c Bigarray.layout -> ('a, 'b, 'c) t
Array0.create kind layout
回傳一個新的零維 Bigarray。kind
和 layout
決定了陣列元素的種類和陣列佈局,如 Bigarray.Genarray.create
中所述。
val init : ('a, 'b) Bigarray.kind ->
'c Bigarray.layout -> 'a -> ('a, 'b, 'c) t
Array0.init kind layout v
的行為類似於 Array0.create kind layout
,但元素的額外初始化為值 v
。
val kind : ('a, 'b, 'c) t -> ('a, 'b) Bigarray.kind
回傳給定 Bigarray 的種類。
val layout : ('a, 'b, 'c) t -> 'c Bigarray.layout
回傳給定 Bigarray 的佈局。
val change_layout : ('a, 'b, 'c) t ->
'd Bigarray.layout -> ('a, 'b, 'd) t
Array0.change_layout a layout
回傳一個具有指定 layout
的 Bigarray,與 a
共用資料。不涉及元素的複製:新陣列和原始陣列共用相同的儲存空間。
val size_in_bytes : ('a, 'b, 'c) t -> int
size_in_bytes a
是 a
的 Bigarray.kind_size_in_bytes
。
val get : ('a, 'b, 'c) t -> 'a
Array0.get a
回傳 a
中的唯一元素。
val set : ('a, 'b, 'c) t -> 'a -> unit
Array0.set a x v
將值 v
儲存在 a
中。
val blit : ('a, 'b, 'c) t -> ('a, 'b, 'c) t -> unit
將第一個 Bigarray 複製到第二個 Bigarray。有關更多詳細資訊,請參閱 Bigarray.Genarray.blit
。
val fill : ('a, 'b, 'c) t -> 'a -> unit
使用給定值填滿給定的 Bigarray。有關更多詳細資訊,請參閱 Bigarray.Genarray.fill
。
val of_value : ('a, 'b) Bigarray.kind ->
'c Bigarray.layout -> 'a -> ('a, 'b, 'c) t
建立一個從給定值初始化的零維 Bigarray。