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
encoder
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 uses preprocessed trace to provide a lookup table for range checking a variable x has b bits where b can be any integer in [0, range_max_bits]. 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§

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
BytesStateful
Derive macros
Chip
Derive macros
ChipUsageGetter
Derive macros