logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Bigarray.Array2 - Two-dimensional arrays.

Documentation

       Module Array2
        : sigend

       Two-dimensional  arrays. The Array2 structure provides operations similar to those of Bigarray.Genarray ,
       but specialized to the case of two-dimensional arrays.

       type(!'a,!'b,!'c)t

       The type of two-dimensional Bigarrays whose elements have OCaml type 'a , representation kind  'b  ,  and
       memory layout 'c .

       valcreate : ('a,'b)Bigarray.kind->'cBigarray.layout->int->int->('a,'b,'c)tArray2.createkindlayoutdim1dim2 returns a new Bigarray of two dimensions, whose size is dim1 in the
       first dimension and dim2 in the second dimension.  kind and layout determine the array element  kind  and
       the array layout as described for Bigarray.Genarray.create .

       valinit  : ('a,'b)Bigarray.kind->'cBigarray.layout->int->int->(int->int->'a)->('a,'b,'c)tArray2.initkindlayoutdim1dim2f returns a new Bigarray b of two dimensions, whose size is dim2 in the
       first dimension and dim2 in the second dimension.  kind and layout determine the array element  kind  and
       the array layout as described for Bigarray.Genarray.create .

       Each element Array2.getbij of the array is initialized to the result of fij .

       In  other words, Array2.initkindlayoutdim1dim2f tabulates the results of f applied to the indices of
       a new Bigarray whose layout is described by kind , layout , dim1 and dim2 .

       Since 4.12

       valdim1 : ('a,'b,'c)t->int

       Return the first dimension of the given two-dimensional Bigarray.

       valdim2 : ('a,'b,'c)t->int

       Return the second dimension of the given two-dimensional Bigarray.

       valkind : ('a,'b,'c)t->('a,'b)Bigarray.kind

       Return the kind of the given Bigarray.

       vallayout : ('a,'b,'c)t->'cBigarray.layout

       Return the layout of the given Bigarray.

       valchange_layout : ('a,'b,'c)t->'dBigarray.layout->('a,'b,'d)tArray2.change_layoutalayout returns a Bigarray with the specified layout , sharing the data with a (and
       hence having the same dimensions as a ). No copying of elements  is  involved:  the  new  array  and  the
       original  array share the same storage space.  The dimensions are reversed, such that getv[|a;b|] in
       C layout becomes getv[|b+1;a+1|] in Fortran layout.

       Since 4.06

       valsize_in_bytes : ('a,'b,'c)t->intsize_in_bytesa is the number of elements in a multiplied by a 's Bigarray.kind_size_in_bytes .

       Since 4.03

       valget : ('a,'b,'c)t->int->int->'aArray2.getaxy , also written a.{x,y} , returns the element of a at coordinates ( x , y  ).   x  and  y
       must  be within the bounds of a , as described for Bigarray.Genarray.get ; otherwise, Invalid_argument is
       raised.

       valset : ('a,'b,'c)t->int->int->'a->unitArray2.setaxyv , or alternatively a.{x,y}<-v , stores the value v at coordinates ( x , y ) in  a  .
       x  and  y  must  be  within  the  bounds  of  a  ,  as  described  for Bigarray.Genarray.set ; otherwise,
       Invalid_argument is raised.

       valsub_left : ('a,'b,Bigarray.c_layout)t->int->int->('a,'b,Bigarray.c_layout)t

       Extract a two-dimensional sub-array of the  given  two-dimensional  Bigarray  by  restricting  the  first
       dimension.  See Bigarray.Genarray.sub_left for more details.  Array2.sub_left applies only to arrays with
       C layout.

       valsub_right : ('a,'b,Bigarray.fortran_layout)t->int->int->('a,'b,Bigarray.fortran_layout)t

       Extract  a  two-dimensional  sub-array  of  the  given two-dimensional Bigarray by restricting the second
       dimension.  See Bigarray.Genarray.sub_right for more details.  Array2.sub_right applies  only  to  arrays
       with Fortran layout.

       valslice_left : ('a,'b,Bigarray.c_layout)t->int->('a,'b,Bigarray.c_layout)Bigarray.Array1.t

       Extract  a  row  (one-dimensional slice) of the given two-dimensional Bigarray.  The integer parameter is
       the index of the row to extract.  See Bigarray.Genarray.slice_left for more  details.   Array2.slice_left
       applies only to arrays with C layout.

       valslice_right  :  ('a,'b,Bigarray.fortran_layout)t->int->('a,'b,Bigarray.fortran_layout)Bigarray.Array1.t

       Extract a column (one-dimensional slice) of the given two-dimensional Bigarray.  The integer parameter is
       the  index  of  the  column  to   extract.    See   Bigarray.Genarray.slice_right   for   more   details.
       Array2.slice_right applies only to arrays with Fortran layout.

       valblit : ('a,'b,'c)t->('a,'b,'c)t->unit

       Copy the first Bigarray to the second Bigarray.  See Bigarray.Genarray.blit for more details.

       valfill : ('a,'b,'c)t->'a->unit

       Fill the given Bigarray with the given value.  See Bigarray.Genarray.fill for more details.

       valof_array : ('a,'b)Bigarray.kind->'cBigarray.layout->'aarrayarray->('a,'b,'c)t

       Build a two-dimensional Bigarray initialized from the given array of arrays.

       valunsafe_get : ('a,'b,'c)t->int->int->'a

       Like Bigarray.Array2.get , but bounds checking is not always performed.

       valunsafe_set : ('a,'b,'c)t->int->int->'a->unit

       Like Bigarray.Array2.set , but bounds checking is not always performed.

OCamldoc                                           2025-06-12                                Bigarray.Array2(3o)

Module

       Module   Bigarray.Array2

Name

       Bigarray.Array2 - Two-dimensional arrays.

See Also