From 4bef6bb10e85c972f387856c20d0f4fa9fe4c0b9 Mon Sep 17 00:00:00 2001 From: ivanlele Date: Wed, 1 Apr 2026 12:16:07 +0300 Subject: [PATCH 1/2] revert env removal --- src/jet/bitcoin/mod.rs | 5 +- src/jet/core/mod.rs | 5 +- src/jet/elements/mod.rs | 5 +- src/jet/init/bitcoin.rs | 16 +- src/jet/init/core.rs | 753 +++++++++++++++--------------- src/jet/init/elements.rs | 960 +++++++++++++++++++-------------------- src/jet/mod.rs | 13 +- 7 files changed, 860 insertions(+), 897 deletions(-) diff --git a/src/jet/bitcoin/mod.rs b/src/jet/bitcoin/mod.rs index 20ee978c..d4faa7ae 100644 --- a/src/jet/bitcoin/mod.rs +++ b/src/jet/bitcoin/mod.rs @@ -6,7 +6,6 @@ pub use environment::BitcoinEnv; use super::init::bitcoin::Bitcoin; use super::JetEnvironment; -use crate::jet::Jet; use simplicity_sys::c_jets::frame_ffi::CFrameItem; impl JetEnvironment for BitcoinEnv { @@ -19,7 +18,7 @@ impl JetEnvironment for BitcoinEnv { fn c_jet_ptr( jet: &Self::Jet, - ) -> &dyn Fn(&mut CFrameItem, CFrameItem, &Self::CJetEnvironment) -> bool { - jet.c_jet_ptr() + ) -> fn(&mut CFrameItem, CFrameItem, &Self::CJetEnvironment) -> bool { + super::init::bitcoin::c_jet_ptr(jet) } } diff --git a/src/jet/core/mod.rs b/src/jet/core/mod.rs index 1c9e6e51..9c11197a 100644 --- a/src/jet/core/mod.rs +++ b/src/jet/core/mod.rs @@ -2,7 +2,6 @@ use super::init::core::Core; use super::JetEnvironment; -use crate::jet::Jet; use simplicity_sys::c_jets::frame_ffi::CFrameItem; /// Type alias for the Core jet environment. @@ -27,7 +26,7 @@ impl JetEnvironment for CoreEnv { fn c_jet_ptr( jet: &Self::Jet, - ) -> &dyn Fn(&mut CFrameItem, CFrameItem, &Self::CJetEnvironment) -> bool { - jet.c_jet_ptr() + ) -> fn(&mut CFrameItem, CFrameItem, &Self::CJetEnvironment) -> bool { + super::init::core::c_jet_ptr(jet) } } diff --git a/src/jet/elements/mod.rs b/src/jet/elements/mod.rs index e5f2af2a..c36ed73a 100644 --- a/src/jet/elements/mod.rs +++ b/src/jet/elements/mod.rs @@ -9,7 +9,6 @@ pub use environment::{ElementsEnv, ElementsUtxo}; use super::init::elements::Elements; use super::JetEnvironment; -use crate::jet::Jet; use simplicity_sys::c_jets::frame_ffi::CFrameItem; use simplicity_sys::CElementsTxEnv; @@ -26,7 +25,7 @@ impl JetEnvironment for ElementsTxEnv { fn c_jet_ptr( jet: &Self::Jet, - ) -> &dyn Fn(&mut CFrameItem, CFrameItem, &Self::CJetEnvironment) -> bool { - jet.c_jet_ptr() + ) -> fn(&mut CFrameItem, CFrameItem, &Self::CJetEnvironment) -> bool { + super::init::elements::c_jet_ptr(jet) } } diff --git a/src/jet/init/bitcoin.rs b/src/jet/init/bitcoin.rs index 77e437d5..a6eb678b 100644 --- a/src/jet/init/bitcoin.rs +++ b/src/jet/init/bitcoin.rs @@ -10,7 +10,6 @@ use hashes::sha256::Midstate; use simplicity_sys::CFrameItem; use std::io::Write; use std::{fmt, str}; -use crate::jet::bitcoin::BitcoinEnv; /// The Bitcoin jet family. #[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Debug, Hash)] @@ -881,13 +880,6 @@ impl Bitcoin { impl Jet for Bitcoin { - type Environment = BitcoinEnv; - type CJetEnvironment = (); - - fn c_jet_env(_env: &Self::Environment) -> &Self::CJetEnvironment { - unimplemented!("Unspecified CJetEnvironment for Bitcoin jets") - } - fn cmr(&self) -> Cmr { unimplemented!("Bitcoin jet CMRs weights have not yet been implemented.") } @@ -4706,10 +4698,6 @@ impl Jet for Bitcoin { }) } - fn c_jet_ptr(&self) -> &dyn Fn(&mut CFrameItem, CFrameItem, &Self::CJetEnvironment) -> bool { - unimplemented!("Bitcoin jets have not yet been implemented.") - } - fn cost(&self) -> Cost { unimplemented!("Unspecified cost of Bitcoin jets") } @@ -5587,3 +5575,7 @@ impl str::FromStr for Bitcoin { } } } + +pub(crate) fn c_jet_ptr(jet: &Bitcoin) -> fn(&mut CFrameItem, CFrameItem, &()) -> bool { + unimplemented!("Bitcoin jets have not yet been implemented.") +} diff --git a/src/jet/init/core.rs b/src/jet/init/core.rs index bd58642b..4d1d638e 100644 --- a/src/jet/init/core.rs +++ b/src/jet/init/core.rs @@ -760,13 +760,6 @@ impl Core { impl Jet for Core { - type Environment = (); - type CJetEnvironment = (); - - fn c_jet_env(env: &Self::Environment) -> &Self::CJetEnvironment { - env - } - fn cmr(&self) -> Cmr { let bytes = match self { Core::Add16 => [ @@ -6020,379 +6013,6 @@ impl Jet for Core { }) } - fn c_jet_ptr(&self) -> &dyn Fn(&mut CFrameItem, CFrameItem, &Self::CJetEnvironment) -> bool { - match self { - Core::Add16 => &simplicity_sys::c_jets::jets_wrapper::add_16, - Core::Add32 => &simplicity_sys::c_jets::jets_wrapper::add_32, - Core::Add64 => &simplicity_sys::c_jets::jets_wrapper::add_64, - Core::Add8 => &simplicity_sys::c_jets::jets_wrapper::add_8, - Core::All16 => &simplicity_sys::c_jets::jets_wrapper::all_16, - Core::All32 => &simplicity_sys::c_jets::jets_wrapper::all_32, - Core::All64 => &simplicity_sys::c_jets::jets_wrapper::all_64, - Core::All8 => &simplicity_sys::c_jets::jets_wrapper::all_8, - Core::And1 => &simplicity_sys::c_jets::jets_wrapper::and_1, - Core::And16 => &simplicity_sys::c_jets::jets_wrapper::and_16, - Core::And32 => &simplicity_sys::c_jets::jets_wrapper::and_32, - Core::And64 => &simplicity_sys::c_jets::jets_wrapper::and_64, - Core::And8 => &simplicity_sys::c_jets::jets_wrapper::and_8, - Core::Bip0340Verify => &simplicity_sys::c_jets::jets_wrapper::bip_0340_verify, - Core::Ch1 => &simplicity_sys::c_jets::jets_wrapper::ch_1, - Core::Ch16 => &simplicity_sys::c_jets::jets_wrapper::ch_16, - Core::Ch32 => &simplicity_sys::c_jets::jets_wrapper::ch_32, - Core::Ch64 => &simplicity_sys::c_jets::jets_wrapper::ch_64, - Core::Ch8 => &simplicity_sys::c_jets::jets_wrapper::ch_8, - Core::CheckSigVerify => &simplicity_sys::c_jets::jets_wrapper::check_sig_verify, - Core::Complement1 => &simplicity_sys::c_jets::jets_wrapper::complement_1, - Core::Complement16 => &simplicity_sys::c_jets::jets_wrapper::complement_16, - Core::Complement32 => &simplicity_sys::c_jets::jets_wrapper::complement_32, - Core::Complement64 => &simplicity_sys::c_jets::jets_wrapper::complement_64, - Core::Complement8 => &simplicity_sys::c_jets::jets_wrapper::complement_8, - Core::Decompress => &simplicity_sys::c_jets::jets_wrapper::decompress, - Core::Decrement16 => &simplicity_sys::c_jets::jets_wrapper::decrement_16, - Core::Decrement32 => &simplicity_sys::c_jets::jets_wrapper::decrement_32, - Core::Decrement64 => &simplicity_sys::c_jets::jets_wrapper::decrement_64, - Core::Decrement8 => &simplicity_sys::c_jets::jets_wrapper::decrement_8, - Core::DivMod128_64 => &simplicity_sys::c_jets::jets_wrapper::div_mod_128_64, - Core::DivMod16 => &simplicity_sys::c_jets::jets_wrapper::div_mod_16, - Core::DivMod32 => &simplicity_sys::c_jets::jets_wrapper::div_mod_32, - Core::DivMod64 => &simplicity_sys::c_jets::jets_wrapper::div_mod_64, - Core::DivMod8 => &simplicity_sys::c_jets::jets_wrapper::div_mod_8, - Core::Divide16 => &simplicity_sys::c_jets::jets_wrapper::divide_16, - Core::Divide32 => &simplicity_sys::c_jets::jets_wrapper::divide_32, - Core::Divide64 => &simplicity_sys::c_jets::jets_wrapper::divide_64, - Core::Divide8 => &simplicity_sys::c_jets::jets_wrapper::divide_8, - Core::Divides16 => &simplicity_sys::c_jets::jets_wrapper::divides_16, - Core::Divides32 => &simplicity_sys::c_jets::jets_wrapper::divides_32, - Core::Divides64 => &simplicity_sys::c_jets::jets_wrapper::divides_64, - Core::Divides8 => &simplicity_sys::c_jets::jets_wrapper::divides_8, - Core::Eq1 => &simplicity_sys::c_jets::jets_wrapper::eq_1, - Core::Eq16 => &simplicity_sys::c_jets::jets_wrapper::eq_16, - Core::Eq256 => &simplicity_sys::c_jets::jets_wrapper::eq_256, - Core::Eq32 => &simplicity_sys::c_jets::jets_wrapper::eq_32, - Core::Eq64 => &simplicity_sys::c_jets::jets_wrapper::eq_64, - Core::Eq8 => &simplicity_sys::c_jets::jets_wrapper::eq_8, - Core::FeAdd => &simplicity_sys::c_jets::jets_wrapper::fe_add, - Core::FeInvert => &simplicity_sys::c_jets::jets_wrapper::fe_invert, - Core::FeIsOdd => &simplicity_sys::c_jets::jets_wrapper::fe_is_odd, - Core::FeIsZero => &simplicity_sys::c_jets::jets_wrapper::fe_is_zero, - Core::FeMultiply => &simplicity_sys::c_jets::jets_wrapper::fe_multiply, - Core::FeMultiplyBeta => &simplicity_sys::c_jets::jets_wrapper::fe_multiply_beta, - Core::FeNegate => &simplicity_sys::c_jets::jets_wrapper::fe_negate, - Core::FeNormalize => &simplicity_sys::c_jets::jets_wrapper::fe_normalize, - Core::FeSquare => &simplicity_sys::c_jets::jets_wrapper::fe_square, - Core::FeSquareRoot => &simplicity_sys::c_jets::jets_wrapper::fe_square_root, - Core::FullAdd16 => &simplicity_sys::c_jets::jets_wrapper::full_add_16, - Core::FullAdd32 => &simplicity_sys::c_jets::jets_wrapper::full_add_32, - Core::FullAdd64 => &simplicity_sys::c_jets::jets_wrapper::full_add_64, - Core::FullAdd8 => &simplicity_sys::c_jets::jets_wrapper::full_add_8, - Core::FullDecrement16 => &simplicity_sys::c_jets::jets_wrapper::full_decrement_16, - Core::FullDecrement32 => &simplicity_sys::c_jets::jets_wrapper::full_decrement_32, - Core::FullDecrement64 => &simplicity_sys::c_jets::jets_wrapper::full_decrement_64, - Core::FullDecrement8 => &simplicity_sys::c_jets::jets_wrapper::full_decrement_8, - Core::FullIncrement16 => &simplicity_sys::c_jets::jets_wrapper::full_increment_16, - Core::FullIncrement32 => &simplicity_sys::c_jets::jets_wrapper::full_increment_32, - Core::FullIncrement64 => &simplicity_sys::c_jets::jets_wrapper::full_increment_64, - Core::FullIncrement8 => &simplicity_sys::c_jets::jets_wrapper::full_increment_8, - Core::FullLeftShift16_1 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_1, - Core::FullLeftShift16_2 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_2, - Core::FullLeftShift16_4 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_4, - Core::FullLeftShift16_8 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_8, - Core::FullLeftShift32_1 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_1, - Core::FullLeftShift32_16 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_16, - Core::FullLeftShift32_2 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_2, - Core::FullLeftShift32_4 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_4, - Core::FullLeftShift32_8 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_8, - Core::FullLeftShift64_1 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_1, - Core::FullLeftShift64_16 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_16, - Core::FullLeftShift64_2 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_2, - Core::FullLeftShift64_32 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_32, - Core::FullLeftShift64_4 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_4, - Core::FullLeftShift64_8 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_8, - Core::FullLeftShift8_1 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_8_1, - Core::FullLeftShift8_2 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_8_2, - Core::FullLeftShift8_4 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_8_4, - Core::FullMultiply16 => &simplicity_sys::c_jets::jets_wrapper::full_multiply_16, - Core::FullMultiply32 => &simplicity_sys::c_jets::jets_wrapper::full_multiply_32, - Core::FullMultiply64 => &simplicity_sys::c_jets::jets_wrapper::full_multiply_64, - Core::FullMultiply8 => &simplicity_sys::c_jets::jets_wrapper::full_multiply_8, - Core::FullRightShift16_1 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_1, - Core::FullRightShift16_2 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_2, - Core::FullRightShift16_4 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_4, - Core::FullRightShift16_8 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_8, - Core::FullRightShift32_1 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_1, - Core::FullRightShift32_16 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_16, - Core::FullRightShift32_2 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_2, - Core::FullRightShift32_4 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_4, - Core::FullRightShift32_8 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_8, - Core::FullRightShift64_1 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_1, - Core::FullRightShift64_16 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_16, - Core::FullRightShift64_2 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_2, - Core::FullRightShift64_32 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_32, - Core::FullRightShift64_4 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_4, - Core::FullRightShift64_8 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_8, - Core::FullRightShift8_1 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_8_1, - Core::FullRightShift8_2 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_8_2, - Core::FullRightShift8_4 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_8_4, - Core::FullSubtract16 => &simplicity_sys::c_jets::jets_wrapper::full_subtract_16, - Core::FullSubtract32 => &simplicity_sys::c_jets::jets_wrapper::full_subtract_32, - Core::FullSubtract64 => &simplicity_sys::c_jets::jets_wrapper::full_subtract_64, - Core::FullSubtract8 => &simplicity_sys::c_jets::jets_wrapper::full_subtract_8, - Core::GeIsOnCurve => &simplicity_sys::c_jets::jets_wrapper::ge_is_on_curve, - Core::GeNegate => &simplicity_sys::c_jets::jets_wrapper::ge_negate, - Core::GejAdd => &simplicity_sys::c_jets::jets_wrapper::gej_add, - Core::GejDouble => &simplicity_sys::c_jets::jets_wrapper::gej_double, - Core::GejEquiv => &simplicity_sys::c_jets::jets_wrapper::gej_equiv, - Core::GejGeAdd => &simplicity_sys::c_jets::jets_wrapper::gej_ge_add, - Core::GejGeAddEx => &simplicity_sys::c_jets::jets_wrapper::gej_ge_add_ex, - Core::GejGeEquiv => &simplicity_sys::c_jets::jets_wrapper::gej_ge_equiv, - Core::GejInfinity => &simplicity_sys::c_jets::jets_wrapper::gej_infinity, - Core::GejIsInfinity => &simplicity_sys::c_jets::jets_wrapper::gej_is_infinity, - Core::GejIsOnCurve => &simplicity_sys::c_jets::jets_wrapper::gej_is_on_curve, - Core::GejNegate => &simplicity_sys::c_jets::jets_wrapper::gej_negate, - Core::GejNormalize => &simplicity_sys::c_jets::jets_wrapper::gej_normalize, - Core::GejRescale => &simplicity_sys::c_jets::jets_wrapper::gej_rescale, - Core::GejXEquiv => &simplicity_sys::c_jets::jets_wrapper::gej_x_equiv, - Core::GejYIsOdd => &simplicity_sys::c_jets::jets_wrapper::gej_y_is_odd, - Core::Generate => &simplicity_sys::c_jets::jets_wrapper::generate, - Core::HashToCurve => &simplicity_sys::c_jets::jets_wrapper::hash_to_curve, - Core::High1 => &simplicity_sys::c_jets::jets_wrapper::high_1, - Core::High16 => &simplicity_sys::c_jets::jets_wrapper::high_16, - Core::High32 => &simplicity_sys::c_jets::jets_wrapper::high_32, - Core::High64 => &simplicity_sys::c_jets::jets_wrapper::high_64, - Core::High8 => &simplicity_sys::c_jets::jets_wrapper::high_8, - Core::Increment16 => &simplicity_sys::c_jets::jets_wrapper::increment_16, - Core::Increment32 => &simplicity_sys::c_jets::jets_wrapper::increment_32, - Core::Increment64 => &simplicity_sys::c_jets::jets_wrapper::increment_64, - Core::Increment8 => &simplicity_sys::c_jets::jets_wrapper::increment_8, - Core::IsOne16 => &simplicity_sys::c_jets::jets_wrapper::is_one_16, - Core::IsOne32 => &simplicity_sys::c_jets::jets_wrapper::is_one_32, - Core::IsOne64 => &simplicity_sys::c_jets::jets_wrapper::is_one_64, - Core::IsOne8 => &simplicity_sys::c_jets::jets_wrapper::is_one_8, - Core::IsZero16 => &simplicity_sys::c_jets::jets_wrapper::is_zero_16, - Core::IsZero32 => &simplicity_sys::c_jets::jets_wrapper::is_zero_32, - Core::IsZero64 => &simplicity_sys::c_jets::jets_wrapper::is_zero_64, - Core::IsZero8 => &simplicity_sys::c_jets::jets_wrapper::is_zero_8, - Core::Le16 => &simplicity_sys::c_jets::jets_wrapper::le_16, - Core::Le32 => &simplicity_sys::c_jets::jets_wrapper::le_32, - Core::Le64 => &simplicity_sys::c_jets::jets_wrapper::le_64, - Core::Le8 => &simplicity_sys::c_jets::jets_wrapper::le_8, - Core::LeftExtend16_32 => &simplicity_sys::c_jets::jets_wrapper::left_extend_16_32, - Core::LeftExtend16_64 => &simplicity_sys::c_jets::jets_wrapper::left_extend_16_64, - Core::LeftExtend1_16 => &simplicity_sys::c_jets::jets_wrapper::left_extend_1_16, - Core::LeftExtend1_32 => &simplicity_sys::c_jets::jets_wrapper::left_extend_1_32, - Core::LeftExtend1_64 => &simplicity_sys::c_jets::jets_wrapper::left_extend_1_64, - Core::LeftExtend1_8 => &simplicity_sys::c_jets::jets_wrapper::left_extend_1_8, - Core::LeftExtend32_64 => &simplicity_sys::c_jets::jets_wrapper::left_extend_32_64, - Core::LeftExtend8_16 => &simplicity_sys::c_jets::jets_wrapper::left_extend_8_16, - Core::LeftExtend8_32 => &simplicity_sys::c_jets::jets_wrapper::left_extend_8_32, - Core::LeftExtend8_64 => &simplicity_sys::c_jets::jets_wrapper::left_extend_8_64, - Core::LeftPadHigh16_32 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_16_32, - Core::LeftPadHigh16_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_16_64, - Core::LeftPadHigh1_16 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_16, - Core::LeftPadHigh1_32 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_32, - Core::LeftPadHigh1_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_64, - Core::LeftPadHigh1_8 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_8, - Core::LeftPadHigh32_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_32_64, - Core::LeftPadHigh8_16 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_8_16, - Core::LeftPadHigh8_32 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_8_32, - Core::LeftPadHigh8_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_8_64, - Core::LeftPadLow16_32 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_16_32, - Core::LeftPadLow16_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_16_64, - Core::LeftPadLow1_16 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_16, - Core::LeftPadLow1_32 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_32, - Core::LeftPadLow1_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_64, - Core::LeftPadLow1_8 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_8, - Core::LeftPadLow32_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_32_64, - Core::LeftPadLow8_16 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_8_16, - Core::LeftPadLow8_32 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_8_32, - Core::LeftPadLow8_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_8_64, - Core::LeftRotate16 => &simplicity_sys::c_jets::jets_wrapper::left_rotate_16, - Core::LeftRotate32 => &simplicity_sys::c_jets::jets_wrapper::left_rotate_32, - Core::LeftRotate64 => &simplicity_sys::c_jets::jets_wrapper::left_rotate_64, - Core::LeftRotate8 => &simplicity_sys::c_jets::jets_wrapper::left_rotate_8, - Core::LeftShift16 => &simplicity_sys::c_jets::jets_wrapper::left_shift_16, - Core::LeftShift32 => &simplicity_sys::c_jets::jets_wrapper::left_shift_32, - Core::LeftShift64 => &simplicity_sys::c_jets::jets_wrapper::left_shift_64, - Core::LeftShift8 => &simplicity_sys::c_jets::jets_wrapper::left_shift_8, - Core::LeftShiftWith16 => &simplicity_sys::c_jets::jets_wrapper::left_shift_with_16, - Core::LeftShiftWith32 => &simplicity_sys::c_jets::jets_wrapper::left_shift_with_32, - Core::LeftShiftWith64 => &simplicity_sys::c_jets::jets_wrapper::left_shift_with_64, - Core::LeftShiftWith8 => &simplicity_sys::c_jets::jets_wrapper::left_shift_with_8, - Core::Leftmost16_1 => &simplicity_sys::c_jets::jets_wrapper::leftmost_16_1, - Core::Leftmost16_2 => &simplicity_sys::c_jets::jets_wrapper::leftmost_16_2, - Core::Leftmost16_4 => &simplicity_sys::c_jets::jets_wrapper::leftmost_16_4, - Core::Leftmost16_8 => &simplicity_sys::c_jets::jets_wrapper::leftmost_16_8, - Core::Leftmost32_1 => &simplicity_sys::c_jets::jets_wrapper::leftmost_32_1, - Core::Leftmost32_16 => &simplicity_sys::c_jets::jets_wrapper::leftmost_32_16, - Core::Leftmost32_2 => &simplicity_sys::c_jets::jets_wrapper::leftmost_32_2, - Core::Leftmost32_4 => &simplicity_sys::c_jets::jets_wrapper::leftmost_32_4, - Core::Leftmost32_8 => &simplicity_sys::c_jets::jets_wrapper::leftmost_32_8, - Core::Leftmost64_1 => &simplicity_sys::c_jets::jets_wrapper::leftmost_64_1, - Core::Leftmost64_16 => &simplicity_sys::c_jets::jets_wrapper::leftmost_64_16, - Core::Leftmost64_2 => &simplicity_sys::c_jets::jets_wrapper::leftmost_64_2, - Core::Leftmost64_32 => &simplicity_sys::c_jets::jets_wrapper::leftmost_64_32, - Core::Leftmost64_4 => &simplicity_sys::c_jets::jets_wrapper::leftmost_64_4, - Core::Leftmost64_8 => &simplicity_sys::c_jets::jets_wrapper::leftmost_64_8, - Core::Leftmost8_1 => &simplicity_sys::c_jets::jets_wrapper::leftmost_8_1, - Core::Leftmost8_2 => &simplicity_sys::c_jets::jets_wrapper::leftmost_8_2, - Core::Leftmost8_4 => &simplicity_sys::c_jets::jets_wrapper::leftmost_8_4, - Core::LinearCombination1 => &simplicity_sys::c_jets::jets_wrapper::linear_combination_1, - Core::LinearVerify1 => &simplicity_sys::c_jets::jets_wrapper::linear_verify_1, - Core::Low1 => &simplicity_sys::c_jets::jets_wrapper::low_1, - Core::Low16 => &simplicity_sys::c_jets::jets_wrapper::low_16, - Core::Low32 => &simplicity_sys::c_jets::jets_wrapper::low_32, - Core::Low64 => &simplicity_sys::c_jets::jets_wrapper::low_64, - Core::Low8 => &simplicity_sys::c_jets::jets_wrapper::low_8, - Core::Lt16 => &simplicity_sys::c_jets::jets_wrapper::lt_16, - Core::Lt32 => &simplicity_sys::c_jets::jets_wrapper::lt_32, - Core::Lt64 => &simplicity_sys::c_jets::jets_wrapper::lt_64, - Core::Lt8 => &simplicity_sys::c_jets::jets_wrapper::lt_8, - Core::Maj1 => &simplicity_sys::c_jets::jets_wrapper::maj_1, - Core::Maj16 => &simplicity_sys::c_jets::jets_wrapper::maj_16, - Core::Maj32 => &simplicity_sys::c_jets::jets_wrapper::maj_32, - Core::Maj64 => &simplicity_sys::c_jets::jets_wrapper::maj_64, - Core::Maj8 => &simplicity_sys::c_jets::jets_wrapper::maj_8, - Core::Max16 => &simplicity_sys::c_jets::jets_wrapper::max_16, - Core::Max32 => &simplicity_sys::c_jets::jets_wrapper::max_32, - Core::Max64 => &simplicity_sys::c_jets::jets_wrapper::max_64, - Core::Max8 => &simplicity_sys::c_jets::jets_wrapper::max_8, - Core::Median16 => &simplicity_sys::c_jets::jets_wrapper::median_16, - Core::Median32 => &simplicity_sys::c_jets::jets_wrapper::median_32, - Core::Median64 => &simplicity_sys::c_jets::jets_wrapper::median_64, - Core::Median8 => &simplicity_sys::c_jets::jets_wrapper::median_8, - Core::Min16 => &simplicity_sys::c_jets::jets_wrapper::min_16, - Core::Min32 => &simplicity_sys::c_jets::jets_wrapper::min_32, - Core::Min64 => &simplicity_sys::c_jets::jets_wrapper::min_64, - Core::Min8 => &simplicity_sys::c_jets::jets_wrapper::min_8, - Core::Modulo16 => &simplicity_sys::c_jets::jets_wrapper::modulo_16, - Core::Modulo32 => &simplicity_sys::c_jets::jets_wrapper::modulo_32, - Core::Modulo64 => &simplicity_sys::c_jets::jets_wrapper::modulo_64, - Core::Modulo8 => &simplicity_sys::c_jets::jets_wrapper::modulo_8, - Core::Multiply16 => &simplicity_sys::c_jets::jets_wrapper::multiply_16, - Core::Multiply32 => &simplicity_sys::c_jets::jets_wrapper::multiply_32, - Core::Multiply64 => &simplicity_sys::c_jets::jets_wrapper::multiply_64, - Core::Multiply8 => &simplicity_sys::c_jets::jets_wrapper::multiply_8, - Core::Negate16 => &simplicity_sys::c_jets::jets_wrapper::negate_16, - Core::Negate32 => &simplicity_sys::c_jets::jets_wrapper::negate_32, - Core::Negate64 => &simplicity_sys::c_jets::jets_wrapper::negate_64, - Core::Negate8 => &simplicity_sys::c_jets::jets_wrapper::negate_8, - Core::One16 => &simplicity_sys::c_jets::jets_wrapper::one_16, - Core::One32 => &simplicity_sys::c_jets::jets_wrapper::one_32, - Core::One64 => &simplicity_sys::c_jets::jets_wrapper::one_64, - Core::One8 => &simplicity_sys::c_jets::jets_wrapper::one_8, - Core::Or1 => &simplicity_sys::c_jets::jets_wrapper::or_1, - Core::Or16 => &simplicity_sys::c_jets::jets_wrapper::or_16, - Core::Or32 => &simplicity_sys::c_jets::jets_wrapper::or_32, - Core::Or64 => &simplicity_sys::c_jets::jets_wrapper::or_64, - Core::Or8 => &simplicity_sys::c_jets::jets_wrapper::or_8, - Core::ParseLock => &simplicity_sys::c_jets::jets_wrapper::parse_lock, - Core::ParseSequence => &simplicity_sys::c_jets::jets_wrapper::parse_sequence, - Core::PointVerify1 => &simplicity_sys::c_jets::jets_wrapper::point_verify_1, - Core::RightExtend16_32 => &simplicity_sys::c_jets::jets_wrapper::right_extend_16_32, - Core::RightExtend16_64 => &simplicity_sys::c_jets::jets_wrapper::right_extend_16_64, - Core::RightExtend32_64 => &simplicity_sys::c_jets::jets_wrapper::right_extend_32_64, - Core::RightExtend8_16 => &simplicity_sys::c_jets::jets_wrapper::right_extend_8_16, - Core::RightExtend8_32 => &simplicity_sys::c_jets::jets_wrapper::right_extend_8_32, - Core::RightExtend8_64 => &simplicity_sys::c_jets::jets_wrapper::right_extend_8_64, - Core::RightPadHigh16_32 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_16_32, - Core::RightPadHigh16_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_16_64, - Core::RightPadHigh1_16 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_16, - Core::RightPadHigh1_32 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_32, - Core::RightPadHigh1_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_64, - Core::RightPadHigh1_8 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_8, - Core::RightPadHigh32_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_32_64, - Core::RightPadHigh8_16 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_8_16, - Core::RightPadHigh8_32 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_8_32, - Core::RightPadHigh8_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_8_64, - Core::RightPadLow16_32 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_16_32, - Core::RightPadLow16_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_16_64, - Core::RightPadLow1_16 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_16, - Core::RightPadLow1_32 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_32, - Core::RightPadLow1_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_64, - Core::RightPadLow1_8 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_8, - Core::RightPadLow32_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_32_64, - Core::RightPadLow8_16 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_8_16, - Core::RightPadLow8_32 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_8_32, - Core::RightPadLow8_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_8_64, - Core::RightRotate16 => &simplicity_sys::c_jets::jets_wrapper::right_rotate_16, - Core::RightRotate32 => &simplicity_sys::c_jets::jets_wrapper::right_rotate_32, - Core::RightRotate64 => &simplicity_sys::c_jets::jets_wrapper::right_rotate_64, - Core::RightRotate8 => &simplicity_sys::c_jets::jets_wrapper::right_rotate_8, - Core::RightShift16 => &simplicity_sys::c_jets::jets_wrapper::right_shift_16, - Core::RightShift32 => &simplicity_sys::c_jets::jets_wrapper::right_shift_32, - Core::RightShift64 => &simplicity_sys::c_jets::jets_wrapper::right_shift_64, - Core::RightShift8 => &simplicity_sys::c_jets::jets_wrapper::right_shift_8, - Core::RightShiftWith16 => &simplicity_sys::c_jets::jets_wrapper::right_shift_with_16, - Core::RightShiftWith32 => &simplicity_sys::c_jets::jets_wrapper::right_shift_with_32, - Core::RightShiftWith64 => &simplicity_sys::c_jets::jets_wrapper::right_shift_with_64, - Core::RightShiftWith8 => &simplicity_sys::c_jets::jets_wrapper::right_shift_with_8, - Core::Rightmost16_1 => &simplicity_sys::c_jets::jets_wrapper::rightmost_16_1, - Core::Rightmost16_2 => &simplicity_sys::c_jets::jets_wrapper::rightmost_16_2, - Core::Rightmost16_4 => &simplicity_sys::c_jets::jets_wrapper::rightmost_16_4, - Core::Rightmost16_8 => &simplicity_sys::c_jets::jets_wrapper::rightmost_16_8, - Core::Rightmost32_1 => &simplicity_sys::c_jets::jets_wrapper::rightmost_32_1, - Core::Rightmost32_16 => &simplicity_sys::c_jets::jets_wrapper::rightmost_32_16, - Core::Rightmost32_2 => &simplicity_sys::c_jets::jets_wrapper::rightmost_32_2, - Core::Rightmost32_4 => &simplicity_sys::c_jets::jets_wrapper::rightmost_32_4, - Core::Rightmost32_8 => &simplicity_sys::c_jets::jets_wrapper::rightmost_32_8, - Core::Rightmost64_1 => &simplicity_sys::c_jets::jets_wrapper::rightmost_64_1, - Core::Rightmost64_16 => &simplicity_sys::c_jets::jets_wrapper::rightmost_64_16, - Core::Rightmost64_2 => &simplicity_sys::c_jets::jets_wrapper::rightmost_64_2, - Core::Rightmost64_32 => &simplicity_sys::c_jets::jets_wrapper::rightmost_64_32, - Core::Rightmost64_4 => &simplicity_sys::c_jets::jets_wrapper::rightmost_64_4, - Core::Rightmost64_8 => &simplicity_sys::c_jets::jets_wrapper::rightmost_64_8, - Core::Rightmost8_1 => &simplicity_sys::c_jets::jets_wrapper::rightmost_8_1, - Core::Rightmost8_2 => &simplicity_sys::c_jets::jets_wrapper::rightmost_8_2, - Core::Rightmost8_4 => &simplicity_sys::c_jets::jets_wrapper::rightmost_8_4, - Core::ScalarAdd => &simplicity_sys::c_jets::jets_wrapper::scalar_add, - Core::ScalarInvert => &simplicity_sys::c_jets::jets_wrapper::scalar_invert, - Core::ScalarIsZero => &simplicity_sys::c_jets::jets_wrapper::scalar_is_zero, - Core::ScalarMultiply => &simplicity_sys::c_jets::jets_wrapper::scalar_multiply, - Core::ScalarMultiplyLambda => &simplicity_sys::c_jets::jets_wrapper::scalar_multiply_lambda, - Core::ScalarNegate => &simplicity_sys::c_jets::jets_wrapper::scalar_negate, - Core::ScalarNormalize => &simplicity_sys::c_jets::jets_wrapper::scalar_normalize, - Core::ScalarSquare => &simplicity_sys::c_jets::jets_wrapper::scalar_square, - Core::Scale => &simplicity_sys::c_jets::jets_wrapper::scale, - Core::Sha256Block => &simplicity_sys::c_jets::jets_wrapper::sha_256_block, - Core::Sha256Ctx8Add1 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_1, - Core::Sha256Ctx8Add128 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_128, - Core::Sha256Ctx8Add16 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_16, - Core::Sha256Ctx8Add2 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_2, - Core::Sha256Ctx8Add256 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_256, - Core::Sha256Ctx8Add32 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_32, - Core::Sha256Ctx8Add4 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_4, - Core::Sha256Ctx8Add512 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_512, - Core::Sha256Ctx8Add64 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_64, - Core::Sha256Ctx8Add8 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_8, - Core::Sha256Ctx8AddBuffer511 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_buffer_511, - Core::Sha256Ctx8Finalize => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_finalize, - Core::Sha256Ctx8Init => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_init, - Core::Sha256Iv => &simplicity_sys::c_jets::jets_wrapper::sha_256_iv, - Core::Some1 => &simplicity_sys::c_jets::jets_wrapper::some_1, - Core::Some16 => &simplicity_sys::c_jets::jets_wrapper::some_16, - Core::Some32 => &simplicity_sys::c_jets::jets_wrapper::some_32, - Core::Some64 => &simplicity_sys::c_jets::jets_wrapper::some_64, - Core::Some8 => &simplicity_sys::c_jets::jets_wrapper::some_8, - Core::Subtract16 => &simplicity_sys::c_jets::jets_wrapper::subtract_16, - Core::Subtract32 => &simplicity_sys::c_jets::jets_wrapper::subtract_32, - Core::Subtract64 => &simplicity_sys::c_jets::jets_wrapper::subtract_64, - Core::Subtract8 => &simplicity_sys::c_jets::jets_wrapper::subtract_8, - Core::Swu => &simplicity_sys::c_jets::jets_wrapper::swu, - Core::TapdataInit => &simplicity_sys::c_jets::jets_wrapper::tapdata_init, - Core::Verify => &simplicity_sys::c_jets::jets_wrapper::verify, - Core::Xor1 => &simplicity_sys::c_jets::jets_wrapper::xor_1, - Core::Xor16 => &simplicity_sys::c_jets::jets_wrapper::xor_16, - Core::Xor32 => &simplicity_sys::c_jets::jets_wrapper::xor_32, - Core::Xor64 => &simplicity_sys::c_jets::jets_wrapper::xor_64, - Core::Xor8 => &simplicity_sys::c_jets::jets_wrapper::xor_8, - Core::XorXor1 => &simplicity_sys::c_jets::jets_wrapper::xor_xor_1, - Core::XorXor16 => &simplicity_sys::c_jets::jets_wrapper::xor_xor_16, - Core::XorXor32 => &simplicity_sys::c_jets::jets_wrapper::xor_xor_32, - Core::XorXor64 => &simplicity_sys::c_jets::jets_wrapper::xor_xor_64, - Core::XorXor8 => &simplicity_sys::c_jets::jets_wrapper::xor_xor_8, - } - } - fn cost(&self) -> Cost { match self { Core::Add16 => Cost::from_milliweight(80), @@ -7519,3 +7139,376 @@ impl str::FromStr for Core { } } } + +pub(crate) fn c_jet_ptr(jet: &Core) -> fn(&mut CFrameItem, CFrameItem, &()) -> bool { + match jet { + Core::Add16 => simplicity_sys::c_jets::jets_wrapper::add_16, + Core::Add32 => simplicity_sys::c_jets::jets_wrapper::add_32, + Core::Add64 => simplicity_sys::c_jets::jets_wrapper::add_64, + Core::Add8 => simplicity_sys::c_jets::jets_wrapper::add_8, + Core::All16 => simplicity_sys::c_jets::jets_wrapper::all_16, + Core::All32 => simplicity_sys::c_jets::jets_wrapper::all_32, + Core::All64 => simplicity_sys::c_jets::jets_wrapper::all_64, + Core::All8 => simplicity_sys::c_jets::jets_wrapper::all_8, + Core::And1 => simplicity_sys::c_jets::jets_wrapper::and_1, + Core::And16 => simplicity_sys::c_jets::jets_wrapper::and_16, + Core::And32 => simplicity_sys::c_jets::jets_wrapper::and_32, + Core::And64 => simplicity_sys::c_jets::jets_wrapper::and_64, + Core::And8 => simplicity_sys::c_jets::jets_wrapper::and_8, + Core::Bip0340Verify => simplicity_sys::c_jets::jets_wrapper::bip_0340_verify, + Core::Ch1 => simplicity_sys::c_jets::jets_wrapper::ch_1, + Core::Ch16 => simplicity_sys::c_jets::jets_wrapper::ch_16, + Core::Ch32 => simplicity_sys::c_jets::jets_wrapper::ch_32, + Core::Ch64 => simplicity_sys::c_jets::jets_wrapper::ch_64, + Core::Ch8 => simplicity_sys::c_jets::jets_wrapper::ch_8, + Core::CheckSigVerify => simplicity_sys::c_jets::jets_wrapper::check_sig_verify, + Core::Complement1 => simplicity_sys::c_jets::jets_wrapper::complement_1, + Core::Complement16 => simplicity_sys::c_jets::jets_wrapper::complement_16, + Core::Complement32 => simplicity_sys::c_jets::jets_wrapper::complement_32, + Core::Complement64 => simplicity_sys::c_jets::jets_wrapper::complement_64, + Core::Complement8 => simplicity_sys::c_jets::jets_wrapper::complement_8, + Core::Decompress => simplicity_sys::c_jets::jets_wrapper::decompress, + Core::Decrement16 => simplicity_sys::c_jets::jets_wrapper::decrement_16, + Core::Decrement32 => simplicity_sys::c_jets::jets_wrapper::decrement_32, + Core::Decrement64 => simplicity_sys::c_jets::jets_wrapper::decrement_64, + Core::Decrement8 => simplicity_sys::c_jets::jets_wrapper::decrement_8, + Core::DivMod128_64 => simplicity_sys::c_jets::jets_wrapper::div_mod_128_64, + Core::DivMod16 => simplicity_sys::c_jets::jets_wrapper::div_mod_16, + Core::DivMod32 => simplicity_sys::c_jets::jets_wrapper::div_mod_32, + Core::DivMod64 => simplicity_sys::c_jets::jets_wrapper::div_mod_64, + Core::DivMod8 => simplicity_sys::c_jets::jets_wrapper::div_mod_8, + Core::Divide16 => simplicity_sys::c_jets::jets_wrapper::divide_16, + Core::Divide32 => simplicity_sys::c_jets::jets_wrapper::divide_32, + Core::Divide64 => simplicity_sys::c_jets::jets_wrapper::divide_64, + Core::Divide8 => simplicity_sys::c_jets::jets_wrapper::divide_8, + Core::Divides16 => simplicity_sys::c_jets::jets_wrapper::divides_16, + Core::Divides32 => simplicity_sys::c_jets::jets_wrapper::divides_32, + Core::Divides64 => simplicity_sys::c_jets::jets_wrapper::divides_64, + Core::Divides8 => simplicity_sys::c_jets::jets_wrapper::divides_8, + Core::Eq1 => simplicity_sys::c_jets::jets_wrapper::eq_1, + Core::Eq16 => simplicity_sys::c_jets::jets_wrapper::eq_16, + Core::Eq256 => simplicity_sys::c_jets::jets_wrapper::eq_256, + Core::Eq32 => simplicity_sys::c_jets::jets_wrapper::eq_32, + Core::Eq64 => simplicity_sys::c_jets::jets_wrapper::eq_64, + Core::Eq8 => simplicity_sys::c_jets::jets_wrapper::eq_8, + Core::FeAdd => simplicity_sys::c_jets::jets_wrapper::fe_add, + Core::FeInvert => simplicity_sys::c_jets::jets_wrapper::fe_invert, + Core::FeIsOdd => simplicity_sys::c_jets::jets_wrapper::fe_is_odd, + Core::FeIsZero => simplicity_sys::c_jets::jets_wrapper::fe_is_zero, + Core::FeMultiply => simplicity_sys::c_jets::jets_wrapper::fe_multiply, + Core::FeMultiplyBeta => simplicity_sys::c_jets::jets_wrapper::fe_multiply_beta, + Core::FeNegate => simplicity_sys::c_jets::jets_wrapper::fe_negate, + Core::FeNormalize => simplicity_sys::c_jets::jets_wrapper::fe_normalize, + Core::FeSquare => simplicity_sys::c_jets::jets_wrapper::fe_square, + Core::FeSquareRoot => simplicity_sys::c_jets::jets_wrapper::fe_square_root, + Core::FullAdd16 => simplicity_sys::c_jets::jets_wrapper::full_add_16, + Core::FullAdd32 => simplicity_sys::c_jets::jets_wrapper::full_add_32, + Core::FullAdd64 => simplicity_sys::c_jets::jets_wrapper::full_add_64, + Core::FullAdd8 => simplicity_sys::c_jets::jets_wrapper::full_add_8, + Core::FullDecrement16 => simplicity_sys::c_jets::jets_wrapper::full_decrement_16, + Core::FullDecrement32 => simplicity_sys::c_jets::jets_wrapper::full_decrement_32, + Core::FullDecrement64 => simplicity_sys::c_jets::jets_wrapper::full_decrement_64, + Core::FullDecrement8 => simplicity_sys::c_jets::jets_wrapper::full_decrement_8, + Core::FullIncrement16 => simplicity_sys::c_jets::jets_wrapper::full_increment_16, + Core::FullIncrement32 => simplicity_sys::c_jets::jets_wrapper::full_increment_32, + Core::FullIncrement64 => simplicity_sys::c_jets::jets_wrapper::full_increment_64, + Core::FullIncrement8 => simplicity_sys::c_jets::jets_wrapper::full_increment_8, + Core::FullLeftShift16_1 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_1, + Core::FullLeftShift16_2 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_2, + Core::FullLeftShift16_4 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_4, + Core::FullLeftShift16_8 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_8, + Core::FullLeftShift32_1 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_1, + Core::FullLeftShift32_16 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_16, + Core::FullLeftShift32_2 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_2, + Core::FullLeftShift32_4 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_4, + Core::FullLeftShift32_8 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_8, + Core::FullLeftShift64_1 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_1, + Core::FullLeftShift64_16 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_16, + Core::FullLeftShift64_2 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_2, + Core::FullLeftShift64_32 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_32, + Core::FullLeftShift64_4 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_4, + Core::FullLeftShift64_8 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_8, + Core::FullLeftShift8_1 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_8_1, + Core::FullLeftShift8_2 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_8_2, + Core::FullLeftShift8_4 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_8_4, + Core::FullMultiply16 => simplicity_sys::c_jets::jets_wrapper::full_multiply_16, + Core::FullMultiply32 => simplicity_sys::c_jets::jets_wrapper::full_multiply_32, + Core::FullMultiply64 => simplicity_sys::c_jets::jets_wrapper::full_multiply_64, + Core::FullMultiply8 => simplicity_sys::c_jets::jets_wrapper::full_multiply_8, + Core::FullRightShift16_1 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_1, + Core::FullRightShift16_2 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_2, + Core::FullRightShift16_4 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_4, + Core::FullRightShift16_8 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_8, + Core::FullRightShift32_1 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_1, + Core::FullRightShift32_16 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_16, + Core::FullRightShift32_2 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_2, + Core::FullRightShift32_4 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_4, + Core::FullRightShift32_8 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_8, + Core::FullRightShift64_1 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_1, + Core::FullRightShift64_16 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_16, + Core::FullRightShift64_2 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_2, + Core::FullRightShift64_32 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_32, + Core::FullRightShift64_4 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_4, + Core::FullRightShift64_8 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_8, + Core::FullRightShift8_1 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_8_1, + Core::FullRightShift8_2 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_8_2, + Core::FullRightShift8_4 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_8_4, + Core::FullSubtract16 => simplicity_sys::c_jets::jets_wrapper::full_subtract_16, + Core::FullSubtract32 => simplicity_sys::c_jets::jets_wrapper::full_subtract_32, + Core::FullSubtract64 => simplicity_sys::c_jets::jets_wrapper::full_subtract_64, + Core::FullSubtract8 => simplicity_sys::c_jets::jets_wrapper::full_subtract_8, + Core::GeIsOnCurve => simplicity_sys::c_jets::jets_wrapper::ge_is_on_curve, + Core::GeNegate => simplicity_sys::c_jets::jets_wrapper::ge_negate, + Core::GejAdd => simplicity_sys::c_jets::jets_wrapper::gej_add, + Core::GejDouble => simplicity_sys::c_jets::jets_wrapper::gej_double, + Core::GejEquiv => simplicity_sys::c_jets::jets_wrapper::gej_equiv, + Core::GejGeAdd => simplicity_sys::c_jets::jets_wrapper::gej_ge_add, + Core::GejGeAddEx => simplicity_sys::c_jets::jets_wrapper::gej_ge_add_ex, + Core::GejGeEquiv => simplicity_sys::c_jets::jets_wrapper::gej_ge_equiv, + Core::GejInfinity => simplicity_sys::c_jets::jets_wrapper::gej_infinity, + Core::GejIsInfinity => simplicity_sys::c_jets::jets_wrapper::gej_is_infinity, + Core::GejIsOnCurve => simplicity_sys::c_jets::jets_wrapper::gej_is_on_curve, + Core::GejNegate => simplicity_sys::c_jets::jets_wrapper::gej_negate, + Core::GejNormalize => simplicity_sys::c_jets::jets_wrapper::gej_normalize, + Core::GejRescale => simplicity_sys::c_jets::jets_wrapper::gej_rescale, + Core::GejXEquiv => simplicity_sys::c_jets::jets_wrapper::gej_x_equiv, + Core::GejYIsOdd => simplicity_sys::c_jets::jets_wrapper::gej_y_is_odd, + Core::Generate => simplicity_sys::c_jets::jets_wrapper::generate, + Core::HashToCurve => simplicity_sys::c_jets::jets_wrapper::hash_to_curve, + Core::High1 => simplicity_sys::c_jets::jets_wrapper::high_1, + Core::High16 => simplicity_sys::c_jets::jets_wrapper::high_16, + Core::High32 => simplicity_sys::c_jets::jets_wrapper::high_32, + Core::High64 => simplicity_sys::c_jets::jets_wrapper::high_64, + Core::High8 => simplicity_sys::c_jets::jets_wrapper::high_8, + Core::Increment16 => simplicity_sys::c_jets::jets_wrapper::increment_16, + Core::Increment32 => simplicity_sys::c_jets::jets_wrapper::increment_32, + Core::Increment64 => simplicity_sys::c_jets::jets_wrapper::increment_64, + Core::Increment8 => simplicity_sys::c_jets::jets_wrapper::increment_8, + Core::IsOne16 => simplicity_sys::c_jets::jets_wrapper::is_one_16, + Core::IsOne32 => simplicity_sys::c_jets::jets_wrapper::is_one_32, + Core::IsOne64 => simplicity_sys::c_jets::jets_wrapper::is_one_64, + Core::IsOne8 => simplicity_sys::c_jets::jets_wrapper::is_one_8, + Core::IsZero16 => simplicity_sys::c_jets::jets_wrapper::is_zero_16, + Core::IsZero32 => simplicity_sys::c_jets::jets_wrapper::is_zero_32, + Core::IsZero64 => simplicity_sys::c_jets::jets_wrapper::is_zero_64, + Core::IsZero8 => simplicity_sys::c_jets::jets_wrapper::is_zero_8, + Core::Le16 => simplicity_sys::c_jets::jets_wrapper::le_16, + Core::Le32 => simplicity_sys::c_jets::jets_wrapper::le_32, + Core::Le64 => simplicity_sys::c_jets::jets_wrapper::le_64, + Core::Le8 => simplicity_sys::c_jets::jets_wrapper::le_8, + Core::LeftExtend16_32 => simplicity_sys::c_jets::jets_wrapper::left_extend_16_32, + Core::LeftExtend16_64 => simplicity_sys::c_jets::jets_wrapper::left_extend_16_64, + Core::LeftExtend1_16 => simplicity_sys::c_jets::jets_wrapper::left_extend_1_16, + Core::LeftExtend1_32 => simplicity_sys::c_jets::jets_wrapper::left_extend_1_32, + Core::LeftExtend1_64 => simplicity_sys::c_jets::jets_wrapper::left_extend_1_64, + Core::LeftExtend1_8 => simplicity_sys::c_jets::jets_wrapper::left_extend_1_8, + Core::LeftExtend32_64 => simplicity_sys::c_jets::jets_wrapper::left_extend_32_64, + Core::LeftExtend8_16 => simplicity_sys::c_jets::jets_wrapper::left_extend_8_16, + Core::LeftExtend8_32 => simplicity_sys::c_jets::jets_wrapper::left_extend_8_32, + Core::LeftExtend8_64 => simplicity_sys::c_jets::jets_wrapper::left_extend_8_64, + Core::LeftPadHigh16_32 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_16_32, + Core::LeftPadHigh16_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_16_64, + Core::LeftPadHigh1_16 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_16, + Core::LeftPadHigh1_32 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_32, + Core::LeftPadHigh1_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_64, + Core::LeftPadHigh1_8 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_8, + Core::LeftPadHigh32_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_32_64, + Core::LeftPadHigh8_16 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_8_16, + Core::LeftPadHigh8_32 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_8_32, + Core::LeftPadHigh8_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_8_64, + Core::LeftPadLow16_32 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_16_32, + Core::LeftPadLow16_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_16_64, + Core::LeftPadLow1_16 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_16, + Core::LeftPadLow1_32 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_32, + Core::LeftPadLow1_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_64, + Core::LeftPadLow1_8 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_8, + Core::LeftPadLow32_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_32_64, + Core::LeftPadLow8_16 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_8_16, + Core::LeftPadLow8_32 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_8_32, + Core::LeftPadLow8_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_8_64, + Core::LeftRotate16 => simplicity_sys::c_jets::jets_wrapper::left_rotate_16, + Core::LeftRotate32 => simplicity_sys::c_jets::jets_wrapper::left_rotate_32, + Core::LeftRotate64 => simplicity_sys::c_jets::jets_wrapper::left_rotate_64, + Core::LeftRotate8 => simplicity_sys::c_jets::jets_wrapper::left_rotate_8, + Core::LeftShift16 => simplicity_sys::c_jets::jets_wrapper::left_shift_16, + Core::LeftShift32 => simplicity_sys::c_jets::jets_wrapper::left_shift_32, + Core::LeftShift64 => simplicity_sys::c_jets::jets_wrapper::left_shift_64, + Core::LeftShift8 => simplicity_sys::c_jets::jets_wrapper::left_shift_8, + Core::LeftShiftWith16 => simplicity_sys::c_jets::jets_wrapper::left_shift_with_16, + Core::LeftShiftWith32 => simplicity_sys::c_jets::jets_wrapper::left_shift_with_32, + Core::LeftShiftWith64 => simplicity_sys::c_jets::jets_wrapper::left_shift_with_64, + Core::LeftShiftWith8 => simplicity_sys::c_jets::jets_wrapper::left_shift_with_8, + Core::Leftmost16_1 => simplicity_sys::c_jets::jets_wrapper::leftmost_16_1, + Core::Leftmost16_2 => simplicity_sys::c_jets::jets_wrapper::leftmost_16_2, + Core::Leftmost16_4 => simplicity_sys::c_jets::jets_wrapper::leftmost_16_4, + Core::Leftmost16_8 => simplicity_sys::c_jets::jets_wrapper::leftmost_16_8, + Core::Leftmost32_1 => simplicity_sys::c_jets::jets_wrapper::leftmost_32_1, + Core::Leftmost32_16 => simplicity_sys::c_jets::jets_wrapper::leftmost_32_16, + Core::Leftmost32_2 => simplicity_sys::c_jets::jets_wrapper::leftmost_32_2, + Core::Leftmost32_4 => simplicity_sys::c_jets::jets_wrapper::leftmost_32_4, + Core::Leftmost32_8 => simplicity_sys::c_jets::jets_wrapper::leftmost_32_8, + Core::Leftmost64_1 => simplicity_sys::c_jets::jets_wrapper::leftmost_64_1, + Core::Leftmost64_16 => simplicity_sys::c_jets::jets_wrapper::leftmost_64_16, + Core::Leftmost64_2 => simplicity_sys::c_jets::jets_wrapper::leftmost_64_2, + Core::Leftmost64_32 => simplicity_sys::c_jets::jets_wrapper::leftmost_64_32, + Core::Leftmost64_4 => simplicity_sys::c_jets::jets_wrapper::leftmost_64_4, + Core::Leftmost64_8 => simplicity_sys::c_jets::jets_wrapper::leftmost_64_8, + Core::Leftmost8_1 => simplicity_sys::c_jets::jets_wrapper::leftmost_8_1, + Core::Leftmost8_2 => simplicity_sys::c_jets::jets_wrapper::leftmost_8_2, + Core::Leftmost8_4 => simplicity_sys::c_jets::jets_wrapper::leftmost_8_4, + Core::LinearCombination1 => simplicity_sys::c_jets::jets_wrapper::linear_combination_1, + Core::LinearVerify1 => simplicity_sys::c_jets::jets_wrapper::linear_verify_1, + Core::Low1 => simplicity_sys::c_jets::jets_wrapper::low_1, + Core::Low16 => simplicity_sys::c_jets::jets_wrapper::low_16, + Core::Low32 => simplicity_sys::c_jets::jets_wrapper::low_32, + Core::Low64 => simplicity_sys::c_jets::jets_wrapper::low_64, + Core::Low8 => simplicity_sys::c_jets::jets_wrapper::low_8, + Core::Lt16 => simplicity_sys::c_jets::jets_wrapper::lt_16, + Core::Lt32 => simplicity_sys::c_jets::jets_wrapper::lt_32, + Core::Lt64 => simplicity_sys::c_jets::jets_wrapper::lt_64, + Core::Lt8 => simplicity_sys::c_jets::jets_wrapper::lt_8, + Core::Maj1 => simplicity_sys::c_jets::jets_wrapper::maj_1, + Core::Maj16 => simplicity_sys::c_jets::jets_wrapper::maj_16, + Core::Maj32 => simplicity_sys::c_jets::jets_wrapper::maj_32, + Core::Maj64 => simplicity_sys::c_jets::jets_wrapper::maj_64, + Core::Maj8 => simplicity_sys::c_jets::jets_wrapper::maj_8, + Core::Max16 => simplicity_sys::c_jets::jets_wrapper::max_16, + Core::Max32 => simplicity_sys::c_jets::jets_wrapper::max_32, + Core::Max64 => simplicity_sys::c_jets::jets_wrapper::max_64, + Core::Max8 => simplicity_sys::c_jets::jets_wrapper::max_8, + Core::Median16 => simplicity_sys::c_jets::jets_wrapper::median_16, + Core::Median32 => simplicity_sys::c_jets::jets_wrapper::median_32, + Core::Median64 => simplicity_sys::c_jets::jets_wrapper::median_64, + Core::Median8 => simplicity_sys::c_jets::jets_wrapper::median_8, + Core::Min16 => simplicity_sys::c_jets::jets_wrapper::min_16, + Core::Min32 => simplicity_sys::c_jets::jets_wrapper::min_32, + Core::Min64 => simplicity_sys::c_jets::jets_wrapper::min_64, + Core::Min8 => simplicity_sys::c_jets::jets_wrapper::min_8, + Core::Modulo16 => simplicity_sys::c_jets::jets_wrapper::modulo_16, + Core::Modulo32 => simplicity_sys::c_jets::jets_wrapper::modulo_32, + Core::Modulo64 => simplicity_sys::c_jets::jets_wrapper::modulo_64, + Core::Modulo8 => simplicity_sys::c_jets::jets_wrapper::modulo_8, + Core::Multiply16 => simplicity_sys::c_jets::jets_wrapper::multiply_16, + Core::Multiply32 => simplicity_sys::c_jets::jets_wrapper::multiply_32, + Core::Multiply64 => simplicity_sys::c_jets::jets_wrapper::multiply_64, + Core::Multiply8 => simplicity_sys::c_jets::jets_wrapper::multiply_8, + Core::Negate16 => simplicity_sys::c_jets::jets_wrapper::negate_16, + Core::Negate32 => simplicity_sys::c_jets::jets_wrapper::negate_32, + Core::Negate64 => simplicity_sys::c_jets::jets_wrapper::negate_64, + Core::Negate8 => simplicity_sys::c_jets::jets_wrapper::negate_8, + Core::One16 => simplicity_sys::c_jets::jets_wrapper::one_16, + Core::One32 => simplicity_sys::c_jets::jets_wrapper::one_32, + Core::One64 => simplicity_sys::c_jets::jets_wrapper::one_64, + Core::One8 => simplicity_sys::c_jets::jets_wrapper::one_8, + Core::Or1 => simplicity_sys::c_jets::jets_wrapper::or_1, + Core::Or16 => simplicity_sys::c_jets::jets_wrapper::or_16, + Core::Or32 => simplicity_sys::c_jets::jets_wrapper::or_32, + Core::Or64 => simplicity_sys::c_jets::jets_wrapper::or_64, + Core::Or8 => simplicity_sys::c_jets::jets_wrapper::or_8, + Core::ParseLock => simplicity_sys::c_jets::jets_wrapper::parse_lock, + Core::ParseSequence => simplicity_sys::c_jets::jets_wrapper::parse_sequence, + Core::PointVerify1 => simplicity_sys::c_jets::jets_wrapper::point_verify_1, + Core::RightExtend16_32 => simplicity_sys::c_jets::jets_wrapper::right_extend_16_32, + Core::RightExtend16_64 => simplicity_sys::c_jets::jets_wrapper::right_extend_16_64, + Core::RightExtend32_64 => simplicity_sys::c_jets::jets_wrapper::right_extend_32_64, + Core::RightExtend8_16 => simplicity_sys::c_jets::jets_wrapper::right_extend_8_16, + Core::RightExtend8_32 => simplicity_sys::c_jets::jets_wrapper::right_extend_8_32, + Core::RightExtend8_64 => simplicity_sys::c_jets::jets_wrapper::right_extend_8_64, + Core::RightPadHigh16_32 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_16_32, + Core::RightPadHigh16_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_16_64, + Core::RightPadHigh1_16 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_16, + Core::RightPadHigh1_32 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_32, + Core::RightPadHigh1_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_64, + Core::RightPadHigh1_8 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_8, + Core::RightPadHigh32_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_32_64, + Core::RightPadHigh8_16 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_8_16, + Core::RightPadHigh8_32 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_8_32, + Core::RightPadHigh8_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_8_64, + Core::RightPadLow16_32 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_16_32, + Core::RightPadLow16_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_16_64, + Core::RightPadLow1_16 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_16, + Core::RightPadLow1_32 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_32, + Core::RightPadLow1_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_64, + Core::RightPadLow1_8 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_8, + Core::RightPadLow32_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_32_64, + Core::RightPadLow8_16 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_8_16, + Core::RightPadLow8_32 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_8_32, + Core::RightPadLow8_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_8_64, + Core::RightRotate16 => simplicity_sys::c_jets::jets_wrapper::right_rotate_16, + Core::RightRotate32 => simplicity_sys::c_jets::jets_wrapper::right_rotate_32, + Core::RightRotate64 => simplicity_sys::c_jets::jets_wrapper::right_rotate_64, + Core::RightRotate8 => simplicity_sys::c_jets::jets_wrapper::right_rotate_8, + Core::RightShift16 => simplicity_sys::c_jets::jets_wrapper::right_shift_16, + Core::RightShift32 => simplicity_sys::c_jets::jets_wrapper::right_shift_32, + Core::RightShift64 => simplicity_sys::c_jets::jets_wrapper::right_shift_64, + Core::RightShift8 => simplicity_sys::c_jets::jets_wrapper::right_shift_8, + Core::RightShiftWith16 => simplicity_sys::c_jets::jets_wrapper::right_shift_with_16, + Core::RightShiftWith32 => simplicity_sys::c_jets::jets_wrapper::right_shift_with_32, + Core::RightShiftWith64 => simplicity_sys::c_jets::jets_wrapper::right_shift_with_64, + Core::RightShiftWith8 => simplicity_sys::c_jets::jets_wrapper::right_shift_with_8, + Core::Rightmost16_1 => simplicity_sys::c_jets::jets_wrapper::rightmost_16_1, + Core::Rightmost16_2 => simplicity_sys::c_jets::jets_wrapper::rightmost_16_2, + Core::Rightmost16_4 => simplicity_sys::c_jets::jets_wrapper::rightmost_16_4, + Core::Rightmost16_8 => simplicity_sys::c_jets::jets_wrapper::rightmost_16_8, + Core::Rightmost32_1 => simplicity_sys::c_jets::jets_wrapper::rightmost_32_1, + Core::Rightmost32_16 => simplicity_sys::c_jets::jets_wrapper::rightmost_32_16, + Core::Rightmost32_2 => simplicity_sys::c_jets::jets_wrapper::rightmost_32_2, + Core::Rightmost32_4 => simplicity_sys::c_jets::jets_wrapper::rightmost_32_4, + Core::Rightmost32_8 => simplicity_sys::c_jets::jets_wrapper::rightmost_32_8, + Core::Rightmost64_1 => simplicity_sys::c_jets::jets_wrapper::rightmost_64_1, + Core::Rightmost64_16 => simplicity_sys::c_jets::jets_wrapper::rightmost_64_16, + Core::Rightmost64_2 => simplicity_sys::c_jets::jets_wrapper::rightmost_64_2, + Core::Rightmost64_32 => simplicity_sys::c_jets::jets_wrapper::rightmost_64_32, + Core::Rightmost64_4 => simplicity_sys::c_jets::jets_wrapper::rightmost_64_4, + Core::Rightmost64_8 => simplicity_sys::c_jets::jets_wrapper::rightmost_64_8, + Core::Rightmost8_1 => simplicity_sys::c_jets::jets_wrapper::rightmost_8_1, + Core::Rightmost8_2 => simplicity_sys::c_jets::jets_wrapper::rightmost_8_2, + Core::Rightmost8_4 => simplicity_sys::c_jets::jets_wrapper::rightmost_8_4, + Core::ScalarAdd => simplicity_sys::c_jets::jets_wrapper::scalar_add, + Core::ScalarInvert => simplicity_sys::c_jets::jets_wrapper::scalar_invert, + Core::ScalarIsZero => simplicity_sys::c_jets::jets_wrapper::scalar_is_zero, + Core::ScalarMultiply => simplicity_sys::c_jets::jets_wrapper::scalar_multiply, + Core::ScalarMultiplyLambda => simplicity_sys::c_jets::jets_wrapper::scalar_multiply_lambda, + Core::ScalarNegate => simplicity_sys::c_jets::jets_wrapper::scalar_negate, + Core::ScalarNormalize => simplicity_sys::c_jets::jets_wrapper::scalar_normalize, + Core::ScalarSquare => simplicity_sys::c_jets::jets_wrapper::scalar_square, + Core::Scale => simplicity_sys::c_jets::jets_wrapper::scale, + Core::Sha256Block => simplicity_sys::c_jets::jets_wrapper::sha_256_block, + Core::Sha256Ctx8Add1 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_1, + Core::Sha256Ctx8Add128 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_128, + Core::Sha256Ctx8Add16 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_16, + Core::Sha256Ctx8Add2 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_2, + Core::Sha256Ctx8Add256 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_256, + Core::Sha256Ctx8Add32 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_32, + Core::Sha256Ctx8Add4 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_4, + Core::Sha256Ctx8Add512 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_512, + Core::Sha256Ctx8Add64 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_64, + Core::Sha256Ctx8Add8 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_8, + Core::Sha256Ctx8AddBuffer511 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_buffer_511, + Core::Sha256Ctx8Finalize => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_finalize, + Core::Sha256Ctx8Init => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_init, + Core::Sha256Iv => simplicity_sys::c_jets::jets_wrapper::sha_256_iv, + Core::Some1 => simplicity_sys::c_jets::jets_wrapper::some_1, + Core::Some16 => simplicity_sys::c_jets::jets_wrapper::some_16, + Core::Some32 => simplicity_sys::c_jets::jets_wrapper::some_32, + Core::Some64 => simplicity_sys::c_jets::jets_wrapper::some_64, + Core::Some8 => simplicity_sys::c_jets::jets_wrapper::some_8, + Core::Subtract16 => simplicity_sys::c_jets::jets_wrapper::subtract_16, + Core::Subtract32 => simplicity_sys::c_jets::jets_wrapper::subtract_32, + Core::Subtract64 => simplicity_sys::c_jets::jets_wrapper::subtract_64, + Core::Subtract8 => simplicity_sys::c_jets::jets_wrapper::subtract_8, + Core::Swu => simplicity_sys::c_jets::jets_wrapper::swu, + Core::TapdataInit => simplicity_sys::c_jets::jets_wrapper::tapdata_init, + Core::Verify => simplicity_sys::c_jets::jets_wrapper::verify, + Core::Xor1 => simplicity_sys::c_jets::jets_wrapper::xor_1, + Core::Xor16 => simplicity_sys::c_jets::jets_wrapper::xor_16, + Core::Xor32 => simplicity_sys::c_jets::jets_wrapper::xor_32, + Core::Xor64 => simplicity_sys::c_jets::jets_wrapper::xor_64, + Core::Xor8 => simplicity_sys::c_jets::jets_wrapper::xor_8, + Core::XorXor1 => simplicity_sys::c_jets::jets_wrapper::xor_xor_1, + Core::XorXor16 => simplicity_sys::c_jets::jets_wrapper::xor_xor_16, + Core::XorXor32 => simplicity_sys::c_jets::jets_wrapper::xor_xor_32, + Core::XorXor64 => simplicity_sys::c_jets::jets_wrapper::xor_xor_64, + Core::XorXor8 => simplicity_sys::c_jets::jets_wrapper::xor_xor_8, + } +} diff --git a/src/jet/init/elements.rs b/src/jet/init/elements.rs index 1e5a4917..93767a96 100644 --- a/src/jet/init/elements.rs +++ b/src/jet/init/elements.rs @@ -10,7 +10,6 @@ use hashes::sha256::Midstate; use simplicity_sys::CFrameItem; use std::io::Write; use std::{fmt, str}; -use crate::jet::elements::ElementsEnv; use simplicity_sys::CElementsTxEnv; /// The Elements jet family. @@ -968,13 +967,6 @@ impl Elements { impl Jet for Elements { - type Environment = ElementsEnv>; - type CJetEnvironment = CElementsTxEnv; - - fn c_jet_env(env: &Self::Environment) -> &Self::CJetEnvironment { - env.c_tx_env() - } - fn cmr(&self) -> Cmr { let bytes = match self { Elements::Add16 => [ @@ -7427,482 +7419,6 @@ impl Jet for Elements { }) } - fn c_jet_ptr(&self) -> &dyn Fn(&mut CFrameItem, CFrameItem, &Self::CJetEnvironment) -> bool { - match self { - Elements::Add16 => &simplicity_sys::c_jets::jets_wrapper::add_16, - Elements::Add32 => &simplicity_sys::c_jets::jets_wrapper::add_32, - Elements::Add64 => &simplicity_sys::c_jets::jets_wrapper::add_64, - Elements::Add8 => &simplicity_sys::c_jets::jets_wrapper::add_8, - Elements::All16 => &simplicity_sys::c_jets::jets_wrapper::all_16, - Elements::All32 => &simplicity_sys::c_jets::jets_wrapper::all_32, - Elements::All64 => &simplicity_sys::c_jets::jets_wrapper::all_64, - Elements::All8 => &simplicity_sys::c_jets::jets_wrapper::all_8, - Elements::And1 => &simplicity_sys::c_jets::jets_wrapper::and_1, - Elements::And16 => &simplicity_sys::c_jets::jets_wrapper::and_16, - Elements::And32 => &simplicity_sys::c_jets::jets_wrapper::and_32, - Elements::And64 => &simplicity_sys::c_jets::jets_wrapper::and_64, - Elements::And8 => &simplicity_sys::c_jets::jets_wrapper::and_8, - Elements::AnnexHash => &simplicity_sys::c_jets::jets_wrapper::annex_hash, - Elements::AssetAmountHash => &simplicity_sys::c_jets::jets_wrapper::asset_amount_hash, - Elements::Bip0340Verify => &simplicity_sys::c_jets::jets_wrapper::bip_0340_verify, - Elements::BrokenDoNotUseCheckLockDistance => &simplicity_sys::c_jets::jets_wrapper::broken_do_not_use_check_lock_distance, - Elements::BrokenDoNotUseCheckLockDuration => &simplicity_sys::c_jets::jets_wrapper::broken_do_not_use_check_lock_duration, - Elements::BrokenDoNotUseTxLockDistance => &simplicity_sys::c_jets::jets_wrapper::broken_do_not_use_tx_lock_distance, - Elements::BrokenDoNotUseTxLockDuration => &simplicity_sys::c_jets::jets_wrapper::broken_do_not_use_tx_lock_duration, - Elements::BuildTapbranch => &simplicity_sys::c_jets::jets_wrapper::build_tapbranch, - Elements::BuildTapleafSimplicity => &simplicity_sys::c_jets::jets_wrapper::build_tapleaf_simplicity, - Elements::BuildTaptweak => &simplicity_sys::c_jets::jets_wrapper::build_taptweak, - Elements::CalculateAsset => &simplicity_sys::c_jets::jets_wrapper::calculate_asset, - Elements::CalculateConfidentialToken => &simplicity_sys::c_jets::jets_wrapper::calculate_confidential_token, - Elements::CalculateExplicitToken => &simplicity_sys::c_jets::jets_wrapper::calculate_explicit_token, - Elements::CalculateIssuanceEntropy => &simplicity_sys::c_jets::jets_wrapper::calculate_issuance_entropy, - Elements::Ch1 => &simplicity_sys::c_jets::jets_wrapper::ch_1, - Elements::Ch16 => &simplicity_sys::c_jets::jets_wrapper::ch_16, - Elements::Ch32 => &simplicity_sys::c_jets::jets_wrapper::ch_32, - Elements::Ch64 => &simplicity_sys::c_jets::jets_wrapper::ch_64, - Elements::Ch8 => &simplicity_sys::c_jets::jets_wrapper::ch_8, - Elements::CheckLockHeight => &simplicity_sys::c_jets::jets_wrapper::check_lock_height, - Elements::CheckLockTime => &simplicity_sys::c_jets::jets_wrapper::check_lock_time, - Elements::CheckSigVerify => &simplicity_sys::c_jets::jets_wrapper::check_sig_verify, - Elements::Complement1 => &simplicity_sys::c_jets::jets_wrapper::complement_1, - Elements::Complement16 => &simplicity_sys::c_jets::jets_wrapper::complement_16, - Elements::Complement32 => &simplicity_sys::c_jets::jets_wrapper::complement_32, - Elements::Complement64 => &simplicity_sys::c_jets::jets_wrapper::complement_64, - Elements::Complement8 => &simplicity_sys::c_jets::jets_wrapper::complement_8, - Elements::CurrentAmount => &simplicity_sys::c_jets::jets_wrapper::current_amount, - Elements::CurrentAnnexHash => &simplicity_sys::c_jets::jets_wrapper::current_annex_hash, - Elements::CurrentAsset => &simplicity_sys::c_jets::jets_wrapper::current_asset, - Elements::CurrentIndex => &simplicity_sys::c_jets::jets_wrapper::current_index, - Elements::CurrentIssuanceAssetAmount => &simplicity_sys::c_jets::jets_wrapper::current_issuance_asset_amount, - Elements::CurrentIssuanceAssetProof => &simplicity_sys::c_jets::jets_wrapper::current_issuance_asset_proof, - Elements::CurrentIssuanceTokenAmount => &simplicity_sys::c_jets::jets_wrapper::current_issuance_token_amount, - Elements::CurrentIssuanceTokenProof => &simplicity_sys::c_jets::jets_wrapper::current_issuance_token_proof, - Elements::CurrentNewIssuanceContract => &simplicity_sys::c_jets::jets_wrapper::current_new_issuance_contract, - Elements::CurrentPegin => &simplicity_sys::c_jets::jets_wrapper::current_pegin, - Elements::CurrentPrevOutpoint => &simplicity_sys::c_jets::jets_wrapper::current_prev_outpoint, - Elements::CurrentReissuanceBlinding => &simplicity_sys::c_jets::jets_wrapper::current_reissuance_blinding, - Elements::CurrentReissuanceEntropy => &simplicity_sys::c_jets::jets_wrapper::current_reissuance_entropy, - Elements::CurrentScriptHash => &simplicity_sys::c_jets::jets_wrapper::current_script_hash, - Elements::CurrentScriptSigHash => &simplicity_sys::c_jets::jets_wrapper::current_script_sig_hash, - Elements::CurrentSequence => &simplicity_sys::c_jets::jets_wrapper::current_sequence, - Elements::Decompress => &simplicity_sys::c_jets::jets_wrapper::decompress, - Elements::Decrement16 => &simplicity_sys::c_jets::jets_wrapper::decrement_16, - Elements::Decrement32 => &simplicity_sys::c_jets::jets_wrapper::decrement_32, - Elements::Decrement64 => &simplicity_sys::c_jets::jets_wrapper::decrement_64, - Elements::Decrement8 => &simplicity_sys::c_jets::jets_wrapper::decrement_8, - Elements::DivMod128_64 => &simplicity_sys::c_jets::jets_wrapper::div_mod_128_64, - Elements::DivMod16 => &simplicity_sys::c_jets::jets_wrapper::div_mod_16, - Elements::DivMod32 => &simplicity_sys::c_jets::jets_wrapper::div_mod_32, - Elements::DivMod64 => &simplicity_sys::c_jets::jets_wrapper::div_mod_64, - Elements::DivMod8 => &simplicity_sys::c_jets::jets_wrapper::div_mod_8, - Elements::Divide16 => &simplicity_sys::c_jets::jets_wrapper::divide_16, - Elements::Divide32 => &simplicity_sys::c_jets::jets_wrapper::divide_32, - Elements::Divide64 => &simplicity_sys::c_jets::jets_wrapper::divide_64, - Elements::Divide8 => &simplicity_sys::c_jets::jets_wrapper::divide_8, - Elements::Divides16 => &simplicity_sys::c_jets::jets_wrapper::divides_16, - Elements::Divides32 => &simplicity_sys::c_jets::jets_wrapper::divides_32, - Elements::Divides64 => &simplicity_sys::c_jets::jets_wrapper::divides_64, - Elements::Divides8 => &simplicity_sys::c_jets::jets_wrapper::divides_8, - Elements::Eq1 => &simplicity_sys::c_jets::jets_wrapper::eq_1, - Elements::Eq16 => &simplicity_sys::c_jets::jets_wrapper::eq_16, - Elements::Eq256 => &simplicity_sys::c_jets::jets_wrapper::eq_256, - Elements::Eq32 => &simplicity_sys::c_jets::jets_wrapper::eq_32, - Elements::Eq64 => &simplicity_sys::c_jets::jets_wrapper::eq_64, - Elements::Eq8 => &simplicity_sys::c_jets::jets_wrapper::eq_8, - Elements::FeAdd => &simplicity_sys::c_jets::jets_wrapper::fe_add, - Elements::FeInvert => &simplicity_sys::c_jets::jets_wrapper::fe_invert, - Elements::FeIsOdd => &simplicity_sys::c_jets::jets_wrapper::fe_is_odd, - Elements::FeIsZero => &simplicity_sys::c_jets::jets_wrapper::fe_is_zero, - Elements::FeMultiply => &simplicity_sys::c_jets::jets_wrapper::fe_multiply, - Elements::FeMultiplyBeta => &simplicity_sys::c_jets::jets_wrapper::fe_multiply_beta, - Elements::FeNegate => &simplicity_sys::c_jets::jets_wrapper::fe_negate, - Elements::FeNormalize => &simplicity_sys::c_jets::jets_wrapper::fe_normalize, - Elements::FeSquare => &simplicity_sys::c_jets::jets_wrapper::fe_square, - Elements::FeSquareRoot => &simplicity_sys::c_jets::jets_wrapper::fe_square_root, - Elements::FullAdd16 => &simplicity_sys::c_jets::jets_wrapper::full_add_16, - Elements::FullAdd32 => &simplicity_sys::c_jets::jets_wrapper::full_add_32, - Elements::FullAdd64 => &simplicity_sys::c_jets::jets_wrapper::full_add_64, - Elements::FullAdd8 => &simplicity_sys::c_jets::jets_wrapper::full_add_8, - Elements::FullDecrement16 => &simplicity_sys::c_jets::jets_wrapper::full_decrement_16, - Elements::FullDecrement32 => &simplicity_sys::c_jets::jets_wrapper::full_decrement_32, - Elements::FullDecrement64 => &simplicity_sys::c_jets::jets_wrapper::full_decrement_64, - Elements::FullDecrement8 => &simplicity_sys::c_jets::jets_wrapper::full_decrement_8, - Elements::FullIncrement16 => &simplicity_sys::c_jets::jets_wrapper::full_increment_16, - Elements::FullIncrement32 => &simplicity_sys::c_jets::jets_wrapper::full_increment_32, - Elements::FullIncrement64 => &simplicity_sys::c_jets::jets_wrapper::full_increment_64, - Elements::FullIncrement8 => &simplicity_sys::c_jets::jets_wrapper::full_increment_8, - Elements::FullLeftShift16_1 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_1, - Elements::FullLeftShift16_2 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_2, - Elements::FullLeftShift16_4 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_4, - Elements::FullLeftShift16_8 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_8, - Elements::FullLeftShift32_1 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_1, - Elements::FullLeftShift32_16 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_16, - Elements::FullLeftShift32_2 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_2, - Elements::FullLeftShift32_4 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_4, - Elements::FullLeftShift32_8 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_8, - Elements::FullLeftShift64_1 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_1, - Elements::FullLeftShift64_16 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_16, - Elements::FullLeftShift64_2 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_2, - Elements::FullLeftShift64_32 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_32, - Elements::FullLeftShift64_4 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_4, - Elements::FullLeftShift64_8 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_8, - Elements::FullLeftShift8_1 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_8_1, - Elements::FullLeftShift8_2 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_8_2, - Elements::FullLeftShift8_4 => &simplicity_sys::c_jets::jets_wrapper::full_left_shift_8_4, - Elements::FullMultiply16 => &simplicity_sys::c_jets::jets_wrapper::full_multiply_16, - Elements::FullMultiply32 => &simplicity_sys::c_jets::jets_wrapper::full_multiply_32, - Elements::FullMultiply64 => &simplicity_sys::c_jets::jets_wrapper::full_multiply_64, - Elements::FullMultiply8 => &simplicity_sys::c_jets::jets_wrapper::full_multiply_8, - Elements::FullRightShift16_1 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_1, - Elements::FullRightShift16_2 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_2, - Elements::FullRightShift16_4 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_4, - Elements::FullRightShift16_8 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_8, - Elements::FullRightShift32_1 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_1, - Elements::FullRightShift32_16 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_16, - Elements::FullRightShift32_2 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_2, - Elements::FullRightShift32_4 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_4, - Elements::FullRightShift32_8 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_8, - Elements::FullRightShift64_1 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_1, - Elements::FullRightShift64_16 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_16, - Elements::FullRightShift64_2 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_2, - Elements::FullRightShift64_32 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_32, - Elements::FullRightShift64_4 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_4, - Elements::FullRightShift64_8 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_8, - Elements::FullRightShift8_1 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_8_1, - Elements::FullRightShift8_2 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_8_2, - Elements::FullRightShift8_4 => &simplicity_sys::c_jets::jets_wrapper::full_right_shift_8_4, - Elements::FullSubtract16 => &simplicity_sys::c_jets::jets_wrapper::full_subtract_16, - Elements::FullSubtract32 => &simplicity_sys::c_jets::jets_wrapper::full_subtract_32, - Elements::FullSubtract64 => &simplicity_sys::c_jets::jets_wrapper::full_subtract_64, - Elements::FullSubtract8 => &simplicity_sys::c_jets::jets_wrapper::full_subtract_8, - Elements::GeIsOnCurve => &simplicity_sys::c_jets::jets_wrapper::ge_is_on_curve, - Elements::GeNegate => &simplicity_sys::c_jets::jets_wrapper::ge_negate, - Elements::GejAdd => &simplicity_sys::c_jets::jets_wrapper::gej_add, - Elements::GejDouble => &simplicity_sys::c_jets::jets_wrapper::gej_double, - Elements::GejEquiv => &simplicity_sys::c_jets::jets_wrapper::gej_equiv, - Elements::GejGeAdd => &simplicity_sys::c_jets::jets_wrapper::gej_ge_add, - Elements::GejGeAddEx => &simplicity_sys::c_jets::jets_wrapper::gej_ge_add_ex, - Elements::GejGeEquiv => &simplicity_sys::c_jets::jets_wrapper::gej_ge_equiv, - Elements::GejInfinity => &simplicity_sys::c_jets::jets_wrapper::gej_infinity, - Elements::GejIsInfinity => &simplicity_sys::c_jets::jets_wrapper::gej_is_infinity, - Elements::GejIsOnCurve => &simplicity_sys::c_jets::jets_wrapper::gej_is_on_curve, - Elements::GejNegate => &simplicity_sys::c_jets::jets_wrapper::gej_negate, - Elements::GejNormalize => &simplicity_sys::c_jets::jets_wrapper::gej_normalize, - Elements::GejRescale => &simplicity_sys::c_jets::jets_wrapper::gej_rescale, - Elements::GejXEquiv => &simplicity_sys::c_jets::jets_wrapper::gej_x_equiv, - Elements::GejYIsOdd => &simplicity_sys::c_jets::jets_wrapper::gej_y_is_odd, - Elements::Generate => &simplicity_sys::c_jets::jets_wrapper::generate, - Elements::GenesisBlockHash => &simplicity_sys::c_jets::jets_wrapper::genesis_block_hash, - Elements::HashToCurve => &simplicity_sys::c_jets::jets_wrapper::hash_to_curve, - Elements::High1 => &simplicity_sys::c_jets::jets_wrapper::high_1, - Elements::High16 => &simplicity_sys::c_jets::jets_wrapper::high_16, - Elements::High32 => &simplicity_sys::c_jets::jets_wrapper::high_32, - Elements::High64 => &simplicity_sys::c_jets::jets_wrapper::high_64, - Elements::High8 => &simplicity_sys::c_jets::jets_wrapper::high_8, - Elements::Increment16 => &simplicity_sys::c_jets::jets_wrapper::increment_16, - Elements::Increment32 => &simplicity_sys::c_jets::jets_wrapper::increment_32, - Elements::Increment64 => &simplicity_sys::c_jets::jets_wrapper::increment_64, - Elements::Increment8 => &simplicity_sys::c_jets::jets_wrapper::increment_8, - Elements::InputAmount => &simplicity_sys::c_jets::jets_wrapper::input_amount, - Elements::InputAmountsHash => &simplicity_sys::c_jets::jets_wrapper::input_amounts_hash, - Elements::InputAnnexHash => &simplicity_sys::c_jets::jets_wrapper::input_annex_hash, - Elements::InputAnnexesHash => &simplicity_sys::c_jets::jets_wrapper::input_annexes_hash, - Elements::InputAsset => &simplicity_sys::c_jets::jets_wrapper::input_asset, - Elements::InputHash => &simplicity_sys::c_jets::jets_wrapper::input_hash, - Elements::InputOutpointsHash => &simplicity_sys::c_jets::jets_wrapper::input_outpoints_hash, - Elements::InputPegin => &simplicity_sys::c_jets::jets_wrapper::input_pegin, - Elements::InputPrevOutpoint => &simplicity_sys::c_jets::jets_wrapper::input_prev_outpoint, - Elements::InputScriptHash => &simplicity_sys::c_jets::jets_wrapper::input_script_hash, - Elements::InputScriptSigHash => &simplicity_sys::c_jets::jets_wrapper::input_script_sig_hash, - Elements::InputScriptSigsHash => &simplicity_sys::c_jets::jets_wrapper::input_script_sigs_hash, - Elements::InputScriptsHash => &simplicity_sys::c_jets::jets_wrapper::input_scripts_hash, - Elements::InputSequence => &simplicity_sys::c_jets::jets_wrapper::input_sequence, - Elements::InputSequencesHash => &simplicity_sys::c_jets::jets_wrapper::input_sequences_hash, - Elements::InputUtxoHash => &simplicity_sys::c_jets::jets_wrapper::input_utxo_hash, - Elements::InputUtxosHash => &simplicity_sys::c_jets::jets_wrapper::input_utxos_hash, - Elements::InputsHash => &simplicity_sys::c_jets::jets_wrapper::inputs_hash, - Elements::InternalKey => &simplicity_sys::c_jets::jets_wrapper::internal_key, - Elements::IsOne16 => &simplicity_sys::c_jets::jets_wrapper::is_one_16, - Elements::IsOne32 => &simplicity_sys::c_jets::jets_wrapper::is_one_32, - Elements::IsOne64 => &simplicity_sys::c_jets::jets_wrapper::is_one_64, - Elements::IsOne8 => &simplicity_sys::c_jets::jets_wrapper::is_one_8, - Elements::IsZero16 => &simplicity_sys::c_jets::jets_wrapper::is_zero_16, - Elements::IsZero32 => &simplicity_sys::c_jets::jets_wrapper::is_zero_32, - Elements::IsZero64 => &simplicity_sys::c_jets::jets_wrapper::is_zero_64, - Elements::IsZero8 => &simplicity_sys::c_jets::jets_wrapper::is_zero_8, - Elements::Issuance => &simplicity_sys::c_jets::jets_wrapper::issuance, - Elements::IssuanceAsset => &simplicity_sys::c_jets::jets_wrapper::issuance_asset, - Elements::IssuanceAssetAmount => &simplicity_sys::c_jets::jets_wrapper::issuance_asset_amount, - Elements::IssuanceAssetAmountsHash => &simplicity_sys::c_jets::jets_wrapper::issuance_asset_amounts_hash, - Elements::IssuanceAssetProof => &simplicity_sys::c_jets::jets_wrapper::issuance_asset_proof, - Elements::IssuanceBlindingEntropyHash => &simplicity_sys::c_jets::jets_wrapper::issuance_blinding_entropy_hash, - Elements::IssuanceEntropy => &simplicity_sys::c_jets::jets_wrapper::issuance_entropy, - Elements::IssuanceHash => &simplicity_sys::c_jets::jets_wrapper::issuance_hash, - Elements::IssuanceRangeProofsHash => &simplicity_sys::c_jets::jets_wrapper::issuance_range_proofs_hash, - Elements::IssuanceToken => &simplicity_sys::c_jets::jets_wrapper::issuance_token, - Elements::IssuanceTokenAmount => &simplicity_sys::c_jets::jets_wrapper::issuance_token_amount, - Elements::IssuanceTokenAmountsHash => &simplicity_sys::c_jets::jets_wrapper::issuance_token_amounts_hash, - Elements::IssuanceTokenProof => &simplicity_sys::c_jets::jets_wrapper::issuance_token_proof, - Elements::IssuancesHash => &simplicity_sys::c_jets::jets_wrapper::issuances_hash, - Elements::LbtcAsset => &simplicity_sys::c_jets::jets_wrapper::lbtc_asset, - Elements::Le16 => &simplicity_sys::c_jets::jets_wrapper::le_16, - Elements::Le32 => &simplicity_sys::c_jets::jets_wrapper::le_32, - Elements::Le64 => &simplicity_sys::c_jets::jets_wrapper::le_64, - Elements::Le8 => &simplicity_sys::c_jets::jets_wrapper::le_8, - Elements::LeftExtend16_32 => &simplicity_sys::c_jets::jets_wrapper::left_extend_16_32, - Elements::LeftExtend16_64 => &simplicity_sys::c_jets::jets_wrapper::left_extend_16_64, - Elements::LeftExtend1_16 => &simplicity_sys::c_jets::jets_wrapper::left_extend_1_16, - Elements::LeftExtend1_32 => &simplicity_sys::c_jets::jets_wrapper::left_extend_1_32, - Elements::LeftExtend1_64 => &simplicity_sys::c_jets::jets_wrapper::left_extend_1_64, - Elements::LeftExtend1_8 => &simplicity_sys::c_jets::jets_wrapper::left_extend_1_8, - Elements::LeftExtend32_64 => &simplicity_sys::c_jets::jets_wrapper::left_extend_32_64, - Elements::LeftExtend8_16 => &simplicity_sys::c_jets::jets_wrapper::left_extend_8_16, - Elements::LeftExtend8_32 => &simplicity_sys::c_jets::jets_wrapper::left_extend_8_32, - Elements::LeftExtend8_64 => &simplicity_sys::c_jets::jets_wrapper::left_extend_8_64, - Elements::LeftPadHigh16_32 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_16_32, - Elements::LeftPadHigh16_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_16_64, - Elements::LeftPadHigh1_16 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_16, - Elements::LeftPadHigh1_32 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_32, - Elements::LeftPadHigh1_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_64, - Elements::LeftPadHigh1_8 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_8, - Elements::LeftPadHigh32_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_32_64, - Elements::LeftPadHigh8_16 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_8_16, - Elements::LeftPadHigh8_32 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_8_32, - Elements::LeftPadHigh8_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_high_8_64, - Elements::LeftPadLow16_32 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_16_32, - Elements::LeftPadLow16_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_16_64, - Elements::LeftPadLow1_16 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_16, - Elements::LeftPadLow1_32 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_32, - Elements::LeftPadLow1_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_64, - Elements::LeftPadLow1_8 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_8, - Elements::LeftPadLow32_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_32_64, - Elements::LeftPadLow8_16 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_8_16, - Elements::LeftPadLow8_32 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_8_32, - Elements::LeftPadLow8_64 => &simplicity_sys::c_jets::jets_wrapper::left_pad_low_8_64, - Elements::LeftRotate16 => &simplicity_sys::c_jets::jets_wrapper::left_rotate_16, - Elements::LeftRotate32 => &simplicity_sys::c_jets::jets_wrapper::left_rotate_32, - Elements::LeftRotate64 => &simplicity_sys::c_jets::jets_wrapper::left_rotate_64, - Elements::LeftRotate8 => &simplicity_sys::c_jets::jets_wrapper::left_rotate_8, - Elements::LeftShift16 => &simplicity_sys::c_jets::jets_wrapper::left_shift_16, - Elements::LeftShift32 => &simplicity_sys::c_jets::jets_wrapper::left_shift_32, - Elements::LeftShift64 => &simplicity_sys::c_jets::jets_wrapper::left_shift_64, - Elements::LeftShift8 => &simplicity_sys::c_jets::jets_wrapper::left_shift_8, - Elements::LeftShiftWith16 => &simplicity_sys::c_jets::jets_wrapper::left_shift_with_16, - Elements::LeftShiftWith32 => &simplicity_sys::c_jets::jets_wrapper::left_shift_with_32, - Elements::LeftShiftWith64 => &simplicity_sys::c_jets::jets_wrapper::left_shift_with_64, - Elements::LeftShiftWith8 => &simplicity_sys::c_jets::jets_wrapper::left_shift_with_8, - Elements::Leftmost16_1 => &simplicity_sys::c_jets::jets_wrapper::leftmost_16_1, - Elements::Leftmost16_2 => &simplicity_sys::c_jets::jets_wrapper::leftmost_16_2, - Elements::Leftmost16_4 => &simplicity_sys::c_jets::jets_wrapper::leftmost_16_4, - Elements::Leftmost16_8 => &simplicity_sys::c_jets::jets_wrapper::leftmost_16_8, - Elements::Leftmost32_1 => &simplicity_sys::c_jets::jets_wrapper::leftmost_32_1, - Elements::Leftmost32_16 => &simplicity_sys::c_jets::jets_wrapper::leftmost_32_16, - Elements::Leftmost32_2 => &simplicity_sys::c_jets::jets_wrapper::leftmost_32_2, - Elements::Leftmost32_4 => &simplicity_sys::c_jets::jets_wrapper::leftmost_32_4, - Elements::Leftmost32_8 => &simplicity_sys::c_jets::jets_wrapper::leftmost_32_8, - Elements::Leftmost64_1 => &simplicity_sys::c_jets::jets_wrapper::leftmost_64_1, - Elements::Leftmost64_16 => &simplicity_sys::c_jets::jets_wrapper::leftmost_64_16, - Elements::Leftmost64_2 => &simplicity_sys::c_jets::jets_wrapper::leftmost_64_2, - Elements::Leftmost64_32 => &simplicity_sys::c_jets::jets_wrapper::leftmost_64_32, - Elements::Leftmost64_4 => &simplicity_sys::c_jets::jets_wrapper::leftmost_64_4, - Elements::Leftmost64_8 => &simplicity_sys::c_jets::jets_wrapper::leftmost_64_8, - Elements::Leftmost8_1 => &simplicity_sys::c_jets::jets_wrapper::leftmost_8_1, - Elements::Leftmost8_2 => &simplicity_sys::c_jets::jets_wrapper::leftmost_8_2, - Elements::Leftmost8_4 => &simplicity_sys::c_jets::jets_wrapper::leftmost_8_4, - Elements::LinearCombination1 => &simplicity_sys::c_jets::jets_wrapper::linear_combination_1, - Elements::LinearVerify1 => &simplicity_sys::c_jets::jets_wrapper::linear_verify_1, - Elements::LockTime => &simplicity_sys::c_jets::jets_wrapper::lock_time, - Elements::Low1 => &simplicity_sys::c_jets::jets_wrapper::low_1, - Elements::Low16 => &simplicity_sys::c_jets::jets_wrapper::low_16, - Elements::Low32 => &simplicity_sys::c_jets::jets_wrapper::low_32, - Elements::Low64 => &simplicity_sys::c_jets::jets_wrapper::low_64, - Elements::Low8 => &simplicity_sys::c_jets::jets_wrapper::low_8, - Elements::Lt16 => &simplicity_sys::c_jets::jets_wrapper::lt_16, - Elements::Lt32 => &simplicity_sys::c_jets::jets_wrapper::lt_32, - Elements::Lt64 => &simplicity_sys::c_jets::jets_wrapper::lt_64, - Elements::Lt8 => &simplicity_sys::c_jets::jets_wrapper::lt_8, - Elements::Maj1 => &simplicity_sys::c_jets::jets_wrapper::maj_1, - Elements::Maj16 => &simplicity_sys::c_jets::jets_wrapper::maj_16, - Elements::Maj32 => &simplicity_sys::c_jets::jets_wrapper::maj_32, - Elements::Maj64 => &simplicity_sys::c_jets::jets_wrapper::maj_64, - Elements::Maj8 => &simplicity_sys::c_jets::jets_wrapper::maj_8, - Elements::Max16 => &simplicity_sys::c_jets::jets_wrapper::max_16, - Elements::Max32 => &simplicity_sys::c_jets::jets_wrapper::max_32, - Elements::Max64 => &simplicity_sys::c_jets::jets_wrapper::max_64, - Elements::Max8 => &simplicity_sys::c_jets::jets_wrapper::max_8, - Elements::Median16 => &simplicity_sys::c_jets::jets_wrapper::median_16, - Elements::Median32 => &simplicity_sys::c_jets::jets_wrapper::median_32, - Elements::Median64 => &simplicity_sys::c_jets::jets_wrapper::median_64, - Elements::Median8 => &simplicity_sys::c_jets::jets_wrapper::median_8, - Elements::Min16 => &simplicity_sys::c_jets::jets_wrapper::min_16, - Elements::Min32 => &simplicity_sys::c_jets::jets_wrapper::min_32, - Elements::Min64 => &simplicity_sys::c_jets::jets_wrapper::min_64, - Elements::Min8 => &simplicity_sys::c_jets::jets_wrapper::min_8, - Elements::Modulo16 => &simplicity_sys::c_jets::jets_wrapper::modulo_16, - Elements::Modulo32 => &simplicity_sys::c_jets::jets_wrapper::modulo_32, - Elements::Modulo64 => &simplicity_sys::c_jets::jets_wrapper::modulo_64, - Elements::Modulo8 => &simplicity_sys::c_jets::jets_wrapper::modulo_8, - Elements::Multiply16 => &simplicity_sys::c_jets::jets_wrapper::multiply_16, - Elements::Multiply32 => &simplicity_sys::c_jets::jets_wrapper::multiply_32, - Elements::Multiply64 => &simplicity_sys::c_jets::jets_wrapper::multiply_64, - Elements::Multiply8 => &simplicity_sys::c_jets::jets_wrapper::multiply_8, - Elements::Negate16 => &simplicity_sys::c_jets::jets_wrapper::negate_16, - Elements::Negate32 => &simplicity_sys::c_jets::jets_wrapper::negate_32, - Elements::Negate64 => &simplicity_sys::c_jets::jets_wrapper::negate_64, - Elements::Negate8 => &simplicity_sys::c_jets::jets_wrapper::negate_8, - Elements::NewIssuanceContract => &simplicity_sys::c_jets::jets_wrapper::new_issuance_contract, - Elements::NonceHash => &simplicity_sys::c_jets::jets_wrapper::nonce_hash, - Elements::NumInputs => &simplicity_sys::c_jets::jets_wrapper::num_inputs, - Elements::NumOutputs => &simplicity_sys::c_jets::jets_wrapper::num_outputs, - Elements::One16 => &simplicity_sys::c_jets::jets_wrapper::one_16, - Elements::One32 => &simplicity_sys::c_jets::jets_wrapper::one_32, - Elements::One64 => &simplicity_sys::c_jets::jets_wrapper::one_64, - Elements::One8 => &simplicity_sys::c_jets::jets_wrapper::one_8, - Elements::Or1 => &simplicity_sys::c_jets::jets_wrapper::or_1, - Elements::Or16 => &simplicity_sys::c_jets::jets_wrapper::or_16, - Elements::Or32 => &simplicity_sys::c_jets::jets_wrapper::or_32, - Elements::Or64 => &simplicity_sys::c_jets::jets_wrapper::or_64, - Elements::Or8 => &simplicity_sys::c_jets::jets_wrapper::or_8, - Elements::OutpointHash => &simplicity_sys::c_jets::jets_wrapper::outpoint_hash, - Elements::OutputAmount => &simplicity_sys::c_jets::jets_wrapper::output_amount, - Elements::OutputAmountsHash => &simplicity_sys::c_jets::jets_wrapper::output_amounts_hash, - Elements::OutputAsset => &simplicity_sys::c_jets::jets_wrapper::output_asset, - Elements::OutputHash => &simplicity_sys::c_jets::jets_wrapper::output_hash, - Elements::OutputIsFee => &simplicity_sys::c_jets::jets_wrapper::output_is_fee, - Elements::OutputNonce => &simplicity_sys::c_jets::jets_wrapper::output_nonce, - Elements::OutputNoncesHash => &simplicity_sys::c_jets::jets_wrapper::output_nonces_hash, - Elements::OutputNullDatum => &simplicity_sys::c_jets::jets_wrapper::output_null_datum, - Elements::OutputRangeProof => &simplicity_sys::c_jets::jets_wrapper::output_range_proof, - Elements::OutputRangeProofsHash => &simplicity_sys::c_jets::jets_wrapper::output_range_proofs_hash, - Elements::OutputScriptHash => &simplicity_sys::c_jets::jets_wrapper::output_script_hash, - Elements::OutputScriptsHash => &simplicity_sys::c_jets::jets_wrapper::output_scripts_hash, - Elements::OutputSurjectionProof => &simplicity_sys::c_jets::jets_wrapper::output_surjection_proof, - Elements::OutputSurjectionProofsHash => &simplicity_sys::c_jets::jets_wrapper::output_surjection_proofs_hash, - Elements::OutputsHash => &simplicity_sys::c_jets::jets_wrapper::outputs_hash, - Elements::ParseLock => &simplicity_sys::c_jets::jets_wrapper::parse_lock, - Elements::ParseSequence => &simplicity_sys::c_jets::jets_wrapper::parse_sequence, - Elements::PointVerify1 => &simplicity_sys::c_jets::jets_wrapper::point_verify_1, - Elements::ReissuanceBlinding => &simplicity_sys::c_jets::jets_wrapper::reissuance_blinding, - Elements::ReissuanceEntropy => &simplicity_sys::c_jets::jets_wrapper::reissuance_entropy, - Elements::RightExtend16_32 => &simplicity_sys::c_jets::jets_wrapper::right_extend_16_32, - Elements::RightExtend16_64 => &simplicity_sys::c_jets::jets_wrapper::right_extend_16_64, - Elements::RightExtend32_64 => &simplicity_sys::c_jets::jets_wrapper::right_extend_32_64, - Elements::RightExtend8_16 => &simplicity_sys::c_jets::jets_wrapper::right_extend_8_16, - Elements::RightExtend8_32 => &simplicity_sys::c_jets::jets_wrapper::right_extend_8_32, - Elements::RightExtend8_64 => &simplicity_sys::c_jets::jets_wrapper::right_extend_8_64, - Elements::RightPadHigh16_32 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_16_32, - Elements::RightPadHigh16_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_16_64, - Elements::RightPadHigh1_16 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_16, - Elements::RightPadHigh1_32 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_32, - Elements::RightPadHigh1_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_64, - Elements::RightPadHigh1_8 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_8, - Elements::RightPadHigh32_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_32_64, - Elements::RightPadHigh8_16 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_8_16, - Elements::RightPadHigh8_32 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_8_32, - Elements::RightPadHigh8_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_high_8_64, - Elements::RightPadLow16_32 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_16_32, - Elements::RightPadLow16_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_16_64, - Elements::RightPadLow1_16 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_16, - Elements::RightPadLow1_32 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_32, - Elements::RightPadLow1_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_64, - Elements::RightPadLow1_8 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_8, - Elements::RightPadLow32_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_32_64, - Elements::RightPadLow8_16 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_8_16, - Elements::RightPadLow8_32 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_8_32, - Elements::RightPadLow8_64 => &simplicity_sys::c_jets::jets_wrapper::right_pad_low_8_64, - Elements::RightRotate16 => &simplicity_sys::c_jets::jets_wrapper::right_rotate_16, - Elements::RightRotate32 => &simplicity_sys::c_jets::jets_wrapper::right_rotate_32, - Elements::RightRotate64 => &simplicity_sys::c_jets::jets_wrapper::right_rotate_64, - Elements::RightRotate8 => &simplicity_sys::c_jets::jets_wrapper::right_rotate_8, - Elements::RightShift16 => &simplicity_sys::c_jets::jets_wrapper::right_shift_16, - Elements::RightShift32 => &simplicity_sys::c_jets::jets_wrapper::right_shift_32, - Elements::RightShift64 => &simplicity_sys::c_jets::jets_wrapper::right_shift_64, - Elements::RightShift8 => &simplicity_sys::c_jets::jets_wrapper::right_shift_8, - Elements::RightShiftWith16 => &simplicity_sys::c_jets::jets_wrapper::right_shift_with_16, - Elements::RightShiftWith32 => &simplicity_sys::c_jets::jets_wrapper::right_shift_with_32, - Elements::RightShiftWith64 => &simplicity_sys::c_jets::jets_wrapper::right_shift_with_64, - Elements::RightShiftWith8 => &simplicity_sys::c_jets::jets_wrapper::right_shift_with_8, - Elements::Rightmost16_1 => &simplicity_sys::c_jets::jets_wrapper::rightmost_16_1, - Elements::Rightmost16_2 => &simplicity_sys::c_jets::jets_wrapper::rightmost_16_2, - Elements::Rightmost16_4 => &simplicity_sys::c_jets::jets_wrapper::rightmost_16_4, - Elements::Rightmost16_8 => &simplicity_sys::c_jets::jets_wrapper::rightmost_16_8, - Elements::Rightmost32_1 => &simplicity_sys::c_jets::jets_wrapper::rightmost_32_1, - Elements::Rightmost32_16 => &simplicity_sys::c_jets::jets_wrapper::rightmost_32_16, - Elements::Rightmost32_2 => &simplicity_sys::c_jets::jets_wrapper::rightmost_32_2, - Elements::Rightmost32_4 => &simplicity_sys::c_jets::jets_wrapper::rightmost_32_4, - Elements::Rightmost32_8 => &simplicity_sys::c_jets::jets_wrapper::rightmost_32_8, - Elements::Rightmost64_1 => &simplicity_sys::c_jets::jets_wrapper::rightmost_64_1, - Elements::Rightmost64_16 => &simplicity_sys::c_jets::jets_wrapper::rightmost_64_16, - Elements::Rightmost64_2 => &simplicity_sys::c_jets::jets_wrapper::rightmost_64_2, - Elements::Rightmost64_32 => &simplicity_sys::c_jets::jets_wrapper::rightmost_64_32, - Elements::Rightmost64_4 => &simplicity_sys::c_jets::jets_wrapper::rightmost_64_4, - Elements::Rightmost64_8 => &simplicity_sys::c_jets::jets_wrapper::rightmost_64_8, - Elements::Rightmost8_1 => &simplicity_sys::c_jets::jets_wrapper::rightmost_8_1, - Elements::Rightmost8_2 => &simplicity_sys::c_jets::jets_wrapper::rightmost_8_2, - Elements::Rightmost8_4 => &simplicity_sys::c_jets::jets_wrapper::rightmost_8_4, - Elements::ScalarAdd => &simplicity_sys::c_jets::jets_wrapper::scalar_add, - Elements::ScalarInvert => &simplicity_sys::c_jets::jets_wrapper::scalar_invert, - Elements::ScalarIsZero => &simplicity_sys::c_jets::jets_wrapper::scalar_is_zero, - Elements::ScalarMultiply => &simplicity_sys::c_jets::jets_wrapper::scalar_multiply, - Elements::ScalarMultiplyLambda => &simplicity_sys::c_jets::jets_wrapper::scalar_multiply_lambda, - Elements::ScalarNegate => &simplicity_sys::c_jets::jets_wrapper::scalar_negate, - Elements::ScalarNormalize => &simplicity_sys::c_jets::jets_wrapper::scalar_normalize, - Elements::ScalarSquare => &simplicity_sys::c_jets::jets_wrapper::scalar_square, - Elements::Scale => &simplicity_sys::c_jets::jets_wrapper::scale, - Elements::ScriptCMR => &simplicity_sys::c_jets::jets_wrapper::script_cmr, - Elements::Sha256Block => &simplicity_sys::c_jets::jets_wrapper::sha_256_block, - Elements::Sha256Ctx8Add1 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_1, - Elements::Sha256Ctx8Add128 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_128, - Elements::Sha256Ctx8Add16 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_16, - Elements::Sha256Ctx8Add2 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_2, - Elements::Sha256Ctx8Add256 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_256, - Elements::Sha256Ctx8Add32 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_32, - Elements::Sha256Ctx8Add4 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_4, - Elements::Sha256Ctx8Add512 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_512, - Elements::Sha256Ctx8Add64 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_64, - Elements::Sha256Ctx8Add8 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_8, - Elements::Sha256Ctx8AddBuffer511 => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_buffer_511, - Elements::Sha256Ctx8Finalize => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_finalize, - Elements::Sha256Ctx8Init => &simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_init, - Elements::Sha256Iv => &simplicity_sys::c_jets::jets_wrapper::sha_256_iv, - Elements::SigAllHash => &simplicity_sys::c_jets::jets_wrapper::sig_all_hash, - Elements::Some1 => &simplicity_sys::c_jets::jets_wrapper::some_1, - Elements::Some16 => &simplicity_sys::c_jets::jets_wrapper::some_16, - Elements::Some32 => &simplicity_sys::c_jets::jets_wrapper::some_32, - Elements::Some64 => &simplicity_sys::c_jets::jets_wrapper::some_64, - Elements::Some8 => &simplicity_sys::c_jets::jets_wrapper::some_8, - Elements::Subtract16 => &simplicity_sys::c_jets::jets_wrapper::subtract_16, - Elements::Subtract32 => &simplicity_sys::c_jets::jets_wrapper::subtract_32, - Elements::Subtract64 => &simplicity_sys::c_jets::jets_wrapper::subtract_64, - Elements::Subtract8 => &simplicity_sys::c_jets::jets_wrapper::subtract_8, - Elements::Swu => &simplicity_sys::c_jets::jets_wrapper::swu, - Elements::TapEnvHash => &simplicity_sys::c_jets::jets_wrapper::tap_env_hash, - Elements::TapdataInit => &simplicity_sys::c_jets::jets_wrapper::tapdata_init, - Elements::TapleafHash => &simplicity_sys::c_jets::jets_wrapper::tapleaf_hash, - Elements::TapleafVersion => &simplicity_sys::c_jets::jets_wrapper::tapleaf_version, - Elements::Tappath => &simplicity_sys::c_jets::jets_wrapper::tappath, - Elements::TappathHash => &simplicity_sys::c_jets::jets_wrapper::tappath_hash, - Elements::TotalFee => &simplicity_sys::c_jets::jets_wrapper::total_fee, - Elements::TransactionId => &simplicity_sys::c_jets::jets_wrapper::transaction_id, - Elements::TxHash => &simplicity_sys::c_jets::jets_wrapper::tx_hash, - Elements::TxIsFinal => &simplicity_sys::c_jets::jets_wrapper::tx_is_final, - Elements::TxLockHeight => &simplicity_sys::c_jets::jets_wrapper::tx_lock_height, - Elements::TxLockTime => &simplicity_sys::c_jets::jets_wrapper::tx_lock_time, - Elements::Verify => &simplicity_sys::c_jets::jets_wrapper::verify, - Elements::Version => &simplicity_sys::c_jets::jets_wrapper::version, - Elements::Xor1 => &simplicity_sys::c_jets::jets_wrapper::xor_1, - Elements::Xor16 => &simplicity_sys::c_jets::jets_wrapper::xor_16, - Elements::Xor32 => &simplicity_sys::c_jets::jets_wrapper::xor_32, - Elements::Xor64 => &simplicity_sys::c_jets::jets_wrapper::xor_64, - Elements::Xor8 => &simplicity_sys::c_jets::jets_wrapper::xor_8, - Elements::XorXor1 => &simplicity_sys::c_jets::jets_wrapper::xor_xor_1, - Elements::XorXor16 => &simplicity_sys::c_jets::jets_wrapper::xor_xor_16, - Elements::XorXor32 => &simplicity_sys::c_jets::jets_wrapper::xor_xor_32, - Elements::XorXor64 => &simplicity_sys::c_jets::jets_wrapper::xor_xor_64, - Elements::XorXor8 => &simplicity_sys::c_jets::jets_wrapper::xor_xor_8, - } - } - fn cost(&self) -> Cost { match self { Elements::Add16 => Cost::from_milliweight(108), @@ -9338,3 +8854,479 @@ impl str::FromStr for Elements { } } } + +pub(crate) fn c_jet_ptr(jet: &Elements) -> fn(&mut CFrameItem, CFrameItem, &CElementsTxEnv) -> bool { + match jet { + Elements::Add16 => simplicity_sys::c_jets::jets_wrapper::add_16, + Elements::Add32 => simplicity_sys::c_jets::jets_wrapper::add_32, + Elements::Add64 => simplicity_sys::c_jets::jets_wrapper::add_64, + Elements::Add8 => simplicity_sys::c_jets::jets_wrapper::add_8, + Elements::All16 => simplicity_sys::c_jets::jets_wrapper::all_16, + Elements::All32 => simplicity_sys::c_jets::jets_wrapper::all_32, + Elements::All64 => simplicity_sys::c_jets::jets_wrapper::all_64, + Elements::All8 => simplicity_sys::c_jets::jets_wrapper::all_8, + Elements::And1 => simplicity_sys::c_jets::jets_wrapper::and_1, + Elements::And16 => simplicity_sys::c_jets::jets_wrapper::and_16, + Elements::And32 => simplicity_sys::c_jets::jets_wrapper::and_32, + Elements::And64 => simplicity_sys::c_jets::jets_wrapper::and_64, + Elements::And8 => simplicity_sys::c_jets::jets_wrapper::and_8, + Elements::AnnexHash => simplicity_sys::c_jets::jets_wrapper::annex_hash, + Elements::AssetAmountHash => simplicity_sys::c_jets::jets_wrapper::asset_amount_hash, + Elements::Bip0340Verify => simplicity_sys::c_jets::jets_wrapper::bip_0340_verify, + Elements::BrokenDoNotUseCheckLockDistance => simplicity_sys::c_jets::jets_wrapper::broken_do_not_use_check_lock_distance, + Elements::BrokenDoNotUseCheckLockDuration => simplicity_sys::c_jets::jets_wrapper::broken_do_not_use_check_lock_duration, + Elements::BrokenDoNotUseTxLockDistance => simplicity_sys::c_jets::jets_wrapper::broken_do_not_use_tx_lock_distance, + Elements::BrokenDoNotUseTxLockDuration => simplicity_sys::c_jets::jets_wrapper::broken_do_not_use_tx_lock_duration, + Elements::BuildTapbranch => simplicity_sys::c_jets::jets_wrapper::build_tapbranch, + Elements::BuildTapleafSimplicity => simplicity_sys::c_jets::jets_wrapper::build_tapleaf_simplicity, + Elements::BuildTaptweak => simplicity_sys::c_jets::jets_wrapper::build_taptweak, + Elements::CalculateAsset => simplicity_sys::c_jets::jets_wrapper::calculate_asset, + Elements::CalculateConfidentialToken => simplicity_sys::c_jets::jets_wrapper::calculate_confidential_token, + Elements::CalculateExplicitToken => simplicity_sys::c_jets::jets_wrapper::calculate_explicit_token, + Elements::CalculateIssuanceEntropy => simplicity_sys::c_jets::jets_wrapper::calculate_issuance_entropy, + Elements::Ch1 => simplicity_sys::c_jets::jets_wrapper::ch_1, + Elements::Ch16 => simplicity_sys::c_jets::jets_wrapper::ch_16, + Elements::Ch32 => simplicity_sys::c_jets::jets_wrapper::ch_32, + Elements::Ch64 => simplicity_sys::c_jets::jets_wrapper::ch_64, + Elements::Ch8 => simplicity_sys::c_jets::jets_wrapper::ch_8, + Elements::CheckLockHeight => simplicity_sys::c_jets::jets_wrapper::check_lock_height, + Elements::CheckLockTime => simplicity_sys::c_jets::jets_wrapper::check_lock_time, + Elements::CheckSigVerify => simplicity_sys::c_jets::jets_wrapper::check_sig_verify, + Elements::Complement1 => simplicity_sys::c_jets::jets_wrapper::complement_1, + Elements::Complement16 => simplicity_sys::c_jets::jets_wrapper::complement_16, + Elements::Complement32 => simplicity_sys::c_jets::jets_wrapper::complement_32, + Elements::Complement64 => simplicity_sys::c_jets::jets_wrapper::complement_64, + Elements::Complement8 => simplicity_sys::c_jets::jets_wrapper::complement_8, + Elements::CurrentAmount => simplicity_sys::c_jets::jets_wrapper::current_amount, + Elements::CurrentAnnexHash => simplicity_sys::c_jets::jets_wrapper::current_annex_hash, + Elements::CurrentAsset => simplicity_sys::c_jets::jets_wrapper::current_asset, + Elements::CurrentIndex => simplicity_sys::c_jets::jets_wrapper::current_index, + Elements::CurrentIssuanceAssetAmount => simplicity_sys::c_jets::jets_wrapper::current_issuance_asset_amount, + Elements::CurrentIssuanceAssetProof => simplicity_sys::c_jets::jets_wrapper::current_issuance_asset_proof, + Elements::CurrentIssuanceTokenAmount => simplicity_sys::c_jets::jets_wrapper::current_issuance_token_amount, + Elements::CurrentIssuanceTokenProof => simplicity_sys::c_jets::jets_wrapper::current_issuance_token_proof, + Elements::CurrentNewIssuanceContract => simplicity_sys::c_jets::jets_wrapper::current_new_issuance_contract, + Elements::CurrentPegin => simplicity_sys::c_jets::jets_wrapper::current_pegin, + Elements::CurrentPrevOutpoint => simplicity_sys::c_jets::jets_wrapper::current_prev_outpoint, + Elements::CurrentReissuanceBlinding => simplicity_sys::c_jets::jets_wrapper::current_reissuance_blinding, + Elements::CurrentReissuanceEntropy => simplicity_sys::c_jets::jets_wrapper::current_reissuance_entropy, + Elements::CurrentScriptHash => simplicity_sys::c_jets::jets_wrapper::current_script_hash, + Elements::CurrentScriptSigHash => simplicity_sys::c_jets::jets_wrapper::current_script_sig_hash, + Elements::CurrentSequence => simplicity_sys::c_jets::jets_wrapper::current_sequence, + Elements::Decompress => simplicity_sys::c_jets::jets_wrapper::decompress, + Elements::Decrement16 => simplicity_sys::c_jets::jets_wrapper::decrement_16, + Elements::Decrement32 => simplicity_sys::c_jets::jets_wrapper::decrement_32, + Elements::Decrement64 => simplicity_sys::c_jets::jets_wrapper::decrement_64, + Elements::Decrement8 => simplicity_sys::c_jets::jets_wrapper::decrement_8, + Elements::DivMod128_64 => simplicity_sys::c_jets::jets_wrapper::div_mod_128_64, + Elements::DivMod16 => simplicity_sys::c_jets::jets_wrapper::div_mod_16, + Elements::DivMod32 => simplicity_sys::c_jets::jets_wrapper::div_mod_32, + Elements::DivMod64 => simplicity_sys::c_jets::jets_wrapper::div_mod_64, + Elements::DivMod8 => simplicity_sys::c_jets::jets_wrapper::div_mod_8, + Elements::Divide16 => simplicity_sys::c_jets::jets_wrapper::divide_16, + Elements::Divide32 => simplicity_sys::c_jets::jets_wrapper::divide_32, + Elements::Divide64 => simplicity_sys::c_jets::jets_wrapper::divide_64, + Elements::Divide8 => simplicity_sys::c_jets::jets_wrapper::divide_8, + Elements::Divides16 => simplicity_sys::c_jets::jets_wrapper::divides_16, + Elements::Divides32 => simplicity_sys::c_jets::jets_wrapper::divides_32, + Elements::Divides64 => simplicity_sys::c_jets::jets_wrapper::divides_64, + Elements::Divides8 => simplicity_sys::c_jets::jets_wrapper::divides_8, + Elements::Eq1 => simplicity_sys::c_jets::jets_wrapper::eq_1, + Elements::Eq16 => simplicity_sys::c_jets::jets_wrapper::eq_16, + Elements::Eq256 => simplicity_sys::c_jets::jets_wrapper::eq_256, + Elements::Eq32 => simplicity_sys::c_jets::jets_wrapper::eq_32, + Elements::Eq64 => simplicity_sys::c_jets::jets_wrapper::eq_64, + Elements::Eq8 => simplicity_sys::c_jets::jets_wrapper::eq_8, + Elements::FeAdd => simplicity_sys::c_jets::jets_wrapper::fe_add, + Elements::FeInvert => simplicity_sys::c_jets::jets_wrapper::fe_invert, + Elements::FeIsOdd => simplicity_sys::c_jets::jets_wrapper::fe_is_odd, + Elements::FeIsZero => simplicity_sys::c_jets::jets_wrapper::fe_is_zero, + Elements::FeMultiply => simplicity_sys::c_jets::jets_wrapper::fe_multiply, + Elements::FeMultiplyBeta => simplicity_sys::c_jets::jets_wrapper::fe_multiply_beta, + Elements::FeNegate => simplicity_sys::c_jets::jets_wrapper::fe_negate, + Elements::FeNormalize => simplicity_sys::c_jets::jets_wrapper::fe_normalize, + Elements::FeSquare => simplicity_sys::c_jets::jets_wrapper::fe_square, + Elements::FeSquareRoot => simplicity_sys::c_jets::jets_wrapper::fe_square_root, + Elements::FullAdd16 => simplicity_sys::c_jets::jets_wrapper::full_add_16, + Elements::FullAdd32 => simplicity_sys::c_jets::jets_wrapper::full_add_32, + Elements::FullAdd64 => simplicity_sys::c_jets::jets_wrapper::full_add_64, + Elements::FullAdd8 => simplicity_sys::c_jets::jets_wrapper::full_add_8, + Elements::FullDecrement16 => simplicity_sys::c_jets::jets_wrapper::full_decrement_16, + Elements::FullDecrement32 => simplicity_sys::c_jets::jets_wrapper::full_decrement_32, + Elements::FullDecrement64 => simplicity_sys::c_jets::jets_wrapper::full_decrement_64, + Elements::FullDecrement8 => simplicity_sys::c_jets::jets_wrapper::full_decrement_8, + Elements::FullIncrement16 => simplicity_sys::c_jets::jets_wrapper::full_increment_16, + Elements::FullIncrement32 => simplicity_sys::c_jets::jets_wrapper::full_increment_32, + Elements::FullIncrement64 => simplicity_sys::c_jets::jets_wrapper::full_increment_64, + Elements::FullIncrement8 => simplicity_sys::c_jets::jets_wrapper::full_increment_8, + Elements::FullLeftShift16_1 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_1, + Elements::FullLeftShift16_2 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_2, + Elements::FullLeftShift16_4 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_4, + Elements::FullLeftShift16_8 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_16_8, + Elements::FullLeftShift32_1 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_1, + Elements::FullLeftShift32_16 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_16, + Elements::FullLeftShift32_2 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_2, + Elements::FullLeftShift32_4 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_4, + Elements::FullLeftShift32_8 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_32_8, + Elements::FullLeftShift64_1 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_1, + Elements::FullLeftShift64_16 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_16, + Elements::FullLeftShift64_2 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_2, + Elements::FullLeftShift64_32 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_32, + Elements::FullLeftShift64_4 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_4, + Elements::FullLeftShift64_8 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_64_8, + Elements::FullLeftShift8_1 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_8_1, + Elements::FullLeftShift8_2 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_8_2, + Elements::FullLeftShift8_4 => simplicity_sys::c_jets::jets_wrapper::full_left_shift_8_4, + Elements::FullMultiply16 => simplicity_sys::c_jets::jets_wrapper::full_multiply_16, + Elements::FullMultiply32 => simplicity_sys::c_jets::jets_wrapper::full_multiply_32, + Elements::FullMultiply64 => simplicity_sys::c_jets::jets_wrapper::full_multiply_64, + Elements::FullMultiply8 => simplicity_sys::c_jets::jets_wrapper::full_multiply_8, + Elements::FullRightShift16_1 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_1, + Elements::FullRightShift16_2 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_2, + Elements::FullRightShift16_4 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_4, + Elements::FullRightShift16_8 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_16_8, + Elements::FullRightShift32_1 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_1, + Elements::FullRightShift32_16 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_16, + Elements::FullRightShift32_2 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_2, + Elements::FullRightShift32_4 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_4, + Elements::FullRightShift32_8 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_32_8, + Elements::FullRightShift64_1 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_1, + Elements::FullRightShift64_16 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_16, + Elements::FullRightShift64_2 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_2, + Elements::FullRightShift64_32 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_32, + Elements::FullRightShift64_4 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_4, + Elements::FullRightShift64_8 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_64_8, + Elements::FullRightShift8_1 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_8_1, + Elements::FullRightShift8_2 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_8_2, + Elements::FullRightShift8_4 => simplicity_sys::c_jets::jets_wrapper::full_right_shift_8_4, + Elements::FullSubtract16 => simplicity_sys::c_jets::jets_wrapper::full_subtract_16, + Elements::FullSubtract32 => simplicity_sys::c_jets::jets_wrapper::full_subtract_32, + Elements::FullSubtract64 => simplicity_sys::c_jets::jets_wrapper::full_subtract_64, + Elements::FullSubtract8 => simplicity_sys::c_jets::jets_wrapper::full_subtract_8, + Elements::GeIsOnCurve => simplicity_sys::c_jets::jets_wrapper::ge_is_on_curve, + Elements::GeNegate => simplicity_sys::c_jets::jets_wrapper::ge_negate, + Elements::GejAdd => simplicity_sys::c_jets::jets_wrapper::gej_add, + Elements::GejDouble => simplicity_sys::c_jets::jets_wrapper::gej_double, + Elements::GejEquiv => simplicity_sys::c_jets::jets_wrapper::gej_equiv, + Elements::GejGeAdd => simplicity_sys::c_jets::jets_wrapper::gej_ge_add, + Elements::GejGeAddEx => simplicity_sys::c_jets::jets_wrapper::gej_ge_add_ex, + Elements::GejGeEquiv => simplicity_sys::c_jets::jets_wrapper::gej_ge_equiv, + Elements::GejInfinity => simplicity_sys::c_jets::jets_wrapper::gej_infinity, + Elements::GejIsInfinity => simplicity_sys::c_jets::jets_wrapper::gej_is_infinity, + Elements::GejIsOnCurve => simplicity_sys::c_jets::jets_wrapper::gej_is_on_curve, + Elements::GejNegate => simplicity_sys::c_jets::jets_wrapper::gej_negate, + Elements::GejNormalize => simplicity_sys::c_jets::jets_wrapper::gej_normalize, + Elements::GejRescale => simplicity_sys::c_jets::jets_wrapper::gej_rescale, + Elements::GejXEquiv => simplicity_sys::c_jets::jets_wrapper::gej_x_equiv, + Elements::GejYIsOdd => simplicity_sys::c_jets::jets_wrapper::gej_y_is_odd, + Elements::Generate => simplicity_sys::c_jets::jets_wrapper::generate, + Elements::GenesisBlockHash => simplicity_sys::c_jets::jets_wrapper::genesis_block_hash, + Elements::HashToCurve => simplicity_sys::c_jets::jets_wrapper::hash_to_curve, + Elements::High1 => simplicity_sys::c_jets::jets_wrapper::high_1, + Elements::High16 => simplicity_sys::c_jets::jets_wrapper::high_16, + Elements::High32 => simplicity_sys::c_jets::jets_wrapper::high_32, + Elements::High64 => simplicity_sys::c_jets::jets_wrapper::high_64, + Elements::High8 => simplicity_sys::c_jets::jets_wrapper::high_8, + Elements::Increment16 => simplicity_sys::c_jets::jets_wrapper::increment_16, + Elements::Increment32 => simplicity_sys::c_jets::jets_wrapper::increment_32, + Elements::Increment64 => simplicity_sys::c_jets::jets_wrapper::increment_64, + Elements::Increment8 => simplicity_sys::c_jets::jets_wrapper::increment_8, + Elements::InputAmount => simplicity_sys::c_jets::jets_wrapper::input_amount, + Elements::InputAmountsHash => simplicity_sys::c_jets::jets_wrapper::input_amounts_hash, + Elements::InputAnnexHash => simplicity_sys::c_jets::jets_wrapper::input_annex_hash, + Elements::InputAnnexesHash => simplicity_sys::c_jets::jets_wrapper::input_annexes_hash, + Elements::InputAsset => simplicity_sys::c_jets::jets_wrapper::input_asset, + Elements::InputHash => simplicity_sys::c_jets::jets_wrapper::input_hash, + Elements::InputOutpointsHash => simplicity_sys::c_jets::jets_wrapper::input_outpoints_hash, + Elements::InputPegin => simplicity_sys::c_jets::jets_wrapper::input_pegin, + Elements::InputPrevOutpoint => simplicity_sys::c_jets::jets_wrapper::input_prev_outpoint, + Elements::InputScriptHash => simplicity_sys::c_jets::jets_wrapper::input_script_hash, + Elements::InputScriptSigHash => simplicity_sys::c_jets::jets_wrapper::input_script_sig_hash, + Elements::InputScriptSigsHash => simplicity_sys::c_jets::jets_wrapper::input_script_sigs_hash, + Elements::InputScriptsHash => simplicity_sys::c_jets::jets_wrapper::input_scripts_hash, + Elements::InputSequence => simplicity_sys::c_jets::jets_wrapper::input_sequence, + Elements::InputSequencesHash => simplicity_sys::c_jets::jets_wrapper::input_sequences_hash, + Elements::InputUtxoHash => simplicity_sys::c_jets::jets_wrapper::input_utxo_hash, + Elements::InputUtxosHash => simplicity_sys::c_jets::jets_wrapper::input_utxos_hash, + Elements::InputsHash => simplicity_sys::c_jets::jets_wrapper::inputs_hash, + Elements::InternalKey => simplicity_sys::c_jets::jets_wrapper::internal_key, + Elements::IsOne16 => simplicity_sys::c_jets::jets_wrapper::is_one_16, + Elements::IsOne32 => simplicity_sys::c_jets::jets_wrapper::is_one_32, + Elements::IsOne64 => simplicity_sys::c_jets::jets_wrapper::is_one_64, + Elements::IsOne8 => simplicity_sys::c_jets::jets_wrapper::is_one_8, + Elements::IsZero16 => simplicity_sys::c_jets::jets_wrapper::is_zero_16, + Elements::IsZero32 => simplicity_sys::c_jets::jets_wrapper::is_zero_32, + Elements::IsZero64 => simplicity_sys::c_jets::jets_wrapper::is_zero_64, + Elements::IsZero8 => simplicity_sys::c_jets::jets_wrapper::is_zero_8, + Elements::Issuance => simplicity_sys::c_jets::jets_wrapper::issuance, + Elements::IssuanceAsset => simplicity_sys::c_jets::jets_wrapper::issuance_asset, + Elements::IssuanceAssetAmount => simplicity_sys::c_jets::jets_wrapper::issuance_asset_amount, + Elements::IssuanceAssetAmountsHash => simplicity_sys::c_jets::jets_wrapper::issuance_asset_amounts_hash, + Elements::IssuanceAssetProof => simplicity_sys::c_jets::jets_wrapper::issuance_asset_proof, + Elements::IssuanceBlindingEntropyHash => simplicity_sys::c_jets::jets_wrapper::issuance_blinding_entropy_hash, + Elements::IssuanceEntropy => simplicity_sys::c_jets::jets_wrapper::issuance_entropy, + Elements::IssuanceHash => simplicity_sys::c_jets::jets_wrapper::issuance_hash, + Elements::IssuanceRangeProofsHash => simplicity_sys::c_jets::jets_wrapper::issuance_range_proofs_hash, + Elements::IssuanceToken => simplicity_sys::c_jets::jets_wrapper::issuance_token, + Elements::IssuanceTokenAmount => simplicity_sys::c_jets::jets_wrapper::issuance_token_amount, + Elements::IssuanceTokenAmountsHash => simplicity_sys::c_jets::jets_wrapper::issuance_token_amounts_hash, + Elements::IssuanceTokenProof => simplicity_sys::c_jets::jets_wrapper::issuance_token_proof, + Elements::IssuancesHash => simplicity_sys::c_jets::jets_wrapper::issuances_hash, + Elements::LbtcAsset => simplicity_sys::c_jets::jets_wrapper::lbtc_asset, + Elements::Le16 => simplicity_sys::c_jets::jets_wrapper::le_16, + Elements::Le32 => simplicity_sys::c_jets::jets_wrapper::le_32, + Elements::Le64 => simplicity_sys::c_jets::jets_wrapper::le_64, + Elements::Le8 => simplicity_sys::c_jets::jets_wrapper::le_8, + Elements::LeftExtend16_32 => simplicity_sys::c_jets::jets_wrapper::left_extend_16_32, + Elements::LeftExtend16_64 => simplicity_sys::c_jets::jets_wrapper::left_extend_16_64, + Elements::LeftExtend1_16 => simplicity_sys::c_jets::jets_wrapper::left_extend_1_16, + Elements::LeftExtend1_32 => simplicity_sys::c_jets::jets_wrapper::left_extend_1_32, + Elements::LeftExtend1_64 => simplicity_sys::c_jets::jets_wrapper::left_extend_1_64, + Elements::LeftExtend1_8 => simplicity_sys::c_jets::jets_wrapper::left_extend_1_8, + Elements::LeftExtend32_64 => simplicity_sys::c_jets::jets_wrapper::left_extend_32_64, + Elements::LeftExtend8_16 => simplicity_sys::c_jets::jets_wrapper::left_extend_8_16, + Elements::LeftExtend8_32 => simplicity_sys::c_jets::jets_wrapper::left_extend_8_32, + Elements::LeftExtend8_64 => simplicity_sys::c_jets::jets_wrapper::left_extend_8_64, + Elements::LeftPadHigh16_32 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_16_32, + Elements::LeftPadHigh16_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_16_64, + Elements::LeftPadHigh1_16 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_16, + Elements::LeftPadHigh1_32 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_32, + Elements::LeftPadHigh1_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_64, + Elements::LeftPadHigh1_8 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_1_8, + Elements::LeftPadHigh32_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_32_64, + Elements::LeftPadHigh8_16 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_8_16, + Elements::LeftPadHigh8_32 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_8_32, + Elements::LeftPadHigh8_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_high_8_64, + Elements::LeftPadLow16_32 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_16_32, + Elements::LeftPadLow16_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_16_64, + Elements::LeftPadLow1_16 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_16, + Elements::LeftPadLow1_32 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_32, + Elements::LeftPadLow1_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_64, + Elements::LeftPadLow1_8 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_1_8, + Elements::LeftPadLow32_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_32_64, + Elements::LeftPadLow8_16 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_8_16, + Elements::LeftPadLow8_32 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_8_32, + Elements::LeftPadLow8_64 => simplicity_sys::c_jets::jets_wrapper::left_pad_low_8_64, + Elements::LeftRotate16 => simplicity_sys::c_jets::jets_wrapper::left_rotate_16, + Elements::LeftRotate32 => simplicity_sys::c_jets::jets_wrapper::left_rotate_32, + Elements::LeftRotate64 => simplicity_sys::c_jets::jets_wrapper::left_rotate_64, + Elements::LeftRotate8 => simplicity_sys::c_jets::jets_wrapper::left_rotate_8, + Elements::LeftShift16 => simplicity_sys::c_jets::jets_wrapper::left_shift_16, + Elements::LeftShift32 => simplicity_sys::c_jets::jets_wrapper::left_shift_32, + Elements::LeftShift64 => simplicity_sys::c_jets::jets_wrapper::left_shift_64, + Elements::LeftShift8 => simplicity_sys::c_jets::jets_wrapper::left_shift_8, + Elements::LeftShiftWith16 => simplicity_sys::c_jets::jets_wrapper::left_shift_with_16, + Elements::LeftShiftWith32 => simplicity_sys::c_jets::jets_wrapper::left_shift_with_32, + Elements::LeftShiftWith64 => simplicity_sys::c_jets::jets_wrapper::left_shift_with_64, + Elements::LeftShiftWith8 => simplicity_sys::c_jets::jets_wrapper::left_shift_with_8, + Elements::Leftmost16_1 => simplicity_sys::c_jets::jets_wrapper::leftmost_16_1, + Elements::Leftmost16_2 => simplicity_sys::c_jets::jets_wrapper::leftmost_16_2, + Elements::Leftmost16_4 => simplicity_sys::c_jets::jets_wrapper::leftmost_16_4, + Elements::Leftmost16_8 => simplicity_sys::c_jets::jets_wrapper::leftmost_16_8, + Elements::Leftmost32_1 => simplicity_sys::c_jets::jets_wrapper::leftmost_32_1, + Elements::Leftmost32_16 => simplicity_sys::c_jets::jets_wrapper::leftmost_32_16, + Elements::Leftmost32_2 => simplicity_sys::c_jets::jets_wrapper::leftmost_32_2, + Elements::Leftmost32_4 => simplicity_sys::c_jets::jets_wrapper::leftmost_32_4, + Elements::Leftmost32_8 => simplicity_sys::c_jets::jets_wrapper::leftmost_32_8, + Elements::Leftmost64_1 => simplicity_sys::c_jets::jets_wrapper::leftmost_64_1, + Elements::Leftmost64_16 => simplicity_sys::c_jets::jets_wrapper::leftmost_64_16, + Elements::Leftmost64_2 => simplicity_sys::c_jets::jets_wrapper::leftmost_64_2, + Elements::Leftmost64_32 => simplicity_sys::c_jets::jets_wrapper::leftmost_64_32, + Elements::Leftmost64_4 => simplicity_sys::c_jets::jets_wrapper::leftmost_64_4, + Elements::Leftmost64_8 => simplicity_sys::c_jets::jets_wrapper::leftmost_64_8, + Elements::Leftmost8_1 => simplicity_sys::c_jets::jets_wrapper::leftmost_8_1, + Elements::Leftmost8_2 => simplicity_sys::c_jets::jets_wrapper::leftmost_8_2, + Elements::Leftmost8_4 => simplicity_sys::c_jets::jets_wrapper::leftmost_8_4, + Elements::LinearCombination1 => simplicity_sys::c_jets::jets_wrapper::linear_combination_1, + Elements::LinearVerify1 => simplicity_sys::c_jets::jets_wrapper::linear_verify_1, + Elements::LockTime => simplicity_sys::c_jets::jets_wrapper::lock_time, + Elements::Low1 => simplicity_sys::c_jets::jets_wrapper::low_1, + Elements::Low16 => simplicity_sys::c_jets::jets_wrapper::low_16, + Elements::Low32 => simplicity_sys::c_jets::jets_wrapper::low_32, + Elements::Low64 => simplicity_sys::c_jets::jets_wrapper::low_64, + Elements::Low8 => simplicity_sys::c_jets::jets_wrapper::low_8, + Elements::Lt16 => simplicity_sys::c_jets::jets_wrapper::lt_16, + Elements::Lt32 => simplicity_sys::c_jets::jets_wrapper::lt_32, + Elements::Lt64 => simplicity_sys::c_jets::jets_wrapper::lt_64, + Elements::Lt8 => simplicity_sys::c_jets::jets_wrapper::lt_8, + Elements::Maj1 => simplicity_sys::c_jets::jets_wrapper::maj_1, + Elements::Maj16 => simplicity_sys::c_jets::jets_wrapper::maj_16, + Elements::Maj32 => simplicity_sys::c_jets::jets_wrapper::maj_32, + Elements::Maj64 => simplicity_sys::c_jets::jets_wrapper::maj_64, + Elements::Maj8 => simplicity_sys::c_jets::jets_wrapper::maj_8, + Elements::Max16 => simplicity_sys::c_jets::jets_wrapper::max_16, + Elements::Max32 => simplicity_sys::c_jets::jets_wrapper::max_32, + Elements::Max64 => simplicity_sys::c_jets::jets_wrapper::max_64, + Elements::Max8 => simplicity_sys::c_jets::jets_wrapper::max_8, + Elements::Median16 => simplicity_sys::c_jets::jets_wrapper::median_16, + Elements::Median32 => simplicity_sys::c_jets::jets_wrapper::median_32, + Elements::Median64 => simplicity_sys::c_jets::jets_wrapper::median_64, + Elements::Median8 => simplicity_sys::c_jets::jets_wrapper::median_8, + Elements::Min16 => simplicity_sys::c_jets::jets_wrapper::min_16, + Elements::Min32 => simplicity_sys::c_jets::jets_wrapper::min_32, + Elements::Min64 => simplicity_sys::c_jets::jets_wrapper::min_64, + Elements::Min8 => simplicity_sys::c_jets::jets_wrapper::min_8, + Elements::Modulo16 => simplicity_sys::c_jets::jets_wrapper::modulo_16, + Elements::Modulo32 => simplicity_sys::c_jets::jets_wrapper::modulo_32, + Elements::Modulo64 => simplicity_sys::c_jets::jets_wrapper::modulo_64, + Elements::Modulo8 => simplicity_sys::c_jets::jets_wrapper::modulo_8, + Elements::Multiply16 => simplicity_sys::c_jets::jets_wrapper::multiply_16, + Elements::Multiply32 => simplicity_sys::c_jets::jets_wrapper::multiply_32, + Elements::Multiply64 => simplicity_sys::c_jets::jets_wrapper::multiply_64, + Elements::Multiply8 => simplicity_sys::c_jets::jets_wrapper::multiply_8, + Elements::Negate16 => simplicity_sys::c_jets::jets_wrapper::negate_16, + Elements::Negate32 => simplicity_sys::c_jets::jets_wrapper::negate_32, + Elements::Negate64 => simplicity_sys::c_jets::jets_wrapper::negate_64, + Elements::Negate8 => simplicity_sys::c_jets::jets_wrapper::negate_8, + Elements::NewIssuanceContract => simplicity_sys::c_jets::jets_wrapper::new_issuance_contract, + Elements::NonceHash => simplicity_sys::c_jets::jets_wrapper::nonce_hash, + Elements::NumInputs => simplicity_sys::c_jets::jets_wrapper::num_inputs, + Elements::NumOutputs => simplicity_sys::c_jets::jets_wrapper::num_outputs, + Elements::One16 => simplicity_sys::c_jets::jets_wrapper::one_16, + Elements::One32 => simplicity_sys::c_jets::jets_wrapper::one_32, + Elements::One64 => simplicity_sys::c_jets::jets_wrapper::one_64, + Elements::One8 => simplicity_sys::c_jets::jets_wrapper::one_8, + Elements::Or1 => simplicity_sys::c_jets::jets_wrapper::or_1, + Elements::Or16 => simplicity_sys::c_jets::jets_wrapper::or_16, + Elements::Or32 => simplicity_sys::c_jets::jets_wrapper::or_32, + Elements::Or64 => simplicity_sys::c_jets::jets_wrapper::or_64, + Elements::Or8 => simplicity_sys::c_jets::jets_wrapper::or_8, + Elements::OutpointHash => simplicity_sys::c_jets::jets_wrapper::outpoint_hash, + Elements::OutputAmount => simplicity_sys::c_jets::jets_wrapper::output_amount, + Elements::OutputAmountsHash => simplicity_sys::c_jets::jets_wrapper::output_amounts_hash, + Elements::OutputAsset => simplicity_sys::c_jets::jets_wrapper::output_asset, + Elements::OutputHash => simplicity_sys::c_jets::jets_wrapper::output_hash, + Elements::OutputIsFee => simplicity_sys::c_jets::jets_wrapper::output_is_fee, + Elements::OutputNonce => simplicity_sys::c_jets::jets_wrapper::output_nonce, + Elements::OutputNoncesHash => simplicity_sys::c_jets::jets_wrapper::output_nonces_hash, + Elements::OutputNullDatum => simplicity_sys::c_jets::jets_wrapper::output_null_datum, + Elements::OutputRangeProof => simplicity_sys::c_jets::jets_wrapper::output_range_proof, + Elements::OutputRangeProofsHash => simplicity_sys::c_jets::jets_wrapper::output_range_proofs_hash, + Elements::OutputScriptHash => simplicity_sys::c_jets::jets_wrapper::output_script_hash, + Elements::OutputScriptsHash => simplicity_sys::c_jets::jets_wrapper::output_scripts_hash, + Elements::OutputSurjectionProof => simplicity_sys::c_jets::jets_wrapper::output_surjection_proof, + Elements::OutputSurjectionProofsHash => simplicity_sys::c_jets::jets_wrapper::output_surjection_proofs_hash, + Elements::OutputsHash => simplicity_sys::c_jets::jets_wrapper::outputs_hash, + Elements::ParseLock => simplicity_sys::c_jets::jets_wrapper::parse_lock, + Elements::ParseSequence => simplicity_sys::c_jets::jets_wrapper::parse_sequence, + Elements::PointVerify1 => simplicity_sys::c_jets::jets_wrapper::point_verify_1, + Elements::ReissuanceBlinding => simplicity_sys::c_jets::jets_wrapper::reissuance_blinding, + Elements::ReissuanceEntropy => simplicity_sys::c_jets::jets_wrapper::reissuance_entropy, + Elements::RightExtend16_32 => simplicity_sys::c_jets::jets_wrapper::right_extend_16_32, + Elements::RightExtend16_64 => simplicity_sys::c_jets::jets_wrapper::right_extend_16_64, + Elements::RightExtend32_64 => simplicity_sys::c_jets::jets_wrapper::right_extend_32_64, + Elements::RightExtend8_16 => simplicity_sys::c_jets::jets_wrapper::right_extend_8_16, + Elements::RightExtend8_32 => simplicity_sys::c_jets::jets_wrapper::right_extend_8_32, + Elements::RightExtend8_64 => simplicity_sys::c_jets::jets_wrapper::right_extend_8_64, + Elements::RightPadHigh16_32 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_16_32, + Elements::RightPadHigh16_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_16_64, + Elements::RightPadHigh1_16 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_16, + Elements::RightPadHigh1_32 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_32, + Elements::RightPadHigh1_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_64, + Elements::RightPadHigh1_8 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_1_8, + Elements::RightPadHigh32_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_32_64, + Elements::RightPadHigh8_16 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_8_16, + Elements::RightPadHigh8_32 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_8_32, + Elements::RightPadHigh8_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_high_8_64, + Elements::RightPadLow16_32 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_16_32, + Elements::RightPadLow16_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_16_64, + Elements::RightPadLow1_16 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_16, + Elements::RightPadLow1_32 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_32, + Elements::RightPadLow1_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_64, + Elements::RightPadLow1_8 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_1_8, + Elements::RightPadLow32_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_32_64, + Elements::RightPadLow8_16 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_8_16, + Elements::RightPadLow8_32 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_8_32, + Elements::RightPadLow8_64 => simplicity_sys::c_jets::jets_wrapper::right_pad_low_8_64, + Elements::RightRotate16 => simplicity_sys::c_jets::jets_wrapper::right_rotate_16, + Elements::RightRotate32 => simplicity_sys::c_jets::jets_wrapper::right_rotate_32, + Elements::RightRotate64 => simplicity_sys::c_jets::jets_wrapper::right_rotate_64, + Elements::RightRotate8 => simplicity_sys::c_jets::jets_wrapper::right_rotate_8, + Elements::RightShift16 => simplicity_sys::c_jets::jets_wrapper::right_shift_16, + Elements::RightShift32 => simplicity_sys::c_jets::jets_wrapper::right_shift_32, + Elements::RightShift64 => simplicity_sys::c_jets::jets_wrapper::right_shift_64, + Elements::RightShift8 => simplicity_sys::c_jets::jets_wrapper::right_shift_8, + Elements::RightShiftWith16 => simplicity_sys::c_jets::jets_wrapper::right_shift_with_16, + Elements::RightShiftWith32 => simplicity_sys::c_jets::jets_wrapper::right_shift_with_32, + Elements::RightShiftWith64 => simplicity_sys::c_jets::jets_wrapper::right_shift_with_64, + Elements::RightShiftWith8 => simplicity_sys::c_jets::jets_wrapper::right_shift_with_8, + Elements::Rightmost16_1 => simplicity_sys::c_jets::jets_wrapper::rightmost_16_1, + Elements::Rightmost16_2 => simplicity_sys::c_jets::jets_wrapper::rightmost_16_2, + Elements::Rightmost16_4 => simplicity_sys::c_jets::jets_wrapper::rightmost_16_4, + Elements::Rightmost16_8 => simplicity_sys::c_jets::jets_wrapper::rightmost_16_8, + Elements::Rightmost32_1 => simplicity_sys::c_jets::jets_wrapper::rightmost_32_1, + Elements::Rightmost32_16 => simplicity_sys::c_jets::jets_wrapper::rightmost_32_16, + Elements::Rightmost32_2 => simplicity_sys::c_jets::jets_wrapper::rightmost_32_2, + Elements::Rightmost32_4 => simplicity_sys::c_jets::jets_wrapper::rightmost_32_4, + Elements::Rightmost32_8 => simplicity_sys::c_jets::jets_wrapper::rightmost_32_8, + Elements::Rightmost64_1 => simplicity_sys::c_jets::jets_wrapper::rightmost_64_1, + Elements::Rightmost64_16 => simplicity_sys::c_jets::jets_wrapper::rightmost_64_16, + Elements::Rightmost64_2 => simplicity_sys::c_jets::jets_wrapper::rightmost_64_2, + Elements::Rightmost64_32 => simplicity_sys::c_jets::jets_wrapper::rightmost_64_32, + Elements::Rightmost64_4 => simplicity_sys::c_jets::jets_wrapper::rightmost_64_4, + Elements::Rightmost64_8 => simplicity_sys::c_jets::jets_wrapper::rightmost_64_8, + Elements::Rightmost8_1 => simplicity_sys::c_jets::jets_wrapper::rightmost_8_1, + Elements::Rightmost8_2 => simplicity_sys::c_jets::jets_wrapper::rightmost_8_2, + Elements::Rightmost8_4 => simplicity_sys::c_jets::jets_wrapper::rightmost_8_4, + Elements::ScalarAdd => simplicity_sys::c_jets::jets_wrapper::scalar_add, + Elements::ScalarInvert => simplicity_sys::c_jets::jets_wrapper::scalar_invert, + Elements::ScalarIsZero => simplicity_sys::c_jets::jets_wrapper::scalar_is_zero, + Elements::ScalarMultiply => simplicity_sys::c_jets::jets_wrapper::scalar_multiply, + Elements::ScalarMultiplyLambda => simplicity_sys::c_jets::jets_wrapper::scalar_multiply_lambda, + Elements::ScalarNegate => simplicity_sys::c_jets::jets_wrapper::scalar_negate, + Elements::ScalarNormalize => simplicity_sys::c_jets::jets_wrapper::scalar_normalize, + Elements::ScalarSquare => simplicity_sys::c_jets::jets_wrapper::scalar_square, + Elements::Scale => simplicity_sys::c_jets::jets_wrapper::scale, + Elements::ScriptCMR => simplicity_sys::c_jets::jets_wrapper::script_cmr, + Elements::Sha256Block => simplicity_sys::c_jets::jets_wrapper::sha_256_block, + Elements::Sha256Ctx8Add1 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_1, + Elements::Sha256Ctx8Add128 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_128, + Elements::Sha256Ctx8Add16 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_16, + Elements::Sha256Ctx8Add2 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_2, + Elements::Sha256Ctx8Add256 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_256, + Elements::Sha256Ctx8Add32 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_32, + Elements::Sha256Ctx8Add4 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_4, + Elements::Sha256Ctx8Add512 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_512, + Elements::Sha256Ctx8Add64 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_64, + Elements::Sha256Ctx8Add8 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_8, + Elements::Sha256Ctx8AddBuffer511 => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_add_buffer_511, + Elements::Sha256Ctx8Finalize => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_finalize, + Elements::Sha256Ctx8Init => simplicity_sys::c_jets::jets_wrapper::sha_256_ctx_8_init, + Elements::Sha256Iv => simplicity_sys::c_jets::jets_wrapper::sha_256_iv, + Elements::SigAllHash => simplicity_sys::c_jets::jets_wrapper::sig_all_hash, + Elements::Some1 => simplicity_sys::c_jets::jets_wrapper::some_1, + Elements::Some16 => simplicity_sys::c_jets::jets_wrapper::some_16, + Elements::Some32 => simplicity_sys::c_jets::jets_wrapper::some_32, + Elements::Some64 => simplicity_sys::c_jets::jets_wrapper::some_64, + Elements::Some8 => simplicity_sys::c_jets::jets_wrapper::some_8, + Elements::Subtract16 => simplicity_sys::c_jets::jets_wrapper::subtract_16, + Elements::Subtract32 => simplicity_sys::c_jets::jets_wrapper::subtract_32, + Elements::Subtract64 => simplicity_sys::c_jets::jets_wrapper::subtract_64, + Elements::Subtract8 => simplicity_sys::c_jets::jets_wrapper::subtract_8, + Elements::Swu => simplicity_sys::c_jets::jets_wrapper::swu, + Elements::TapEnvHash => simplicity_sys::c_jets::jets_wrapper::tap_env_hash, + Elements::TapdataInit => simplicity_sys::c_jets::jets_wrapper::tapdata_init, + Elements::TapleafHash => simplicity_sys::c_jets::jets_wrapper::tapleaf_hash, + Elements::TapleafVersion => simplicity_sys::c_jets::jets_wrapper::tapleaf_version, + Elements::Tappath => simplicity_sys::c_jets::jets_wrapper::tappath, + Elements::TappathHash => simplicity_sys::c_jets::jets_wrapper::tappath_hash, + Elements::TotalFee => simplicity_sys::c_jets::jets_wrapper::total_fee, + Elements::TransactionId => simplicity_sys::c_jets::jets_wrapper::transaction_id, + Elements::TxHash => simplicity_sys::c_jets::jets_wrapper::tx_hash, + Elements::TxIsFinal => simplicity_sys::c_jets::jets_wrapper::tx_is_final, + Elements::TxLockHeight => simplicity_sys::c_jets::jets_wrapper::tx_lock_height, + Elements::TxLockTime => simplicity_sys::c_jets::jets_wrapper::tx_lock_time, + Elements::Verify => simplicity_sys::c_jets::jets_wrapper::verify, + Elements::Version => simplicity_sys::c_jets::jets_wrapper::version, + Elements::Xor1 => simplicity_sys::c_jets::jets_wrapper::xor_1, + Elements::Xor16 => simplicity_sys::c_jets::jets_wrapper::xor_16, + Elements::Xor32 => simplicity_sys::c_jets::jets_wrapper::xor_32, + Elements::Xor64 => simplicity_sys::c_jets::jets_wrapper::xor_64, + Elements::Xor8 => simplicity_sys::c_jets::jets_wrapper::xor_8, + Elements::XorXor1 => simplicity_sys::c_jets::jets_wrapper::xor_xor_1, + Elements::XorXor16 => simplicity_sys::c_jets::jets_wrapper::xor_xor_16, + Elements::XorXor32 => simplicity_sys::c_jets::jets_wrapper::xor_xor_32, + Elements::XorXor64 => simplicity_sys::c_jets::jets_wrapper::xor_xor_64, + Elements::XorXor8 => simplicity_sys::c_jets::jets_wrapper::xor_xor_8, + } +} diff --git a/src/jet/mod.rs b/src/jet/mod.rs index 52ffd3fe..ece8a259 100644 --- a/src/jet/mod.rs +++ b/src/jet/mod.rs @@ -69,7 +69,7 @@ pub trait JetEnvironment { /// Obtain the FFI C pointer for the jet. fn c_jet_ptr( jet: &Self::Jet, - ) -> &dyn Fn(&mut CFrameItem, CFrameItem, &Self::CJetEnvironment) -> bool; + ) -> fn(&mut CFrameItem, CFrameItem, &Self::CJetEnvironment) -> bool; } /// Family of jets that share an encoding scheme and execution environment. @@ -83,11 +83,6 @@ pub trait JetEnvironment { pub trait Jet: Copy + Eq + Ord + Hash + std::fmt::Debug + std::fmt::Display + std::str::FromStr + 'static { - /// Environment for jet to read from - type Environment; - /// CJetEnvironment to interact with C FFI. - type CJetEnvironment; - /// Return the CMR of the jet. fn cmr(&self) -> Cmr; @@ -103,12 +98,6 @@ pub trait Jet: /// Decode a jet from bits. fn decode>(bits: &mut BitIter) -> Result; - /// Obtains a C FFI compatible environment for the jet. - fn c_jet_env(env: &Self::Environment) -> &Self::CJetEnvironment; - - /// Obtain the FFI C pointer for the jet. - fn c_jet_ptr(&self) -> &dyn Fn(&mut CFrameItem, CFrameItem, &Self::CJetEnvironment) -> bool; - /// Return the cost of the jet. fn cost(&self) -> Cost; } From 4d89a8f372d232bfb85f1056ce3a48712c8ba31d Mon Sep 17 00:00:00 2001 From: ivanlele Date: Mon, 13 Apr 2026 14:26:53 +0300 Subject: [PATCH 2/2] Transform Jet codec towards object safety --- fuzz/fuzz_targets/decode_program.rs | 6 +++--- src/bit_encoding/encode.rs | 8 ++++---- src/human_encoding/named_node.rs | 2 +- src/human_encoding/parse/ast.rs | 2 +- src/jet/init/bitcoin.rs | 8 ++++++-- src/jet/init/core.rs | 8 ++++++-- src/jet/init/elements.rs | 8 ++++++-- src/jet/mod.rs | 15 ++++++++++----- src/node/commit.rs | 2 +- src/node/construct.rs | 2 +- src/node/mod.rs | 8 ++++---- src/node/redeem.rs | 12 ++++-------- 12 files changed, 47 insertions(+), 34 deletions(-) diff --git a/fuzz/fuzz_targets/decode_program.rs b/fuzz/fuzz_targets/decode_program.rs index e4583d83..2ff860a1 100644 --- a/fuzz/fuzz_targets/decode_program.rs +++ b/fuzz/fuzz_targets/decode_program.rs @@ -11,10 +11,10 @@ fn do_test(data: &[u8]) { let wit_iter = BitIter::new(core::iter::repeat(0)); if let Ok(program) = RedeemNode::::decode(prog_iter, wit_iter) { let mut prog_reser = Vec::::new(); - let mut wit_reser = std::io::sink(); + let mut wit_reser = Vec::::new(); - let mut prog_w = BitWriter::from(&mut prog_reser); - let mut wit_w = BitWriter::from(&mut wit_reser); + let mut prog_w = BitWriter::from(&mut prog_reser as &mut dyn std::io::Write); + let mut wit_w = BitWriter::from(&mut wit_reser as &mut dyn std::io::Write); program .encode(&mut prog_w, &mut wit_w) .expect("encoding to vector"); diff --git a/src/bit_encoding/encode.rs b/src/bit_encoding/encode.rs index 1c024bcd..546b0ba5 100644 --- a/src/bit_encoding/encode.rs +++ b/src/bit_encoding/encode.rs @@ -154,9 +154,9 @@ impl SharingTracker> for EncodeSharing { /// Encode a Simplicity program to bits, without witness data. /// /// Returns the number of written bits. -pub fn encode_program( +pub fn encode_program( program: &node::Node, - w: &mut BitWriter, + w: &mut BitWriter<&mut dyn io::Write>, ) -> io::Result { let iter = EncodeNode::Node(program).post_order_iter::>(); @@ -172,9 +172,9 @@ pub fn encode_program( } /// Encode a node to bits. -fn encode_node( +fn encode_node( data: PostOrderIterItem>, - w: &mut BitWriter, + w: &mut BitWriter<&mut dyn io::Write>, ) -> io::Result<()> { // Handle Hidden nodes specially let node = match data.node { diff --git a/src/human_encoding/named_node.rs b/src/human_encoding/named_node.rs index 8ee4896b..e53122a6 100644 --- a/src/human_encoding/named_node.rs +++ b/src/human_encoding/named_node.rs @@ -199,7 +199,7 @@ impl NamedCommitNode { /// Encode a Simplicity expression to bits without any witness data #[deprecated(since = "0.5.0", note = "use Self::encode_without_witness instead")] - pub fn encode(&self, w: &mut BitWriter) -> io::Result { + pub fn encode(&self, w: &mut BitWriter<&mut dyn io::Write>) -> io::Result { let program_bits = encode::encode_program(self, w)?; w.flush_all()?; Ok(program_bits) diff --git a/src/human_encoding/parse/ast.rs b/src/human_encoding/parse/ast.rs index eb5c0c3a..dd2d7e02 100644 --- a/src/human_encoding/parse/ast.rs +++ b/src/human_encoding/parse/ast.rs @@ -495,7 +495,7 @@ fn parse_expr(p: &mut Parser) -> Result, ErrorSe Some(Token::Jet(ref name)) => { let jet_name = name.clone(); p.advance(); - let Ok(jet) = J::from_str(&jet_name[4..]) else { + let Ok(jet) = J::parse(&jet_name[4..]) else { return Err(ErrorSet::single(position, Error::UnknownJet(jet_name))); }; Ok(Expression { diff --git a/src/jet/init/bitcoin.rs b/src/jet/init/bitcoin.rs index a6eb678b..d6499806 100644 --- a/src/jet/init/bitcoin.rs +++ b/src/jet/init/bitcoin.rs @@ -1754,7 +1754,7 @@ impl Jet for Bitcoin { TypeName(name) } - fn encode(&self, w: &mut BitWriter) -> std::io::Result { + fn encode(&self, w: &mut BitWriter<&mut dyn Write>) -> std::io::Result { let (n, len) = match self { Bitcoin::Verify => (0, 3), Bitcoin::Low1 => (8, 6), @@ -2189,7 +2189,7 @@ impl Jet for Bitcoin { w.write_bits_be(n, len) } - fn decode>(bits: &mut BitIter) -> Result { + fn decode>(bits: &mut BitIter) -> Result where Self: Sized { decode_bits!(bits, { 0 => { 0 => { @@ -4701,6 +4701,10 @@ impl Jet for Bitcoin { fn cost(&self) -> Cost { unimplemented!("Unspecified cost of Bitcoin jets") } + + fn parse(s: &str) -> Result where Self: Sized { + str::FromStr::from_str(s) + } } impl fmt::Display for Bitcoin { diff --git a/src/jet/init/core.rs b/src/jet/init/core.rs index 4d1d638e..785c81ab 100644 --- a/src/jet/init/core.rs +++ b/src/jet/init/core.rs @@ -3357,7 +3357,7 @@ impl Jet for Core { TypeName(name) } - fn encode(&self, w: &mut BitWriter) -> std::io::Result { + fn encode(&self, w: &mut BitWriter<&mut dyn Write>) -> std::io::Result { let (n, len) = match self { Core::Verify => (0, 2), Core::Low1 => (8, 5), @@ -3732,7 +3732,7 @@ impl Jet for Core { w.write_bits_be(n, len) } - fn decode>(bits: &mut BitIter) -> Result { + fn decode>(bits: &mut BitIter) -> Result where Self: Sized { decode_bits!(bits, { 0 => { 0 => {Core::Verify}, @@ -6385,6 +6385,10 @@ impl Jet for Core { Core::XorXor8 => Cost::from_milliweight(86), } } + + fn parse(s: &str) -> Result where Self: Sized { + str::FromStr::from_str(s) + } } impl fmt::Display for Core { diff --git a/src/jet/init/elements.rs b/src/jet/init/elements.rs index 93767a96..18c2bf9e 100644 --- a/src/jet/init/elements.rs +++ b/src/jet/init/elements.rs @@ -4285,7 +4285,7 @@ impl Jet for Elements { TypeName(name) } - fn encode(&self, w: &mut BitWriter) -> std::io::Result { + fn encode(&self, w: &mut BitWriter<&mut dyn Write>) -> std::io::Result { let (n, len) = match self { Elements::Verify => (0, 3), Elements::Low1 => (8, 6), @@ -4763,7 +4763,7 @@ impl Jet for Elements { w.write_bits_be(n, len) } - fn decode>(bits: &mut BitIter) -> Result { + fn decode>(bits: &mut BitIter) -> Result where Self: Sized { decode_bits!(bits, { 0 => { 0 => { @@ -7894,6 +7894,10 @@ impl Jet for Elements { Elements::XorXor8 => Cost::from_milliweight(98), } } + + fn parse(s: &str) -> Result where Self: Sized { + str::FromStr::from_str(s) + } } impl fmt::Display for Elements { diff --git a/src/jet/mod.rs b/src/jet/mod.rs index ece8a259..b6cc0059 100644 --- a/src/jet/mod.rs +++ b/src/jet/mod.rs @@ -80,9 +80,7 @@ pub trait JetEnvironment { /// Jets may read values from their _environment_. /// /// Jets are **always** leaves in a Simplicity DAG. -pub trait Jet: - Copy + Eq + Ord + Hash + std::fmt::Debug + std::fmt::Display + std::str::FromStr + 'static -{ +pub trait Jet: Copy + Eq + Ord + Hash + std::fmt::Debug + std::fmt::Display + 'static { /// Return the CMR of the jet. fn cmr(&self) -> Cmr; @@ -93,13 +91,20 @@ pub trait Jet: fn target_ty(&self) -> TypeName; /// Encode the jet to bits. - fn encode(&self, w: &mut BitWriter) -> std::io::Result; + fn encode(&self, w: &mut BitWriter<&mut dyn Write>) -> std::io::Result; /// Decode a jet from bits. - fn decode>(bits: &mut BitIter) -> Result; + fn decode>(bits: &mut BitIter) -> Result + where + Self: Sized; /// Return the cost of the jet. fn cost(&self) -> Cost; + + /// Parse a jet from a string. + fn parse(s: &str) -> Result + where + Self: Sized; } #[cfg(test)] diff --git a/src/node/commit.rs b/src/node/commit.rs index dbd272ee..935984c6 100644 --- a/src/node/commit.rs +++ b/src/node/commit.rs @@ -283,7 +283,7 @@ impl CommitNode { /// Encode a Simplicity expression to bits without any witness data #[deprecated(since = "0.5.0", note = "use Self::encode_without_witness instead")] - pub fn encode(&self, w: &mut BitWriter) -> io::Result { + pub fn encode(&self, w: &mut BitWriter<&mut dyn io::Write>) -> io::Result { let program_bits = encode::encode_program(self, w)?; w.flush_all()?; Ok(program_bits) diff --git a/src/node/construct.rs b/src/node/construct.rs index 4e7668ef..9abc228f 100644 --- a/src/node/construct.rs +++ b/src/node/construct.rs @@ -258,7 +258,7 @@ impl<'brand, J: Jet> ConstructNode<'brand, J> { /// Encode a Simplicity expression to bits, with no witness data #[deprecated(since = "0.5.0", note = "use Self::encode_without_witness instead")] - pub fn encode(&self, w: &mut BitWriter) -> io::Result { + pub fn encode(&self, w: &mut BitWriter<&mut dyn io::Write>) -> io::Result { let program_bits = encode::encode_program(self, w)?; w.flush_all()?; Ok(program_bits) diff --git a/src/node/mod.rs b/src/node/mod.rs index 0e7f37fa..e860523f 100644 --- a/src/node/mod.rs +++ b/src/node/mod.rs @@ -758,7 +758,7 @@ impl Node { } /// Encode a Simplicity expression to bits without any witness data. - pub fn encode_without_witness(&self, prog: W) -> io::Result { + pub fn encode_without_witness(&self, prog: &mut dyn io::Write) -> io::Result { let mut w = BitWriter::new(prog); let program_bits = encode::encode_program(self, &mut w)?; w.flush_all()?; @@ -779,10 +779,10 @@ impl> Node { /// Encode the program and witness data to bits. /// /// Returns the number of written bits for the program and witness, respectively. - pub fn encode_with_witness( + pub fn encode_with_witness( &self, - prog: W1, - witness: W2, + prog: &mut dyn io::Write, + witness: &mut dyn io::Write, ) -> io::Result<(usize, usize)> { let mut prog = BitWriter::new(prog); let mut witness = BitWriter::new(witness); diff --git a/src/node/redeem.rs b/src/node/redeem.rs index fe73d0a2..f9a5b932 100644 --- a/src/node/redeem.rs +++ b/src/node/redeem.rs @@ -580,15 +580,11 @@ impl RedeemNode { /// /// Includes witness data. Returns the number of written bits. #[deprecated(since = "0.5.0", note = "use Self::encode_with_witness instead")] - pub fn encode( + pub fn encode( &self, - prog: &mut BitWriter, - witness: &mut BitWriter, - ) -> io::Result - where - W1: io::Write, - W2: io::Write, - { + prog: &mut BitWriter<&mut dyn io::Write>, + witness: &mut BitWriter<&mut dyn io::Write>, + ) -> io::Result { let sharing_iter = self.post_order_iter::>>(); let program_bits = encode::encode_program(self, prog)?; prog.flush_all()?;