Sourcetype 'a continuous = {mutable pos : 'a;mutable der : 'a;
} Sourcetype ('a, 'b) zerocrossing = {mutable zin : 'a;mutable zout : 'b;
} Sourcetype 'a signal = 'a * bool Sourcetype ('a, 'b) node = | Node : {alloc : unit -> 's;step : 's -> 'a -> 'b;reset : 's -> unit;
} -> ('a, 'b) node
Sourcetype ('a, 'b) cnode = | Cnode : {alloc : unit -> 's;copy : 's -> 's -> unit;step : 's -> 'a -> 'b;reset : 's -> unit;
} -> ('a, 'b) cnode
Sourcetype cstate = {mutable dvec : dvec;mutable cvec : cvec;mutable zinvec : zinvec;mutable zoutvec : zoutvec;mutable cindex : int;mutable zindex : int;mutable cend : int;mutable zend : int;mutable cmax : int;mutable zmax : int;mutable horizon : float;mutable major : bool;
} Sourcetype ('a, 'b) hsnode = | Hnode : {state : 's;zsize : int;csize : int;derivative : 's -> 'a -> time -> cvec -> dvec -> unit;crossing : 's -> 'a -> time -> cvec -> zoutvec -> unit;output : 's -> 'a -> cvec -> 'b;setroots : 's -> 'a -> cvec -> zinvec -> unit;majorstep : 's -> time -> cvec -> 'a -> 'b;reset : 's -> unit;horizon : 's -> time;
} -> ('a, 'b) hsnode