sig
  val set_default_ncores : int -> unit
  val get_default_ncores : unit -> int
  type 'a sequence = L of 'a list | A of 'a array
  val parmapfold :
    ?ncores:int ->
    ?chunksize:int ->
    ('-> 'b) ->
    'Parmap.sequence -> ('-> '-> 'c) -> '-> ('-> '-> 'c) -> 'c
  val parfold :
    ?ncores:int ->
    ?chunksize:int ->
    ('-> '-> 'b) -> 'Parmap.sequence -> '-> ('-> '-> 'b) -> 'b
  val parmap :
    ?ncores:int ->
    ?chunksize:int -> ('-> 'b) -> 'Parmap.sequence -> 'b list
  val pariter :
    ?ncores:int ->
    ?chunksize:int -> ('-> unit) -> 'Parmap.sequence -> unit
  val parmapifold :
    ?ncores:int ->
    ?chunksize:int ->
    (int -> '-> 'b) ->
    'Parmap.sequence -> ('-> '-> 'c) -> '-> ('-> '-> 'c) -> 'c
  val parmapi :
    ?ncores:int ->
    ?chunksize:int -> (int -> '-> 'b) -> 'Parmap.sequence -> 'b list
  val pariteri :
    ?ncores:int ->
    ?chunksize:int -> (int -> '-> unit) -> 'Parmap.sequence -> unit
  val array_parmap :
    ?ncores:int -> ?chunksize:int -> ('-> 'b) -> 'a array -> 'b array
  val array_parmapi :
    ?ncores:int ->
    ?chunksize:int -> (int -> '-> 'b) -> 'a array -> 'b array
  exception WrongArraySize
  type buf
  val init_shared_buffer : float array -> Parmap.buf
  val array_float_parmap :
    ?ncores:int ->
    ?chunksize:int ->
    ?result:float array ->
    ?sharedbuffer:Parmap.buf -> ('-> float) -> 'a array -> float array
  val array_float_parmapi :
    ?ncores:int ->
    ?chunksize:int ->
    ?result:float array ->
    ?sharedbuffer:Parmap.buf ->
    (int -> '-> float) -> 'a array -> float array
  val debugging : bool -> unit
  val redirecting : bool -> unit