module Array0:sig
..end
零维数组。 Array0
结构提供了类似于 Bigarray.Genarray
的操作,但专门用于仅包含单个标量值的零维数组。 静态地知道数组的维数可以实现更快的操作以及更精确的静态类型检查。
type (!'a, !'b, !'c)
t
元素具有 OCaml 类型 'a
、表示形式类型 'b
以及内存布局 'c
的零维 Bigarray 的类型。
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,该 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
在 a
中存储值 v
。
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。