winter-utils 0.9.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](../LICENSE).