sig   type ('a, 'b) ba_scalar_type =       Int8 : (int, Bigarray.int8_signed_elt) Gg.Ba.ba_scalar_type     | Int16 : (int, Bigarray.int16_signed_elt) Gg.Ba.ba_scalar_type     | Int32 : (int32, Bigarray.int32_elt) Gg.Ba.ba_scalar_type     | Int64 : (int64, Bigarray.int64_elt) Gg.Ba.ba_scalar_type     | UInt8 : (int, Bigarray.int8_unsigned_elt) Gg.Ba.ba_scalar_type     | UInt16 : (int, Bigarray.int16_unsigned_elt) Gg.Ba.ba_scalar_type     | UInt32 : (int32, Bigarray.int32_elt) Gg.Ba.ba_scalar_type     | UInt64 : (int64, Bigarray.int64_elt) Gg.Ba.ba_scalar_type     | Float16 : (int, Bigarray.int16_unsigned_elt) Gg.Ba.ba_scalar_type     | Float32 : (float, Bigarray.float32_elt) Gg.Ba.ba_scalar_type     | Float64 : (float, Bigarray.float64_elt) Gg.Ba.ba_scalar_type   val ba_kind_of_ba_scalar_type :     ('a, 'b) Gg.Ba.ba_scalar_type -> ('a, 'b) Bigarray.kind   type scalar_type =       [ `Float16       | `Float32       | `Float64       | `Int16       | `Int32       | `Int64       | `Int8       | `UInt16       | `UInt32       | `UInt64       | `UInt8 ]   val scalar_type_of_ba_scalar_type :     ('a, 'b) Gg.Ba.ba_scalar_type -> Gg.Ba.scalar_type   val scalar_type_byte_count : Gg.Ba.scalar_type -> int   val pp_scalar_type : Format.formatter -> Gg.Ba.scalar_type -> unit   module Buffer :     sig       type t = Gg.buffer       val create : Gg.Ba.scalar_type -> int -> Gg.buffer       val scalar_type : Gg.buffer -> Gg.Ba.scalar_type       val length : Gg.buffer -> int       val byte_length : Gg.buffer -> int       val of_bigarray :         ?data:[ `Float | `Unsigned ] -> ('a, 'b) Gg.bigarray -> Gg.buffer       val pp : Format.formatter -> Gg.buffer -> unit     end   val create : ('a, 'b) Gg.Ba.ba_scalar_type -> int -> ('a, 'b) Gg.bigarray   val length : ('a, 'b) Gg.bigarray -> int   val sub : ('a, 'b) Gg.bigarray -> int -> int -> ('a, 'b) Gg.bigarray   val blit :     ('a, 'b) Gg.bigarray -> int -> ('a, 'b) Gg.bigarray -> int -> int -> unit   val fill : ('a, 'b) Gg.bigarray -> '-> unit   val of_array :     ('a, 'b) Gg.Ba.ba_scalar_type -> 'a array -> ('a, 'b) Gg.bigarray   val of_list :     ('a, 'b) Gg.Ba.ba_scalar_type -> 'a list -> ('a, 'b) Gg.bigarray   val of_bytes :     ?be:bool ->     ('a, 'b) Gg.Ba.ba_scalar_type -> string -> ('a, 'b) Gg.bigarray   val pp :     ?count:int ->     ?stride:int ->     ?first:int ->     ?dim:int ->     pp_scalar:(Format.formatter -> '-> unit) ->     Format.formatter -> ('a, 'b) Gg.bigarray -> unit   val unsafe_get : ('a, 'b) Gg.bigarray -> int -> 'a   val get_v2 : (float, 'b) Gg.bigarray -> int -> Gg.v2   val get_v3 : (float, 'b) Gg.bigarray -> int -> Gg.v3   val get_v4 : (float, 'b) Gg.bigarray -> int -> Gg.v4   val get_2d : ('a, 'b) Gg.bigarray -> int -> 'a * 'a   val get_3d : ('a, 'b) Gg.bigarray -> int -> 'a * 'a * 'a   val get_4d : ('a, 'b) Gg.bigarray -> int -> 'a * 'a * 'a * 'a   val geti_2d : (int32, 'b) Gg.bigarray -> int -> int * int   val geti_3d : (int32, 'b) Gg.bigarray -> int -> int * int * int   val unsafe_set : ('a, 'b) Gg.bigarray -> int -> '-> unit   val set_v2 : (float, 'b) Gg.bigarray -> int -> Gg.v2 -> unit   val set_v3 : (float, 'b) Gg.bigarray -> int -> Gg.v3 -> unit   val set_v4 : (float, 'b) Gg.bigarray -> int -> Gg.v4 -> unit   val set_2d : ('a, 'b) Gg.bigarray -> int -> '-> '-> unit   val set_3d : ('a, 'b) Gg.bigarray -> int -> '-> '-> '-> unit   val set_4d : ('a, 'b) Gg.bigarray -> int -> '-> '-> '-> '-> unit   val seti_2d : (int32, 'b) Gg.bigarray -> int -> int -> int -> unit   val seti_3d : (int32, 'b) Gg.bigarray -> int -> int -> int -> int -> unit end