#![cfg_attr(not(feature = "std"), no_std)]
#![forbid(unsafe_code)]
#![allow(clippy::module_inception)]
#![allow(clippy::type_complexity)]
#[macro_use]
extern crate snarkvm_profiler;
#[cfg(not(feature = "std"))]
#[macro_use]
extern crate alloc;
#[rustfmt::skip]
#[cfg(not(feature = "std"))]
use alloc::{
collections::{BTreeSet, BTreeMap},
string::{String, ToString},
vec::Vec,
};
#[cfg(not(feature = "std"))]
use core::marker::PhantomData;
#[cfg(not(feature = "std"))]
use snarkvm_utilities::io::{
Read,
Result as IoResult,
Write,
{self},
};
#[rustfmt::skip]
#[cfg(feature = "std")]
use std::{
collections::{BTreeSet, BTreeMap},
marker::PhantomData,
string::{String, ToString},
vec::Vec,
io::{Read, Write, Result as IoResult, {self}},
};
use snarkvm_polycommit::PolynomialCommitment;
#[cfg(not(feature = "std"))]
macro_rules! eprintln {
() => {};
($($arg: tt)*) => {};
}
#[macro_use]
extern crate snarkvm_utilities;
pub mod ahp;
pub use ahp::*;
pub mod constraints;
pub mod marlin;
pub mod fiat_shamir;
pub use fiat_shamir::*;