module Make(
A
:
ArrayOps
)
:ARRAY_NVECTOR
with type data = A.data
Produce a custom nvector from basic operations on an underlying array.
Parameters: |
|
type
data
Type of the underlying array.
typekind =
Nvector_custom.kind
Array nvectors are custom nvectors.
typet =
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.
Config.NotImplementedBySundialsVersion
Fused and array operations not available.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.