winter-utils 0.2.0

Utilities for the Winterfell STARK prover/verifier
Documentation

Winter utils

This crate contains utilities used by the Winterfell STARK prover and verifier. These utilities fall into the following broad categories:

  • Traits used for serialization and deserialization.
  • Functions for transmuting vectors and slices.
  • Macros for easily switching between regular and parallel iterators.
  • Feature-based re-exports of collections and strings.

Crate features

This crate can be compiled with the following features:

  • std - enabled by default and relies on the Rust standard library.
  • concurrent - implies std and also re-exports rayon crate and enables multi-threaded execution for some of the crate functions.
  • no_std - does not rely on Rust's standard library and enables compilation to WebAssembly.

To compile with no_std, disable default features via --no-default-features flag.

Concurrent execution

When compiled with concurrent feature enabled, this crate re-exports rayon crate and executes the following functions using multiple threads:

  • transpose_slice()

The number of threads can be configured via RAYON_NUM_THREADS environment variable, and usually defaults to the number of logical cores on the machine.

License

This project is MIT licensed.