模块 Bigarray.Array0

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。 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,该 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 va 中存储值 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。