Crate openvm_circuit_primitives

Crate openvm_circuit_primitives 

Source
Expand description

This crate contains a collection of primitives for use when building circuits. The primitives are separated into two types: standalone Airs and SubAirs.

The following modules contain standalone Airs:

The following modules contain SubAirs:

Modules§

assert_less_than
bigint
bitwise_op_lookup
cuda_abi
encoder
hybrid_chip
is_equal
is_equal_array
is_less_than
is_less_than_array
is_zero
range
Range check for a fixed bit size via preprocessed trace.
range_gate
Range check for a fixed bit size without using preprocessed trace.
range_tuple
Range check a tuple simultaneously. When you know you want to range check (x, y) to x_bits, y_bits respectively and 2^{x_bits + y_bits} < ~2^20, then you can use this chip to do the range check in one interaction versus the two interactions necessary if you were to use VariableRangeCheckerChip instead.
utils
var_range
A chip which provides a lookup table for range checking a variable x has b bits where b can be any integer in [0, range_max_bits] without using preprocessed trace. In other words, the same chip can be used to range check for different bit sizes. We define 0 to have 0 bits.
xor

Traits§

AnyChip
Auto-implemented trait for downcasting of trait objects.
Chip
A chip is a [ProverBackend]-specific object that converts execution logs (also referred to as records) into a trace matrix.
ColumnsAir
Allows AIRs to indicate the names of their columns, for debugging purposes. A default implementation is provided that returns None, indicating that column names are not available.
StructReflection
Struct reflection for column names
StructReflectionHelper
Struct reflection for column names
SubAir
Trait with associated types intended to allow reuse of constraint logic inside other AIRs.
TraceSubRowGenerator
This is a helper for generation of the trace on a subset of the columns in a single row of the trace matrix.

Derive Macros§

AlignedBorrow
Derive macros
AlignedBytesBorrow
Derive macros S is the type the derive macro is being called on Implements Borrow<S> and BorrowMut<S> for [u8] u8 has to have (checked via debug_assert!s)
BytesStateful
Derive macros
Chip
Derive macros
ColsRef
Derive macros
ColumnsAir
Derive macros Derives ColumnsAir for an AIR struct.
StructReflection
Struct reflection for column names