sig
module Config = Sundials_Config
module Index = Sundials_Index
module Logfile :
sig
type t = Sundials_impl.Logfile.t
val stderr : Sundials.Logfile.t
val stdout : Sundials.Logfile.t
val openfile : ?trunc:bool -> string -> Sundials.Logfile.t
val output_string : Sundials.Logfile.t -> string -> unit
val output_bytes : Sundials.Logfile.t -> bytes -> unit
val flush : Sundials.Logfile.t -> unit
val close : Sundials.Logfile.t -> unit
end
module Profiler :
sig
type t = Sundials_impl.Profiler.t
val enabled : bool
val make : string -> Sundials.Profiler.t
external start : Sundials.Profiler.t -> string -> unit
= "sunml_profiler_begin" [@@noalloc]
external finish : Sundials.Profiler.t -> string -> unit
= "sunml_profiler_end" [@@noalloc]
val print : Sundials.Profiler.t -> Sundials.Logfile.t -> unit
end
module Context :
sig
type t = Sundials_impl.Context.t
val default : unit -> Sundials.Context.t
val make : ?profiler:Sundials.Profiler.t -> unit -> Sundials.Context.t
exception ExternalProfilerInUse
val get_profiler : Sundials.Context.t -> Sundials.Profiler.t
val set_profiler : Sundials.Context.t -> Sundials.Profiler.t -> unit
end
exception RecoverableFailure
exception NonPositiveEwt
type 'f cfun = 'f Sundials_impl.Callback.cfun
val invoke : 'f Sundials.cfun -> 'f
module RealArray = Sundials_RealArray
module RealArray2 = Sundials_RealArray2
module LintArray = Sundials_LintArray
module ROArray = Sundials_ROArray
module Roots :
sig
type t
type r = NoRoot | Rising | Falling
val create : int -> Sundials.Roots.t
val make : int -> Sundials.Roots.r -> Sundials.Roots.t
val init : int -> (int -> Sundials.Roots.r) -> Sundials.Roots.t
val length : Sundials.Roots.t -> int
val pp : Stdlib.Format.formatter -> Sundials.Roots.t -> unit
val ppi :
?start:string ->
?stop:string ->
?sep:string ->
?item:(Stdlib.Format.formatter -> int -> Sundials.Roots.r -> unit) ->
unit -> Stdlib.Format.formatter -> Sundials.Roots.t -> unit
val detected : Sundials.Roots.t -> int -> bool
val rising : Sundials.Roots.t -> int -> bool
val falling : Sundials.Roots.t -> int -> bool
val get : Sundials.Roots.t -> int -> Sundials.Roots.r
val set : Sundials.Roots.t -> int -> Sundials.Roots.r -> unit
val set_noroot : Sundials.Roots.t -> int -> unit
val set_rising : Sundials.Roots.t -> int -> unit
val set_falling : Sundials.Roots.t -> int -> unit
val fill : Sundials.Roots.t -> Sundials.Roots.r -> unit
val copy : Sundials.Roots.t -> Sundials.Roots.t
val int_of_root : Sundials.Roots.r -> int
val reset : Sundials.Roots.t -> unit
val exists : Sundials.Roots.t -> bool
val iter : (Sundials.Roots.r -> unit) -> Sundials.Roots.t -> unit
val iteri :
(int -> Sundials.Roots.r -> unit) -> Sundials.Roots.t -> unit
val of_list : Sundials.Roots.r list -> Sundials.Roots.t
val to_list : Sundials.Roots.t -> Sundials.Roots.r list
val of_array : Sundials.Roots.r array -> Sundials.Roots.t
val to_array : Sundials.Roots.t -> Sundials.Roots.r array
end
module RootDirs :
sig
type t
type d = Increasing | Decreasing | IncreasingOrDecreasing
val make : int -> Sundials.RootDirs.d -> Sundials.RootDirs.t
val create : int -> Sundials.RootDirs.t
val init : int -> (int -> Sundials.RootDirs.d) -> Sundials.RootDirs.t
val pp : Stdlib.Format.formatter -> Sundials.RootDirs.t -> unit
val ppi :
?start:string ->
?stop:string ->
?sep:string ->
?item:(Stdlib.Format.formatter -> int -> Sundials.RootDirs.d -> unit) ->
unit -> Stdlib.Format.formatter -> Sundials.RootDirs.t -> unit
val copy : int -> Sundials.RootDirs.d array -> Sundials.RootDirs.t
val length : Sundials.RootDirs.t -> int
val get : Sundials.RootDirs.t -> int -> Sundials.RootDirs.d
val set : Sundials.RootDirs.t -> int -> Sundials.RootDirs.d -> unit
val fill : Sundials.RootDirs.t -> Sundials.RootDirs.d -> unit
val blitn :
src:Sundials.RootDirs.t ->
?spos:int -> dst:Sundials.RootDirs.t -> ?dpos:int -> int -> unit
val blit : src:Sundials.RootDirs.t -> dst:Sundials.RootDirs.t -> unit
val of_list : Sundials.RootDirs.d list -> Sundials.RootDirs.t
val to_list : Sundials.RootDirs.t -> Sundials.RootDirs.d list
val of_array : Sundials.RootDirs.d array -> Sundials.RootDirs.t
val to_array : Sundials.RootDirs.t -> Sundials.RootDirs.d array
end
module Constraint :
sig
val unconstrained : float
val geq_zero : float
val leq_zero : float
val gt_zero : float
val lt_zero : float
type t = Unconstrained | GeqZero | LeqZero | GtZero | LtZero
val to_float : Sundials.Constraint.t -> float
val of_float : float -> Sundials.Constraint.t
end
module Matrix = Sundials_Matrix
module LinearSolver = Sundials_LinearSolver
module NonlinearSolver = Sundials_NonlinearSolver
module Util :
sig
type error_details = {
error_code : int;
module_name : string;
function_name : string;
error_message : string;
}
val format_float : string -> float -> string
val floata : float -> string
val compare_float : ?tol:float -> float -> float -> bool
end
end