模組 Bigarray.Array0

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。kindlayout 決定了陣列元素的種類和陣列佈局,如 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 aaBigarray.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。