Module Prefix_sum.Config

type t =
| Serial(*

Simple serial prefix structure. Used for testing

*)
| Sklansky(*

Sklansky's parallel prefix structure. High fanout

*)
| Brent_kung(*

Brent-Kung parallel prefix structure. Lower fanout, more hardware

*)
| Kogge_stone(*

Kooge-Stone parallel prefix structure. Large but fast

*)
include Ppx_enumerate_lib.Enumerable.S with type t := t
val all : t list
val sexp_of_t : t -> Sexplib0.Sexp.t