Crate o1_utils

Source
Expand description

A collection of utility functions and constants that can be reused from multiple projects

Re-exports§

pub use biguint_helpers::BigUintHelpers;
pub use bitwise_operations::BitwiseOps;
pub use chunked_evaluations::ChunkedEvaluations;
pub use dense_polynomial::ExtendedDensePolynomial;
pub use evaluations::ExtendedEvaluations;
pub use field_helpers::BigUintFieldHelpers;
pub use field_helpers::FieldHelpers;
pub use field_helpers::RandomField;
pub use field_helpers::Two;
pub use foreign_field::ForeignElement;

Modules§

adjacent_pairs
This module hosts the AdjacentPairs type, which can be used to list all the adjacent pairs of a list. For example, if you have a list of integers [1, 2, 3], you can use it to obtain the list of tuples [(1, 2), (2, 3)].
array
This module provides different helpers in creating constant sized arrays and converting them to different formats.
biguint_helpers
This module provides a set of functions to perform bit operations on big integers. In particular, it gives XOR and NOT for BigUint.
bitwise_operations
This module provides a set of functions to perform bit operations on big integers. In particular, it gives XOR and NOT for BigUint.
chunked_evaluations
This module contains a type ChunkedEvaluations,
chunked_polynomial
This module contains a type ChunkedPolynomial, and a number of helper methods to deal with chunked polynomials. Polynomials that cut in several polynomials of the same length.
dense_polynomial
This adds a few utility functions for the [DensePolynomial] arkworks type.
evaluations
This adds a few utility functions for the [Evaluations] arkworks type.
field_helpers
Useful helper methods to extend [ark_ff::Field].
foreign_field
Describes helpers for foreign field arithmetics Generic parameters are as follows:
hasher
This module provides the CryptoDigest trait, which provides a generic interface for hashing.
lazy_cache
This is a polyfill of the LazyLock type in the std library as of Rust 1.80. The current file should be deleted soon, as we now support Rust 1.81 and use the official LazyLock, and LazyCache as a wrapper around LazyLock to allow for custom serialization definitions.
math
This modules implements some math helper functions.
serialization
This adds a few utility functions for serializing and deserializing arkworks types that implement [CanonicalSerialize] and [CanonicalDeserialize].
tests
Utils only for testing

Macros§

box_array
A macro similar to vec![$elem; $size] which returns a boxed array, allocated directly on the heap (via a vector, with reallocations).
box_array2
A macro similar to vec![vec![$elem; $size1]; $size2] which returns a two-dimensional boxed array, allocated directly on the heap (via a vector, with reallocations).