pub use crate::context::LlzkContext;
pub use crate::dialect::array::prelude::*;
pub use crate::dialect::bool::prelude::*;
pub use crate::dialect::felt::prelude::*;
pub use crate::dialect::function::prelude::*;
pub use crate::dialect::llzk::prelude::*;
pub use crate::dialect::module::{ModuleExt, llzk_module};
pub use crate::dialect::pod::prelude::*;
pub use crate::dialect::poly::prelude::*;
pub use crate::dialect::r#struct::prelude::*;
pub use crate::dialect::verif::prelude::*;
pub use crate::error::Error as LlzkError;
pub use crate::operation::{replace_uses_of_with, verify_operation, verify_operation_with_diags};
pub use crate::passes as llzk_passes;
pub use crate::symbol_ref::{SymbolRefAttrLike, SymbolRefAttribute};
pub use crate::symbol_table;
pub use crate::type_ext::*;
pub use crate::typing::{types_unify, types_unify_with_prefix};
pub use crate::utils::{IntoRef, print_block, print_operation, print_region};
pub mod dialect {
pub mod array {
pub use crate::dialect::array::{extract, insert, len, new, read, write};
pub use crate::dialect::array::{
is_array_extract, is_array_insert, is_array_len, is_array_new, is_array_read,
is_array_type, is_array_write,
};
}
pub mod bool {
pub use crate::dialect::bool::{and, assert, eq, ge, gt, le, lt, ne, not, or, xor};
pub use crate::dialect::bool::{
is_bool_and, is_bool_assert, is_bool_cmp, is_bool_not, is_bool_or, is_bool_xor,
};
}
pub mod cast {
pub use crate::dialect::cast::{is_cast_tofelt, is_cast_toindex};
pub use crate::dialect::cast::{tofelt, toindex};
}
pub mod constrain {
pub use crate::dialect::constrain::{eq, r#in};
pub use crate::dialect::constrain::{is_constrain_eq, is_constrain_in};
}
pub mod felt {
pub use crate::dialect::felt::{
add, bit_and, bit_not, bit_or, bit_xor, constant, div, inv, mul, neg, pow, shl, shr,
sintdiv, smod, sub, uintdiv, umod,
};
pub use crate::dialect::felt::{
is_felt_add, is_felt_bit_and, is_felt_bit_not, is_felt_bit_or, is_felt_bit_xor,
is_felt_const, is_felt_div, is_felt_inv, is_felt_mul, is_felt_neg, is_felt_pow,
is_felt_shl, is_felt_shr, is_felt_sintdiv, is_felt_smod, is_felt_sub, is_felt_type,
is_felt_uintdiv, is_felt_umod,
};
}
pub mod function {
pub use crate::dialect::function::{
arg_name_attr, call, call_with_map_operands, call_with_template_params, def,
res_name_attr, r#return,
};
pub use crate::dialect::function::{is_func_call, is_func_def, is_func_return};
}
pub mod global {
pub use crate::dialect::global::{def, read, write};
pub use crate::dialect::global::{is_global_def, is_global_read, is_global_write};
}
pub mod llzk {
pub use crate::dialect::llzk::{is_nondet, nondet};
}
pub mod pod {
pub use crate::dialect::pod::ops::{is_pod_new, is_pod_read, is_pod_write};
pub use crate::dialect::pod::ops::{new, new_with_affine_init, read, write};
}
pub mod poly {
pub use crate::dialect::poly::ops::{
expr, is_expr_op, is_param_op, is_read_const_op, is_template_op, is_yield_op, param,
read_const, template, r#yield,
};
}
pub mod ram {
pub use crate::dialect::ram::{is_ram_load, is_ram_store};
pub use crate::dialect::ram::{load, store};
}
pub mod r#struct {
pub use crate::dialect::r#struct::helpers;
pub use crate::dialect::r#struct::{def, member, new, readm, readm_with_offset, writem};
pub use crate::dialect::r#struct::{
is_struct_def, is_struct_member, is_struct_new, is_struct_readm, is_struct_type,
is_struct_writem,
};
}
pub mod verif {
pub use crate::dialect::verif::{
contract, ensure_compute, ensure_constrain, include, include_with_map_operands,
include_with_map_operands_slice, is_contract, is_ensure_compute, is_ensure_constrain,
is_include, is_require_compute, is_require_constrain, require_compute,
require_constrain,
};
}
}
pub use llzk_sys::{
FUNC_NAME_COMPUTE, FUNC_NAME_CONSTRAIN, FUNC_NAME_PRODUCT, LANG_ATTR_NAME, MAIN_ATTR_NAME,
};
pub use melior::{
Context, ContextRef, Error as MeliorError, StringRef,
ir::{
Location, Module, Region, RegionLike, RegionRef, Value, ValueLike,
attribute::{
Attribute, AttributeLike, BoolAttribute, FlatSymbolRefAttribute, IntegerAttribute,
StringAttribute, TypeAttribute,
},
block::{Block, BlockArgument, BlockLike, BlockRef},
operation::{
Operation, OperationLike, OperationMutLike, OperationRef, OperationRefMut,
OperationResult, WalkOrder, WalkResult,
},
r#type::{FunctionType, IntegerType, Type, TypeLike},
},
pass::{OperationPassManager, Pass, PassManager},
};
pub mod melior_passes {
pub use melior::pass::r#async::*;
pub use melior::pass::conversion::*;
pub use melior::pass::gpu::*;
pub use melior::pass::linalg::*;
pub use melior::pass::sparse_tensor::*;
pub use melior::pass::transform::*;
}
pub mod melior_dialects {
pub use melior::dialect::arith;
pub mod scf {
pub use crate::dialect::scf_ext::{
is_scf_condition, is_scf_for, is_scf_if, is_scf_while, is_scf_yield,
};
pub use melior::dialect::scf::*;
}
pub use melior::dialect::index;
}