sig
module type CNTVEC =
sig type n val value : (Slap_C.Vec.CNTVEC.n, 'cnt) Slap_C.vec end
module type DSCVEC =
sig
type n
val value : (Slap_C.Vec.DSCVEC.n, Slap_misc.dsc) Slap_C.vec
end
val cnt : ('n, Slap_misc.cnt) Slap_C.vec -> ('n, 'cnt) Slap_C.vec
val empty : (Slap_size.z, 'cnt) Slap_C.vec
val create : 'n Slap_size.t -> ('n, 'cnt) Slap_C.vec
val make : 'n Slap_size.t -> Slap_C.num_type -> ('n, 'cnt) Slap_C.vec
val make0 : 'n Slap_size.t -> ('n, 'cnt) Slap_C.vec
val make1 : 'n Slap_size.t -> ('n, 'cnt) Slap_C.vec
val init :
'n Slap_size.t -> (int -> Slap_C.num_type) -> ('n, 'cnt) Slap_C.vec
val dim : ('n, 'cd) Slap_C.vec -> 'n Slap_size.t
val get_dyn : ('n, 'cd) Slap_C.vec -> int -> Slap_C.num_type
val set_dyn : ('n, 'cd) Slap_C.vec -> int -> Slap_C.num_type -> unit
val unsafe_get : ('n, 'cd) Slap_C.vec -> int -> Slap_C.num_type
val unsafe_set : ('n, 'cd) Slap_C.vec -> int -> Slap_C.num_type -> unit
val replace_dyn :
('n, 'cd) Slap_C.vec ->
int -> (Slap_C.num_type -> Slap_C.num_type) -> unit
val cons :
?y:('n Slap_size.s, 'y_cd) Slap_C.vec ->
Slap_C.num_type ->
('n, 'x_cd) Slap_C.vec -> ('n Slap_size.s, 'y_cd) Slap_C.vec
val hd : ('n Slap_size.s, 'x_cd) Slap_C.vec -> Slap_C.num_type
val hd_dyn : ('n, 'x_cd) Slap_C.vec -> Slap_C.num_type
val last : ('n Slap_size.s, 'x_cd) Slap_C.vec -> Slap_C.num_type
val last_dyn : ('n, 'x_cd) Slap_C.vec -> Slap_C.num_type
val tl :
?y:('n, 'y_cd) Slap_C.vec ->
('n Slap_size.s, 'x_cd) Slap_C.vec -> ('n, 'x_cd) Slap_C.vec
val tl_dyn :
?y:('n Slap_size.p, 'y_cd) Slap_C.vec ->
('n, 'x_cd) Slap_C.vec -> ('n Slap_size.p, 'x_cd) Slap_C.vec
val inits :
?y:('n, 'y_cd) Slap_C.vec ->
('n Slap_size.s, 'x_cd) Slap_C.vec -> ('n, 'x_cd) Slap_C.vec
val inits_dyn :
?y:('n Slap_size.p, 'y_cd) Slap_C.vec ->
('n, 'x_cd) Slap_C.vec -> ('n Slap_size.p, 'x_cd) Slap_C.vec
val copy :
?y:('n, 'y_cd) Slap_C.vec ->
('n, 'x_cd) Slap_C.vec -> ('n, 'y_cd) Slap_C.vec
val fill : ('n, 'cd) Slap_C.vec -> Slap_C.num_type -> unit
val append :
('m, 'x_cd) Slap_C.vec ->
('n, 'y_cd) Slap_C.vec -> (('m, 'n) Slap_size.add, 'cnt) Slap_C.vec
val shared_rev : ('n, 'cd) Slap_C.vec -> ('n, 'cd) Slap_C.vec
val rev : ('n, 'cd) Slap_C.vec -> ('n, 'cd) Slap_C.vec
val to_array : ('n, 'cd) Slap_C.vec -> Slap_C.num_type array
val of_array_dyn :
'n Slap_size.t -> Slap_C.num_type array -> ('n, 'cnt) Slap_C.vec
val of_array : Slap_C.num_type array -> (module Slap_C.Vec.CNTVEC)
module Of_array :
functor (X : sig val value : Slap_C.num_type array end) -> CNTVEC
val unsafe_of_array :
'n Slap_size.t -> Slap_C.num_type array -> ('n, 'cnt) Slap_C.vec
val to_list : ('n, 'cd) Slap_C.vec -> Slap_C.num_type list
val of_list_dyn :
'n Slap_size.t -> Slap_C.num_type list -> ('n, 'cnt) Slap_C.vec
val of_list : Slap_C.num_type list -> (module Slap_C.Vec.CNTVEC)
module Of_list :
functor (X : sig val value : Slap_C.num_type list end) -> CNTVEC
val unsafe_of_list :
'n Slap_size.t -> Slap_C.num_type list -> ('n, 'cnt) Slap_C.vec
val to_bigarray :
('n, 'cd) Slap_C.vec ->
(Slap_C.num_type, Slap_C.prec, Bigarray.fortran_layout) Bigarray.Array1.t
val of_bigarray_dyn :
?share:bool ->
'n Slap_size.t ->
(Slap_C.num_type, Slap_C.prec, Bigarray.fortran_layout) Bigarray.Array1.t ->
('n, 'cnt) Slap_C.vec
val of_bigarray :
?share:bool ->
(Slap_C.num_type, Slap_C.prec, Bigarray.fortran_layout) Bigarray.Array1.t ->
(module Slap_C.Vec.CNTVEC)
module Of_bigarray :
functor
(X : sig
val share : bool
val value :
(Slap_C.num_type, Slap_C.prec, Bigarray.fortran_layout)
Bigarray.Array1.t
end) ->
CNTVEC
val unsafe_of_bigarray :
?share:bool ->
'n Slap_size.t ->
(Slap_C.num_type, Slap_C.prec, Bigarray.fortran_layout) Bigarray.Array1.t ->
('n, 'cnt) Slap_C.vec
val of_array_c :
Slap_C.num_type array ->
(Slap_C.num_type, Slap_C.prec, 'cnt) Slap_vec.dyn
val of_list_c :
Slap_C.num_type list -> (Slap_C.num_type, Slap_C.prec, 'cnt) Slap_vec.dyn
val of_bigarray_c :
?share:bool ->
(Slap_C.num_type, Slap_C.prec, Bigarray.fortran_layout) Bigarray.Array1.t ->
(Slap_C.num_type, Slap_C.prec, 'cnt) Slap_vec.dyn
val map :
(Slap_C.num_type -> Slap_C.num_type) ->
?y:('n, 'y_cd) Slap_C.vec ->
('n, 'x_cd) Slap_C.vec -> ('n, 'y_cd) Slap_C.vec
val mapi :
(int -> Slap_C.num_type -> Slap_C.num_type) ->
?y:('n, 'y_cd) Slap_C.vec ->
('n, 'x_cd) Slap_C.vec -> ('n, 'y_cd) Slap_C.vec
val fold_left :
('accum -> Slap_C.num_type -> 'accum) ->
'accum -> ('n, 'cd) Slap_C.vec -> 'accum
val fold_lefti :
(int -> 'accum -> Slap_C.num_type -> 'accum) ->
'accum -> ('n, 'cd) Slap_C.vec -> 'accum
val fold_right :
(Slap_C.num_type -> 'accum -> 'accum) ->
('n, 'cd) Slap_C.vec -> 'accum -> 'accum
val fold_righti :
(int -> Slap_C.num_type -> 'accum -> 'accum) ->
('n, 'cd) Slap_C.vec -> 'accum -> 'accum
val replace_all :
('n, 'cd) Slap_C.vec -> (Slap_C.num_type -> Slap_C.num_type) -> unit
val replace_alli :
('n, 'cd) Slap_C.vec ->
(int -> Slap_C.num_type -> Slap_C.num_type) -> unit
val iter : (Slap_C.num_type -> unit) -> ('n, 'cd) Slap_C.vec -> unit
val iteri :
(int -> Slap_C.num_type -> unit) -> ('n, 'cd) Slap_C.vec -> unit
val map2 :
(Slap_C.num_type -> Slap_C.num_type -> Slap_C.num_type) ->
?z:('n, 'z_cd) Slap_C.vec ->
('n, 'x_cd) Slap_C.vec ->
('n, 'y_cd) Slap_C.vec -> ('n, 'z_cd) Slap_C.vec
val mapi2 :
(int -> Slap_C.num_type -> Slap_C.num_type -> Slap_C.num_type) ->
?z:('n, 'z_cd) Slap_C.vec ->
('n, 'x_cd) Slap_C.vec ->
('n, 'y_cd) Slap_C.vec -> ('n, 'z_cd) Slap_C.vec
val fold_left2 :
('accum -> Slap_C.num_type -> Slap_C.num_type -> 'accum) ->
'accum -> ('n, 'x_cd) Slap_C.vec -> ('n, 'y_cd) Slap_C.vec -> 'accum
val fold_lefti2 :
(int -> 'accum -> Slap_C.num_type -> Slap_C.num_type -> 'accum) ->
'accum -> ('n, 'x_cd) Slap_C.vec -> ('n, 'y_cd) Slap_C.vec -> 'accum
val fold_right2 :
(Slap_C.num_type -> Slap_C.num_type -> 'accum -> 'accum) ->
('n, 'x_cd) Slap_C.vec -> ('n, 'y_cd) Slap_C.vec -> 'accum -> 'accum
val fold_righti2 :
(int -> Slap_C.num_type -> Slap_C.num_type -> 'accum -> 'accum) ->
('n, 'x_cd) Slap_C.vec -> ('n, 'y_cd) Slap_C.vec -> 'accum -> 'accum
val iter2 :
(Slap_C.num_type -> Slap_C.num_type -> unit) ->
('n, 'x_cd) Slap_C.vec -> ('n, 'y_cd) Slap_C.vec -> unit
val iteri2 :
(int -> Slap_C.num_type -> Slap_C.num_type -> unit) ->
('n, 'x_cd) Slap_C.vec -> ('n, 'y_cd) Slap_C.vec -> unit
val map3 :
(Slap_C.num_type -> Slap_C.num_type -> Slap_C.num_type -> Slap_C.num_type) ->
?w:('n, 'w_cd) Slap_C.vec ->
('n, 'x_cd) Slap_C.vec ->
('n, 'y_cd) Slap_C.vec ->
('n, 'z_cd) Slap_C.vec -> ('n, 'w_cd) Slap_C.vec
val mapi3 :
(int ->
Slap_C.num_type -> Slap_C.num_type -> Slap_C.num_type -> Slap_C.num_type) ->
?w:('n, 'w_cd) Slap_C.vec ->
('n, 'x_cd) Slap_C.vec ->
('n, 'y_cd) Slap_C.vec ->
('n, 'z_cd) Slap_C.vec -> ('n, 'w_cd) Slap_C.vec
val fold_left3 :
('accum ->
Slap_C.num_type -> Slap_C.num_type -> Slap_C.num_type -> 'accum) ->
'accum ->
('n, 'x_cd) Slap_C.vec ->
('n, 'y_cd) Slap_C.vec -> ('n, 'z_cd) Slap_C.vec -> 'accum
val fold_lefti3 :
(int ->
'accum ->
Slap_C.num_type -> Slap_C.num_type -> Slap_C.num_type -> 'accum) ->
'accum ->
('n, 'x_cd) Slap_C.vec ->
('n, 'y_cd) Slap_C.vec -> ('n, 'z_cd) Slap_C.vec -> 'accum
val fold_right3 :
(Slap_C.num_type ->
Slap_C.num_type -> Slap_C.num_type -> 'accum -> 'accum) ->
('n, 'x_cd) Slap_C.vec ->
('n, 'y_cd) Slap_C.vec -> ('n, 'z_cd) Slap_C.vec -> 'accum -> 'accum
val fold_righti3 :
(int ->
Slap_C.num_type ->
Slap_C.num_type -> Slap_C.num_type -> 'accum -> 'accum) ->
('n, 'x_cd) Slap_C.vec ->
('n, 'y_cd) Slap_C.vec -> ('n, 'z_cd) Slap_C.vec -> 'accum -> 'accum
val iter3 :
(Slap_C.num_type -> Slap_C.num_type -> Slap_C.num_type -> unit) ->
('n, 'x_cd) Slap_C.vec ->
('n, 'y_cd) Slap_C.vec -> ('n, 'z_cd) Slap_C.vec -> unit
val iteri3 :
(int -> Slap_C.num_type -> Slap_C.num_type -> Slap_C.num_type -> unit) ->
('n, 'x_cd) Slap_C.vec ->
('n, 'y_cd) Slap_C.vec -> ('n, 'z_cd) Slap_C.vec -> unit
val for_all : (Slap_C.num_type -> bool) -> ('n, 'cd) Slap_C.vec -> bool
val exists : (Slap_C.num_type -> bool) -> ('n, 'cd) Slap_C.vec -> bool
val for_all2 :
(Slap_C.num_type -> Slap_C.num_type -> bool) ->
('n, 'x_cd) Slap_C.vec -> ('n, 'y_cd) Slap_C.vec -> bool
val exists2 :
(Slap_C.num_type -> Slap_C.num_type -> bool) ->
('n, 'x_cd) Slap_C.vec -> ('n, 'y_cd) Slap_C.vec -> bool
val max : ('n, 'cd) Slap_C.vec -> Slap_C.num_type
val min : ('n, 'cd) Slap_C.vec -> Slap_C.num_type
val sum : ('n, 'cd) Slap_C.vec -> Slap_C.num_type
val prod : ('n, 'cd) Slap_C.vec -> Slap_C.num_type
val add_const :
Slap_C.num_type ->
?y:('n, 'y_cd) Slap_C.vec ->
('n, 'x_cd) Slap_C.vec -> ('n, 'y_cd) Slap_C.vec
val sqr_nrm2 : ?stable:bool -> ('n, 'cd) Slap_C.vec -> float
val ssqr : ?c:Slap_C.num_type -> ('n, 'cd) Slap_C.vec -> Slap_C.num_type
val sort :
?cmp:(Slap_C.num_type -> Slap_C.num_type -> int) ->
?decr:bool ->
?p:('n, 'p_cd) Slap_common.int_vec -> ('n, 'x_cd) Slap_C.vec -> unit
val neg :
?y:('n, 'y_cd) Slap_C.vec ->
('n, 'x_cd) Slap_C.vec -> ('n, 'y_cd) Slap_C.vec
val reci :
?y:('n, 'y_cd) Slap_C.vec ->
('n, 'x_cd) Slap_C.vec -> ('n, 'y_cd) Slap_C.vec
val add :
?z:('n, 'z_cd) Slap_C.vec ->
('n, 'x_cd) Slap_C.vec ->
('n, 'y_cd) Slap_C.vec -> ('n, 'z_cd) Slap_C.vec
val sub :
?z:('n, 'z_cd) Slap_C.vec ->
('n, 'x_cd) Slap_C.vec ->
('n, 'y_cd) Slap_C.vec -> ('n, 'z_cd) Slap_C.vec
val mul :
?z:('n, 'z_cd) Slap_C.vec ->
('n, 'x_cd) Slap_C.vec ->
('n, 'y_cd) Slap_C.vec -> ('n, 'z_cd) Slap_C.vec
val div :
?z:('n, 'z_cd) Slap_C.vec ->
('n, 'x_cd) Slap_C.vec ->
('n, 'y_cd) Slap_C.vec -> ('n, 'z_cd) Slap_C.vec
val zpxy :
('n, 'z_cd) Slap_C.vec ->
('n, 'x_cd) Slap_C.vec ->
('n, 'y_cd) Slap_C.vec -> ('n, 'z_cd) Slap_C.vec
val zmxy :
('n, 'z_cd) Slap_C.vec ->
('n, 'x_cd) Slap_C.vec ->
('n, 'y_cd) Slap_C.vec -> ('n, 'z_cd) Slap_C.vec
val ssqr_diff :
('n, 'x_cd) Slap_C.vec -> ('n, 'y_cd) Slap_C.vec -> Slap_C.num_type
val subcntvec_dyn :
'm Slap_size.t ->
?ofsx:int -> ('n, Slap_misc.cnt) Slap_C.vec -> ('m, 'cnt) Slap_C.vec
val subdscvec_dyn :
'm Slap_size.t ->
?ofsx:int ->
?incx:int -> ('n, 'cd) Slap_C.vec -> ('m, Slap_misc.dsc) Slap_C.vec
val subvec_dyn :
'm Slap_size.t ->
?ofsx:int ->
?incx:int -> ('n, 'cd) Slap_C.vec -> ('m, Slap_misc.dsc) Slap_C.vec
val random :
?rnd_state:Random.State.t ->
?re_from:float ->
?re_range:float ->
?im_from:float ->
?im_range:float -> 'n Slap_size.t -> ('n, 'cnt) Slap_C.vec
end