Module Nvector_openmp.Any

module Any: sig .. end

A generic nvector interface to OpenMP nvectors.

Create OpenMP nvectors using the generic nvector interface where the payload is wrapped with the RA constructor.


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

make nthreads n iv creates a new OpenMP nvector with nthreads threads and n elements inialized to iv.

The optional arguments permit to enable all the fused and array operations for a given nvector (they are disabled by default).

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

wrap nthreads a creates a new OpenMP nvector with nthreads threads over the elements of a.

The optional arguments permit to enable all the fused and array operations for a given nvector (they are disabled by default).

val unwrap : Nvector.any -> Sundials.RealArray.t

Returns the payload of the generic vector if it was constructed with RA and an array of reals, otherwise raises Nvector.BadGenericType.

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

Selectively enable or disable fused and array operations. The with_fused_ops argument enables or disables all such operations.