Module Nvector_many

module Nvector_many: sig .. end

The standard many-vector nvectors of Sundials.


type data = Nvector.any Sundials.ROArray.t * int 

The data in underlying nvectors is exposed as an array of wrapped values paired with the sum of their lengths.

type kind 

Represents the internal layout of a many-vector nvector.

type t = (data, kind) Nvector.t 

The type of many-vector nvectors.

type Nvector.gdata += 
| Many of data

Generic wrapper for Nvector_many.data.

val wrap : ?context:Sundials.Context.t ->
Nvector.any Sundials.ROArray.t -> t

Creates a many-vector nvector from an array of generic nvectors.

val unwrap : t -> data

Aliases Nvector.unwrap.

val length : t -> int

Returns the sum of the lengths of the component nvectors.

val num_subvectors : t -> int

Returns the number of subectors in the array.

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_dot_prod_multi_local:bool -> t -> unit

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

module Ops: Nvector.NVECTOR_OPS  with type t = t

Underlying nvector operations on many-vector nvectors.

module DataOps: Nvector.NVECTOR_OPS  with type t = data

Nvector operations implemented in OCaml on many-vector payloads.

module Any: sig .. end

A generic nvector interface to many-vector nvectors.