1234567891011121314151617181920212223242526272829303132333435363738394041includeIntf_stdincludeIntf_algebraincludeIntf_monadincludeIntf_infixmoduleLang=Intf_lang(** Metric space *)moduletypeMetric=sigincludeStd(** [dist] is expected to be a proper distance function (symmetric, zero on the diagonal,
verifying the triangular inequality). *)valdist:t->t->floatend(** Module type of anything that looks like the (measured) reals. *)moduletypeReals=sigincludeField_std(** Lebesgue on the interval [0;1] *)vallebesgue:Random.State.t->tval(+):t->t->tval(-):t->t->tval(*):t->t->tval(/):t->t->tincludeInfix_orderwithtypet:=tandtype'am:='a(** [npow x n] is [x] tp the power of [n]. *)valnpow:t->int->tvalto_float:t->floatvalof_float:float->tvalof_int:int->tend