Functor Nvector_array.Make

module Make (A : ArrayOps: ARRAY_NVECTOR  with type data = A.data

Produce a custom nvector from basic operations on an underlying array.

Parameters:
A : ArrayOps

type data 

Type of the underlying array.

type kind = Nvector_custom.kind 

Array nvectors are custom nvectors.

type t = data Nvector_custom.t 

An alias for the nvector type.

val array_nvec_ops : data Nvector_custom.nvector_ops

The set of nvector operations on an array.

val make : ?context:Sundials.Context.t -> int -> float -> t

make n x creates an nvector containing an array of n elements, each of which is equal to x.

val wrap : ?context:Sundials.Context.t ->
?with_fused_ops:bool ->
data -> t

Lifts an array to an nvector.

val unwrap : t -> data

Returns the array underlying an nvector.

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 ->
t -> unit

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

module Any: sig .. end

A generic nvector interface to arbitrary array types.

module Ops: Nvector.NVECTOR_OPS  with type t = t

Standard operations over array nvectors.

module DataOps: Nvector.NVECTOR_OPS  with type t = data

Standard operations over the underlying array.