Re-exports

  • pub use crate::count;
  • pub use crate::count;
  • pub use crate::witness;
  • pub use crate::witness;
  • pub use crate::CircuitType;
  • pub use crate::Count;
  • pub use crate::Environment;
  • pub use crate::LinearCombination;
  • pub use crate::Mode;
  • pub use crate::OutputMode;
  • pub use crate::Variable;
  • pub use console::prelude::One as _;
  • pub use console::prelude::Zero as _;
  • pub use console::traits::Double as _;
  • pub use console::traits::FromBits as _;
  • pub use console::traits::Inverse as _;
  • pub use console::traits::Square as _;
  • pub use console::traits::SquareRoot as _;
  • pub use console::traits::ToBits as _;
  • pub use snarkvm_fields::Field as _;
  • pub use snarkvm_fields::Zero as _;
  • pub use snarkvm_utilities::ToBits as _;
  • pub use snarkvm_curves::AffineCurve as _;
  • pub use crate::traits::*;

Modules

  • Utilities for formatting and printing strings.
  • From https://github.com/Geal/nom/blob/main/examples/string.rs This example shows an example of how to parse an escaped string. The rules for the string are similar to JSON and rust. A string is:

Macros

  • Return early with an error.
  • The witness! macro is a closure that takes in a list of circuits, eject the value of each circuit, and uses it in the subsequent code block.
  • The witness_mode! macro returns the expected mode given a list of circuits.

Structs

  • The Error type, a wrapper around a dynamic error type.
  • Configuration for formatting.
  • A hash table where the iteration order of the key-value pairs is independent of the hash values of the keys.
  • A cell which can be written to only once. It is not thread safe.

Traits

  • The addition operator +.
  • The addition assignment operator +=.
  • The bitwise AND operator &.
  • The bitwise AND assignment operator &=.
  • The bitwise OR operator |.
  • The bitwise OR assignment operator |=.
  • The bitwise XOR operator ^.
  • The bitwise XOR assignment operator ^=.
  • ? formatting.
  • Used for immutable dereferencing operations, like *v.
  • Format trait for an empty format, {}.
  • The division operator /.
  • The division assignment operator /=.
  • Parse a value from a string
  • Properties common to all integer types.
  • Trait bound for integer values. Common to both signed and unsigned integers.
  • Unary operator for retrieving the multiplicative inverse, or reciprocal, of a value.
  • An Iterator blanket implementation that provides extra adaptors and methods.
  • Trait for integers that can be used as an unsigned magnitude. Magnitudes are either used to represent an integer exponent or the right operand in integer shift operations.
  • The multiplication operator *.
  • The multiplication assignment operator *=.
  • The unary negation operator -.
  • The unary logical negation operator !.
  • Defines a multiplicative identity element for Self.
  • Operations to parse a string literal into an object.
  • Binary operator for raising a value to a power.
  • The interface for a prime field.
  • The remainder operator %.
  • The remainder assignment operator %=.
  • The left shift operator <<. Note that because this trait is implemented for all integer types with multiple right-hand-side types, Rust’s type checker has special handling for _ << _, setting the result type for integer operations to the type of the left-hand-side operand. This means that though a << b and a.shl(b) are one and the same from an evaluation standpoint, they are different when it comes to type inference.
  • The left shift assignment operator <<=.
  • The right shift operator >>. Note that because this trait is implemented for all integer types with multiple right-hand-side types, Rust’s type checker has special handling for _ >> _, setting the result type for integer operations to the type of the left-hand-side operand. This means that though a >> b and a.shr(b) are one and the same from an evaluation standpoint, they are different when it comes to type inference.
  • The right shift assignment operator >>=.
  • The subtraction operator -.
  • The subtraction assignment operator -=.
  • A trait for values which cannot be negative

Functions

  • Recognizes one or more lowercase and uppercase ASCII alphabetic characters: a-z, A-Z
  • Recognizes one or more ASCII numerical and alphabetic characters: 0-9, a-z, A-Z
  • Tests a list of parsers one by one until one succeeds.
  • Recognizes one character.
  • Returns true if the given iterator has duplicate elements.
  • Repeats the embedded parser, gathering the results in a Vec.
  • Runs the embedded parser, gathering the results in a Vec.
  • Maps a function on the result of a parser.
  • Applies a function returning a Result over the result of a parser.
  • Recognizes one of the provided characters.
  • Optional parser, will return None on Err::Error.
  • Gets an object from the first parser, then gets another object from the second parser.
  • If the child parser was successful, return the consumed input as produced value.
  • Recognizes a pattern
  • Gets an object from the first parser, then matches an object from the second parser and discards it.

Type Definitions

Derive Macros

  • Derive macro generating an impl of the trait Debug.