sig
type data = Sundials.RealArray.t
type kind = [ `OpenMP | `Serial ]
type t = (Nvector_openmp.data, Nvector_openmp.kind) Nvector.t
val make :
?context:Sundials.Context.t ->
?with_fused_ops:bool -> int -> int -> float -> Nvector_openmp.t
val wrap :
?context:Sundials.Context.t ->
?with_fused_ops:bool -> int -> Sundials.RealArray.t -> Nvector_openmp.t
val unwrap : Nvector_openmp.t -> Sundials.RealArray.t
val pp : Stdlib.Format.formatter -> Nvector_openmp.t -> unit
val num_threads : Nvector_openmp.t -> int
val enable :
?with_fused_ops:bool ->
?with_linear_combination:bool ->
?with_scale_add_multi:bool ->
?with_dot_prod_multi:bool ->
?with_linear_sum_vector_array:bool ->
?with_scale_vector_array:bool ->
?with_const_vector_array:bool ->
?with_wrms_norm_vector_array:bool ->
?with_wrms_norm_mask_vector_array:bool ->
?with_scale_add_multi_vector_array:bool ->
?with_linear_combination_vector_array:bool -> Nvector_openmp.t -> unit
module Ops :
sig
type t = t
val clone : t -> t
val linearsum : float -> t -> float -> t -> t -> unit
val const : float -> t -> unit
val prod : t -> t -> t -> unit
val div : t -> t -> t -> unit
val scale : float -> t -> t -> unit
val abs : t -> t -> unit
val inv : t -> t -> unit
val addconst : t -> float -> t -> unit
val dotprod : t -> t -> float
val maxnorm : t -> float
val wrmsnorm : t -> t -> float
val min : t -> float
val compare : float -> t -> t -> unit
val invtest : t -> t -> bool
val wl2norm : t -> t -> float
val l1norm : t -> float
val wrmsnormmask : t -> t -> t -> float
val constrmask : t -> t -> t -> bool
val minquotient : t -> t -> float
val space : t -> int * int
val getlength : t -> int
val print : ?logfile:Sundials.Logfile.t -> t -> unit
val linearcombination : Sundials.RealArray.t -> t array -> t -> unit
val scaleaddmulti :
Sundials.RealArray.t -> t -> t array -> t array -> unit
val dotprodmulti : t -> t array -> Sundials.RealArray.t -> unit
val linearsumvectorarray :
float -> t array -> float -> t array -> t array -> unit
val scalevectorarray :
Sundials.RealArray.t -> t array -> t array -> unit
val constvectorarray : float -> t array -> unit
val wrmsnormvectorarray :
t array -> t array -> Sundials.RealArray.t -> unit
val wrmsnormmaskvectorarray :
t array -> t array -> t -> Sundials.RealArray.t -> unit
val scaleaddmultivectorarray :
Sundials.RealArray.t ->
t array -> t array array -> t array array -> unit
val linearcombinationvectorarray :
Sundials.RealArray.t -> t array array -> t array -> unit
module Local :
sig
val dotprod : t -> t -> float
val maxnorm : t -> float
val min : t -> float
val l1norm : t -> float
val invtest : t -> t -> bool
val constrmask : t -> t -> t -> bool
val minquotient : t -> t -> float
val wsqrsum : t -> t -> float
val wsqrsummask : t -> t -> t -> float
val dotprodmulti : t -> t array -> Sundials.RealArray.t -> unit
val dotprodmulti_allreduce : t -> Sundials.RealArray.t -> unit
end
end
module Any :
sig
val make :
?context:Sundials.Context.t ->
?with_fused_ops:bool ->
?with_linear_combination:bool ->
?with_scale_add_multi:bool ->
?with_dot_prod_multi:bool ->
?with_linear_sum_vector_array:bool ->
?with_scale_vector_array:bool ->
?with_const_vector_array:bool ->
?with_wrms_norm_vector_array:bool ->
?with_wrms_norm_mask_vector_array:bool ->
?with_scale_add_multi_vector_array:bool ->
?with_linear_combination_vector_array:bool ->
int -> int -> float -> Nvector.any
val wrap :
?context:Sundials.Context.t ->
?with_fused_ops:bool ->
?with_linear_combination:bool ->
?with_scale_add_multi:bool ->
?with_dot_prod_multi:bool ->
?with_linear_sum_vector_array:bool ->
?with_scale_vector_array:bool ->
?with_const_vector_array:bool ->
?with_wrms_norm_vector_array:bool ->
?with_wrms_norm_mask_vector_array:bool ->
?with_scale_add_multi_vector_array:bool ->
?with_linear_combination_vector_array:bool ->
int -> Sundials.RealArray.t -> Nvector.any
val unwrap : Nvector.any -> Sundials.RealArray.t
val enable :
?with_fused_ops:bool ->
?with_linear_combination:bool ->
?with_scale_add_multi:bool ->
?with_dot_prod_multi:bool ->
?with_linear_sum_vector_array:bool ->
?with_scale_vector_array:bool ->
?with_const_vector_array:bool ->
?with_wrms_norm_vector_array:bool ->
?with_wrms_norm_mask_vector_array:bool ->
?with_scale_add_multi_vector_array:bool ->
?with_linear_combination_vector_array:bool -> Nvector.any -> unit
end
end