sig
  type t = Mlpost.Signature.num
  val of_float : float -> Mlpost.Num.t
  val bp : float -> Mlpost.Num.t
  val pt : float -> Mlpost.Num.t
  val cm : float -> Mlpost.Num.t
  val mm : float -> Mlpost.Num.t
  val inch : float -> Mlpost.Num.t
  val em : float -> Mlpost.Num.t
  val ex : float -> Mlpost.Num.t
  val addn : Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Num.t
  val subn : Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Num.t
  val multn : Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Num.t
  val multf : float -> Mlpost.Num.t -> Mlpost.Num.t
  val divf : Mlpost.Num.t -> float -> Mlpost.Num.t
  val neg : Mlpost.Num.t -> Mlpost.Num.t
  val divn : Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Num.t
  val maxn : Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Num.t
  val minn : Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Num.t
  val gmean : Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Num.t
  val if_null : Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Num.t
  module Infix :
    sig
      val ( +/ ) : Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Num.t
      val ( -/ ) : Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Num.t
      val ( */ ) : Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Num.t
      val ( // ) : Mlpost.Num.t -> Mlpost.Num.t -> Mlpost.Num.t
      val ( *./ ) : float -> Mlpost.Num.t -> Mlpost.Num.t
      val ( /./ ) : Mlpost.Num.t -> float -> Mlpost.Num.t
    end
  val zero : Mlpost.Num.t
  val one : Mlpost.Num.t
  val two : Mlpost.Num.t
  val pi : float
  val deg2rad : float -> float
  type scale = float -> Mlpost.Num.t
  module Scale :
    sig
      val bp : float -> Mlpost.Num.scale
      val pt : float -> Mlpost.Num.scale
      val cm : float -> Mlpost.Num.scale
      val mm : float -> Mlpost.Num.scale
      val inch : float -> Mlpost.Num.scale
    end
end