sig
module Make :
functor (Bsml : Bsmlsig.BSML) ->
sig
val shift : int -> 'a Bsml.par -> 'a Bsml.par
val shift_right : 'a Bsml.par -> 'a Bsml.par
val shift_left : 'a Bsml.par -> 'a Bsml.par
val totex : 'a Bsml.par -> (int -> 'a) Bsml.par
val total_exchange : 'a Bsml.par -> 'a list Bsml.par
exception Scatter
val scatter :
('a -> int -> 'b option) -> int -> 'a Bsml.par -> 'b Bsml.par
val scatter_list : int -> 'a list Bsml.par -> 'a list Bsml.par
val scatter_array : int -> 'a array Bsml.par -> 'a array Bsml.par
val scatter_string : int -> string Bsml.par -> string Bsml.par
exception Gather
val gather : int -> 'a Bsml.par -> (int -> 'a option) Bsml.par
val gather_list : int -> 'a Bsml.par -> 'a list Bsml.par
exception Bcast
val bcast_direct : int -> 'a Bsml.par -> 'a Bsml.par
val bcast_totex_gen :
('a -> int -> 'b option) ->
((int -> 'b) -> 'c) -> int -> 'a Bsml.par -> 'c Bsml.par
val bcast_totex_list : int -> 'a list Bsml.par -> 'a list Bsml.par
val bcast_totex_array : int -> 'a array Bsml.par -> 'a array Bsml.par
val bcast_totex_string : int -> string Bsml.par -> string Bsml.par
val bcast_totex : int -> 'a Bsml.par -> 'a Bsml.par
val scan_direct : ('a -> 'a -> 'a) -> 'a Bsml.par -> 'a Bsml.par
val scan_logp : ('a -> 'a -> 'a) -> 'a Bsml.par -> 'a Bsml.par
val scan_wide :
(('a -> 'a -> 'a) -> 'a Bsml.par -> 'a Bsml.par) ->
(('a -> 'a -> 'a) -> 'b -> 'b) ->
('b -> 'a) ->
(('a -> 'a) -> 'b -> 'b) ->
('a -> 'a -> 'a) -> 'b Bsml.par -> 'b Bsml.par
val scan_wide_direct :
(('a -> 'a -> 'a) -> 'b -> 'b) ->
('b -> 'a) ->
(('a -> 'a) -> 'b -> 'b) ->
('a -> 'a -> 'a) -> 'b Bsml.par -> 'b Bsml.par
val scan_wide_logp :
(('a -> 'a -> 'a) -> 'b -> 'b) ->
('b -> 'a) ->
(('a -> 'a) -> 'b -> 'b) ->
('a -> 'a -> 'a) -> 'b Bsml.par -> 'b Bsml.par
val scan_list_direct :
('a -> 'a -> 'a) -> 'a list Bsml.par -> 'a list Bsml.par
val scan_list_logp :
('a -> 'a -> 'a) -> 'a list Bsml.par -> 'a list Bsml.par
val scan_array_direct :
('a -> 'a -> 'a) -> 'a array Bsml.par -> 'a array Bsml.par
val scan_array_logp :
('a -> 'a -> 'a) -> 'a array Bsml.par -> 'a array Bsml.par
val fold_direct : ('a -> 'a -> 'a) -> 'a Bsml.par -> 'a Bsml.par
val fold_wide :
(('a -> 'a -> 'a) -> 'a Bsml.par -> 'a Bsml.par) ->
(('a -> 'a -> 'a) -> 'b -> 'a) ->
('a -> 'a -> 'a) -> 'b Bsml.par -> 'a Bsml.par
val fold_logp : ('a -> 'a -> 'a) -> 'a Bsml.par -> 'b Bsml.par
val fold_list_direct :
('a -> 'a -> 'a) -> 'a list Bsml.par -> 'a Bsml.par
val fold_list_logp :
('a -> 'a -> 'a) -> 'a list Bsml.par -> 'b Bsml.par
val fold_array_direct :
('a -> 'a -> 'a) -> 'a array Bsml.par -> 'b Bsml.par
val fold_array_logp :
('a -> 'a -> 'a) -> 'a array Bsml.par -> 'b Bsml.par
end
end