sig
type elt
type ('a, 'b) t = (CCArray1.S.elt, 'a, 'b) CCArray1.array_
constraint 'b = [< `R | `W ]
val add :
?res:('a, [< `R | `W > `W ] as 'b) CCArray1.S.t ->
('a, [< `R | `W > `R ]) CCArray1.S.t ->
('a, [< `R | `W > `R ]) CCArray1.S.t -> ('a, 'b) CCArray1.S.t
val mult :
?res:('a, [< `R | `W > `W ] as 'b) CCArray1.S.t ->
('a, [< `R | `W > `R ]) CCArray1.S.t ->
('a, [< `R | `W > `R ]) CCArray1.S.t -> ('a, 'b) CCArray1.S.t
val scalar_add :
?res:('a, [< `R | `W > `W ] as 'b) CCArray1.S.t ->
('a, [< `R | `W > `R ]) CCArray1.S.t ->
x:CCArray1.S.elt -> ('a, 'b) CCArray1.S.t
val scalar_mult :
?res:('a, [< `R | `W > `W ] as 'b) CCArray1.S.t ->
('a, [< `R | `W > `R ]) CCArray1.S.t ->
x:CCArray1.S.elt -> ('a, 'b) CCArray1.S.t
val sum_elt : ('a, [< `R | `W > `R ]) CCArray1.S.t -> CCArray1.S.elt
val product_elt : ('a, [< `R | `W > `R ]) CCArray1.S.t -> CCArray1.S.elt
val dot_product :
('a, [< `R | `W > `R ]) CCArray1.S.t ->
('b, [< `R | `W > `R ]) CCArray1.S.t -> CCArray1.S.elt
module Infix :
sig
val ( * ) :
('a, [< `R | `W > `R ]) CCArray1.S.t ->
('a, [< `R | `W > `R ]) CCArray1.S.t ->
('a, [< `R | `W ]) CCArray1.S.t
val ( + ) :
('a, [< `R | `W > `R ]) CCArray1.S.t ->
('b, [< `R | `W > `R ]) CCArray1.S.t ->
('a, [< `R | `W ]) CCArray1.S.t
val ( *! ) :
('a, [< `R | `W > `R ]) CCArray1.S.t ->
CCArray1.S.elt -> ('a, [< `R | `W ]) CCArray1.S.t
val ( +! ) :
('a, [< `R | `W > `R ]) CCArray1.S.t ->
CCArray1.S.elt -> ('a, [< `R | `W ]) CCArray1.S.t
end
val ( * ) :
('a, [< `R | `W > `R ]) t ->
('a, [< `R | `W > `R ]) t -> ('a, [< `R | `W ]) t
val ( + ) :
('a, [< `R | `W > `R ]) t ->
('b, [< `R | `W > `R ]) t -> ('a, [< `R | `W ]) t
val ( *! ) : ('a, [< `R | `W > `R ]) t -> elt -> ('a, [< `R | `W ]) t
val ( +! ) : ('a, [< `R | `W > `R ]) t -> elt -> ('a, [< `R | `W ]) t
end