functor (Lstream : S) ->
sig
val eval_lsys :
int ->
('a * string Calc.t list) Lilis.lsystem -> ('a * float array) Lstream.t
type 'a lstream = ('a * float array) Lstream.t
type 'a crules
val compress_rules :
Lilis.SymbEnv.t ->
(string * string Calc.t list) Lilis.rule list -> int Lilis.Make.crules
val compress_post_rules :
Lilis.SymbEnv.t ->
('a * string Calc.t list) Lilis.rule list -> 'a Lilis.Make.crules
val compress_lslist :
Lilis.SymbEnv.t ->
string Lilis.stream -> (int * float array) Lstream.stored
val compress_lsys :
('a * string Calc.t list) Lilis.lsystem ->
Lilis.SymbEnv.t * (int * float array) Lstream.stored *
int Lilis.Make.crules * 'a Lilis.Make.crules
val compress_lstream :
Lilis.SymbEnv.t -> string Lilis.Make.lstream -> int Lilis.Make.lstream
val uncompress_lstream :
Lilis.SymbEnv.t -> int Lilis.Make.lstream -> string Lilis.Make.lstream
val map_crules :
('a -> 'b) -> 'a Lilis.Make.crules -> 'b Lilis.Make.crules
val apply :
?n:int ->
int Lilis.Make.crules ->
int Lilis.Make.lstream -> int Lilis.Make.lstream
val apply_complete :
'a Lilis.Make.crules -> int Lilis.Make.lstream -> 'a Lilis.Make.lstream
val eval_lsys_uncompress :
int ->
('a * string Calc.t list) Lilis.lsystem ->
(string * float array) Lstream.t
val iter_complete :
((float array -> float) array -> float array -> unit) Lilis.Make.crules ->
int Lilis.Make.lstream -> unit
val eval_iter_lsys :
int ->
('a * string Calc.t list) Lilis.lsystem ->
store:bool ->
('a -> (float array -> float) array -> float array -> unit) ->
unit -> unit
val eval_fold_lsys :
int ->
('a * string Calc.t list) Lilis.lsystem ->
store:bool ->
('a -> (float array -> float) array -> 'b -> float array -> 'b) ->
'b -> 'b
end