Enum snarkvm_compiler::Instruction
source · [−]pub enum Instruction<N: Network> {
Show 56 variants
Abs(Abs<N>),
AbsWrapped(UnaryLiteral<N, AbsWrappedOperation<N>>),
Add(BinaryLiteral<N, AddOperation<N>>),
AddWrapped(BinaryLiteral<N, AddWrappedOperation<N>>),
And(And<N>),
AssertEq(AssertEq<N>),
AssertNeq(AssertNeq<N>),
Call(Call<N>),
Cast(Cast<N>),
CommitBHP256(CommitBHP256<N>),
CommitBHP512(CommitBHP512<N>),
CommitBHP768(CommitBHP768<N>),
CommitBHP1024(CommitBHP1024<N>),
CommitPED64(CommitPED64<N>),
CommitPED128(CommitPED128<N>),
Div(BinaryLiteral<N, DivOperation<N>>),
DivWrapped(BinaryLiteral<N, DivWrappedOperation<N>>),
Double(UnaryLiteral<N, DoubleOperation<N>>),
GreaterThan(GreaterThan<N>),
GreaterThanOrEqual(GreaterThanOrEqual<N>),
HashBHP256(HashBHP256<N>),
HashBHP512(HashBHP512<N>),
HashBHP768(HashBHP768<N>),
HashBHP1024(HashBHP1024<N>),
HashPED64(HashPED64<N>),
HashPED128(HashPED128<N>),
HashPSD2(HashPSD2<N>),
HashPSD4(HashPSD4<N>),
HashPSD8(HashPSD8<N>),
Inv(Inv<N>),
IsEq(IsEq<N>),
IsNeq(IsNeq<N>),
LessThan(LessThan<N>),
LessThanOrEqual(LessThanOrEqual<N>),
Modulo(BinaryLiteral<N, ModuloOperation<N>>),
Mul(BinaryLiteral<N, MulOperation<N>>),
MulWrapped(BinaryLiteral<N, MulWrappedOperation<N>>),
Nand(BinaryLiteral<N, NandOperation<N>>),
Neg(UnaryLiteral<N, NegOperation<N>>),
Nor(BinaryLiteral<N, NorOperation<N>>),
Not(UnaryLiteral<N, NotOperation<N>>),
Or(Or<N>),
Pow(BinaryLiteral<N, PowOperation<N>>),
PowWrapped(BinaryLiteral<N, PowWrappedOperation<N>>),
Rem(BinaryLiteral<N, RemOperation<N>>),
RemWrapped(BinaryLiteral<N, RemWrappedOperation<N>>),
Shl(BinaryLiteral<N, ShlOperation<N>>),
ShlWrapped(BinaryLiteral<N, ShlWrappedOperation<N>>),
Shr(BinaryLiteral<N, ShrOperation<N>>),
ShrWrapped(BinaryLiteral<N, ShrWrappedOperation<N>>),
Square(UnaryLiteral<N, SquareOperation<N>>),
SquareRoot(UnaryLiteral<N, SquareRootOperation<N>>),
Sub(BinaryLiteral<N, SubOperation<N>>),
SubWrapped(BinaryLiteral<N, SubWrappedOperation<N>>),
Ternary(TernaryLiteral<N, TernaryOperation<N>>),
Xor(Xor<N>),
}
Variants
Abs(Abs<N>)
Compute the absolute value of first
, checking for overflow, and storing the outcome in destination
.
AbsWrapped(UnaryLiteral<N, AbsWrappedOperation<N>>)
Compute the absolute value of first
, wrapping around at the boundary of the type, and storing the outcome in destination
.
Add(BinaryLiteral<N, AddOperation<N>>)
Adds first
with second
, storing the outcome in destination
.
AddWrapped(BinaryLiteral<N, AddWrappedOperation<N>>)
Adds first
with second
, wrapping around at the boundary of the type, and storing the outcome in destination
.
And(And<N>)
Performs a bitwise and
operation on first
and second
, storing the outcome in destination
.
AssertEq(AssertEq<N>)
Asserts first
and second
are equal.
AssertNeq(AssertNeq<N>)
Asserts first
and second
are not equal.
Call(Call<N>)
Calls a closure on the operands.
Cast(Cast<N>)
Casts the operands into the declared type.
CommitBHP256(CommitBHP256<N>)
Performs a BHP commitment on inputs of 256-bit chunks.
CommitBHP512(CommitBHP512<N>)
Performs a BHP commitment on inputs of 512-bit chunks.
CommitBHP768(CommitBHP768<N>)
Performs a BHP commitment on inputs of 768-bit chunks.
CommitBHP1024(CommitBHP1024<N>)
Performs a BHP commitment on inputs of 1024-bit chunks.
CommitPED64(CommitPED64<N>)
Performs a Pedersen commitment on up to a 64-bit input.
CommitPED128(CommitPED128<N>)
Performs a Pedersen commitment on up to a 128-bit input.
Div(BinaryLiteral<N, DivOperation<N>>)
Divides first
by second
, storing the outcome in destination
.
DivWrapped(BinaryLiteral<N, DivWrappedOperation<N>>)
Divides first
by second
, wrapping around at the boundary of the type, and storing the outcome in destination
.
Double(UnaryLiteral<N, DoubleOperation<N>>)
Doubles first
, storing the outcome in destination
.
GreaterThan(GreaterThan<N>)
Computes whether first
is greater than second
as a boolean, storing the outcome in destination
.
GreaterThanOrEqual(GreaterThanOrEqual<N>)
Computes whether first
is greater than or equal to second
as a boolean, storing the outcome in destination
.
HashBHP256(HashBHP256<N>)
Performs a BHP hash on inputs of 256-bit chunks.
HashBHP512(HashBHP512<N>)
Performs a BHP hash on inputs of 512-bit chunks.
HashBHP768(HashBHP768<N>)
Performs a BHP hash on inputs of 768-bit chunks.
HashBHP1024(HashBHP1024<N>)
Performs a BHP hash on inputs of 1024-bit chunks.
HashPED64(HashPED64<N>)
Performs a Pedersen hash on up to a 64-bit input.
HashPED128(HashPED128<N>)
Performs a Pedersen hash on up to a 128-bit input.
HashPSD2(HashPSD2<N>)
Performs a Poseidon hash with an input rate of 2.
HashPSD4(HashPSD4<N>)
Performs a Poseidon hash with an input rate of 4.
HashPSD8(HashPSD8<N>)
Performs a Poseidon hash with an input rate of 8.
Inv(Inv<N>)
Computes the multiplicative inverse of first
, storing the outcome in destination
.
IsEq(IsEq<N>)
Computes whether first
equals second
as a boolean, storing the outcome in destination
.
IsNeq(IsNeq<N>)
Computes whether first
does not equals second
as a boolean, storing the outcome in destination
.
LessThan(LessThan<N>)
Computes whether first
is less than second
as a boolean, storing the outcome in destination
.
LessThanOrEqual(LessThanOrEqual<N>)
Computes whether first
is less than or equal to second
as a boolean, storing the outcome in destination
.
Modulo(BinaryLiteral<N, ModuloOperation<N>>)
Computes first
mod second
, storing the outcome in destination
.
Mul(BinaryLiteral<N, MulOperation<N>>)
Multiplies first
with second
, storing the outcome in destination
.
MulWrapped(BinaryLiteral<N, MulWrappedOperation<N>>)
Multiplies first
with second
, wrapping around at the boundary of the type, and storing the outcome in destination
.
Nand(BinaryLiteral<N, NandOperation<N>>)
Returns false
if first
and second
are true, storing the outcome in destination
.
Neg(UnaryLiteral<N, NegOperation<N>>)
Negates first
, storing the outcome in destination
.
Nor(BinaryLiteral<N, NorOperation<N>>)
Returns true
if neither first
nor second
is true
, storing the outcome in destination
.
Not(UnaryLiteral<N, NotOperation<N>>)
Flips each bit in the representation of first
, storing the outcome in destination
.
Or(Or<N>)
Performs a bitwise or
on first
and second
, storing the outcome in destination
.
Pow(BinaryLiteral<N, PowOperation<N>>)
Raises first
to the power of second
, storing the outcome in destination
.
PowWrapped(BinaryLiteral<N, PowWrappedOperation<N>>)
Raises first
to the power of second
, wrapping around at the boundary of the type, storing the outcome in destination
.
Rem(BinaryLiteral<N, RemOperation<N>>)
Divides first
by second
, storing the remainder in destination
.
RemWrapped(BinaryLiteral<N, RemWrappedOperation<N>>)
Divides first
by second
, wrapping around at the boundary of the type, storing the remainder in destination
.
Shl(BinaryLiteral<N, ShlOperation<N>>)
Shifts first
left by second
bits, storing the outcome in destination
.
ShlWrapped(BinaryLiteral<N, ShlWrappedOperation<N>>)
Shifts first
left by second
bits, continuing past the boundary of the type, storing the outcome in destination
.
Shr(BinaryLiteral<N, ShrOperation<N>>)
Shifts first
right by second
bits, storing the outcome in destination
.
ShrWrapped(BinaryLiteral<N, ShrWrappedOperation<N>>)
Shifts first
right by second
bits, continuing past the boundary of the type, storing the outcome in destination
.
Square(UnaryLiteral<N, SquareOperation<N>>)
Squares ‘first’, storing the outcome in destination
.
SquareRoot(UnaryLiteral<N, SquareRootOperation<N>>)
Compute the square root of ‘first’, storing the outcome in destination
.
Sub(BinaryLiteral<N, SubOperation<N>>)
Computes first - second
, storing the outcome in destination
.
SubWrapped(BinaryLiteral<N, SubWrappedOperation<N>>)
Computes first - second
, wrapping around at the boundary of the type, and storing the outcome in destination
.
Ternary(TernaryLiteral<N, TernaryOperation<N>>)
Selects first
, if condition
is true, otherwise selects second
, storing the result in destination
.
Xor(Xor<N>)
Performs a bitwise xor
on first
and second
, storing the outcome in destination
.
Implementations
sourceimpl<N: Network> Instruction<N>
impl<N: Network> Instruction<N>
sourcepub fn destinations(&self) -> Vec<Register<N>>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
pub fn destinations(&self) -> Vec<Register<N>>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
Returns the destination register of the instruction.
sourcepub fn evaluate<A: Aleo<Network = N>>(
&self,
stack: &Stack<N>,
registers: &mut Registers<N, A>
) -> Result<()>
pub fn evaluate<A: Aleo<Network = N>>(
&self,
stack: &Stack<N>,
registers: &mut Registers<N, A>
) -> Result<()>
Evaluates the instruction.
sourcepub fn execute<A: Aleo<Network = N>>(
&self,
stack: &Stack<N>,
registers: &mut Registers<N, A>
) -> Result<()>
pub fn execute<A: Aleo<Network = N>>(
&self,
stack: &Stack<N>,
registers: &mut Registers<N, A>
) -> Result<()>
Executes the instruction.
sourcepub fn output_types(
&self,
stack: &Stack<N>,
input_types: &[RegisterType<N>]
) -> Result<Vec<RegisterType<N>>>
pub fn output_types(
&self,
stack: &Stack<N>,
input_types: &[RegisterType<N>]
) -> Result<Vec<RegisterType<N>>>
Returns the output type from the given input types.
Trait Implementations
sourceimpl<N: Clone + Network> Clone for Instruction<N>
impl<N: Clone + Network> Clone for Instruction<N>
sourcefn clone(&self) -> Instruction<N>
fn clone(&self) -> Instruction<N>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl<N: Network> Debug for Instruction<N>
impl<N: Network> Debug for Instruction<N>
sourceimpl<N: Network> Display for Instruction<N>
impl<N: Network> Display for Instruction<N>
sourceimpl<N: Network> From<AssertInstruction<N, { Variant::AssertEq as u8 }>> for Instruction<N>
impl<N: Network> From<AssertInstruction<N, { Variant::AssertEq as u8 }>> for Instruction<N>
sourceimpl<N: Network> From<AssertInstruction<N, { Variant::AssertNeq as u8 }>> for Instruction<N>
impl<N: Network> From<AssertInstruction<N, { Variant::AssertNeq as u8 }>> for Instruction<N>
sourceimpl<N: Network> From<Call<N>> for Instruction<N>
impl<N: Network> From<Call<N>> for Instruction<N>
sourceimpl<N: Network> From<Cast<N>> for Instruction<N>
impl<N: Network> From<Cast<N>> for Instruction<N>
sourceimpl<N: Network> From<CommitInstruction<N, { Committer::BHP1024 as u8 }>> for Instruction<N>
impl<N: Network> From<CommitInstruction<N, { Committer::BHP1024 as u8 }>> for Instruction<N>
sourcefn from(operation: CommitBHP1024<N>) -> Self
fn from(operation: CommitBHP1024<N>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<CommitInstruction<N, { Committer::BHP256 as u8 }>> for Instruction<N>
impl<N: Network> From<CommitInstruction<N, { Committer::BHP256 as u8 }>> for Instruction<N>
sourcefn from(operation: CommitBHP256<N>) -> Self
fn from(operation: CommitBHP256<N>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<CommitInstruction<N, { Committer::BHP512 as u8 }>> for Instruction<N>
impl<N: Network> From<CommitInstruction<N, { Committer::BHP512 as u8 }>> for Instruction<N>
sourcefn from(operation: CommitBHP512<N>) -> Self
fn from(operation: CommitBHP512<N>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<CommitInstruction<N, { Committer::BHP768 as u8 }>> for Instruction<N>
impl<N: Network> From<CommitInstruction<N, { Committer::BHP768 as u8 }>> for Instruction<N>
sourcefn from(operation: CommitBHP768<N>) -> Self
fn from(operation: CommitBHP768<N>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<CommitInstruction<N, { Committer::PED128 as u8 }>> for Instruction<N>
impl<N: Network> From<CommitInstruction<N, { Committer::PED128 as u8 }>> for Instruction<N>
sourcefn from(operation: CommitPED128<N>) -> Self
fn from(operation: CommitPED128<N>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<CommitInstruction<N, { Committer::PED64 as u8 }>> for Instruction<N>
impl<N: Network> From<CommitInstruction<N, { Committer::PED64 as u8 }>> for Instruction<N>
sourcefn from(operation: CommitPED64<N>) -> Self
fn from(operation: CommitPED64<N>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<HashInstruction<N, { Hasher::BHP1024 as u8 }>> for Instruction<N>
impl<N: Network> From<HashInstruction<N, { Hasher::BHP1024 as u8 }>> for Instruction<N>
sourcefn from(operation: HashBHP1024<N>) -> Self
fn from(operation: HashBHP1024<N>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<HashInstruction<N, { Hasher::BHP256 as u8 }>> for Instruction<N>
impl<N: Network> From<HashInstruction<N, { Hasher::BHP256 as u8 }>> for Instruction<N>
sourcefn from(operation: HashBHP256<N>) -> Self
fn from(operation: HashBHP256<N>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<HashInstruction<N, { Hasher::BHP512 as u8 }>> for Instruction<N>
impl<N: Network> From<HashInstruction<N, { Hasher::BHP512 as u8 }>> for Instruction<N>
sourcefn from(operation: HashBHP512<N>) -> Self
fn from(operation: HashBHP512<N>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<HashInstruction<N, { Hasher::BHP768 as u8 }>> for Instruction<N>
impl<N: Network> From<HashInstruction<N, { Hasher::BHP768 as u8 }>> for Instruction<N>
sourcefn from(operation: HashBHP768<N>) -> Self
fn from(operation: HashBHP768<N>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<HashInstruction<N, { Hasher::PED128 as u8 }>> for Instruction<N>
impl<N: Network> From<HashInstruction<N, { Hasher::PED128 as u8 }>> for Instruction<N>
sourcefn from(operation: HashPED128<N>) -> Self
fn from(operation: HashPED128<N>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<HashInstruction<N, { Hasher::PED64 as u8 }>> for Instruction<N>
impl<N: Network> From<HashInstruction<N, { Hasher::PED64 as u8 }>> for Instruction<N>
sourceimpl<N: Network> From<HashInstruction<N, { Hasher::PSD2 as u8 }>> for Instruction<N>
impl<N: Network> From<HashInstruction<N, { Hasher::PSD2 as u8 }>> for Instruction<N>
sourceimpl<N: Network> From<HashInstruction<N, { Hasher::PSD4 as u8 }>> for Instruction<N>
impl<N: Network> From<HashInstruction<N, { Hasher::PSD4 as u8 }>> for Instruction<N>
sourceimpl<N: Network> From<HashInstruction<N, { Hasher::PSD8 as u8 }>> for Instruction<N>
impl<N: Network> From<HashInstruction<N, { Hasher::PSD8 as u8 }>> for Instruction<N>
sourceimpl<N: Network> From<IsInstruction<N, { Variant::IsEq as u8 }>> for Instruction<N>
impl<N: Network> From<IsInstruction<N, { Variant::IsEq as u8 }>> for Instruction<N>
sourceimpl<N: Network> From<IsInstruction<N, { Variant::IsNeq as u8 }>> for Instruction<N>
impl<N: Network> From<IsInstruction<N, { Variant::IsNeq as u8 }>> for Instruction<N>
sourceimpl<N: Network> From<Literals<N, AbsOperation<N>, 1>> for Instruction<N>
impl<N: Network> From<Literals<N, AbsOperation<N>, 1>> for Instruction<N>
sourceimpl<N: Network> From<Literals<N, AbsWrappedOperation<N>, 1>> for Instruction<N>
impl<N: Network> From<Literals<N, AbsWrappedOperation<N>, 1>> for Instruction<N>
sourcefn from(operation: UnaryLiteral<N, AbsWrappedOperation<N>>) -> Self
fn from(operation: UnaryLiteral<N, AbsWrappedOperation<N>>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<Literals<N, AddOperation<N>, 2>> for Instruction<N>
impl<N: Network> From<Literals<N, AddOperation<N>, 2>> for Instruction<N>
sourcefn from(operation: BinaryLiteral<N, AddOperation<N>>) -> Self
fn from(operation: BinaryLiteral<N, AddOperation<N>>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<Literals<N, AddWrappedOperation<N>, 2>> for Instruction<N>
impl<N: Network> From<Literals<N, AddWrappedOperation<N>, 2>> for Instruction<N>
sourcefn from(operation: BinaryLiteral<N, AddWrappedOperation<N>>) -> Self
fn from(operation: BinaryLiteral<N, AddWrappedOperation<N>>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<Literals<N, AndOperation<N>, 2>> for Instruction<N>
impl<N: Network> From<Literals<N, AndOperation<N>, 2>> for Instruction<N>
sourceimpl<N: Network> From<Literals<N, DivOperation<N>, 2>> for Instruction<N>
impl<N: Network> From<Literals<N, DivOperation<N>, 2>> for Instruction<N>
sourcefn from(operation: BinaryLiteral<N, DivOperation<N>>) -> Self
fn from(operation: BinaryLiteral<N, DivOperation<N>>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<Literals<N, DivWrappedOperation<N>, 2>> for Instruction<N>
impl<N: Network> From<Literals<N, DivWrappedOperation<N>, 2>> for Instruction<N>
sourcefn from(operation: BinaryLiteral<N, DivWrappedOperation<N>>) -> Self
fn from(operation: BinaryLiteral<N, DivWrappedOperation<N>>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<Literals<N, DoubleOperation<N>, 1>> for Instruction<N>
impl<N: Network> From<Literals<N, DoubleOperation<N>, 1>> for Instruction<N>
sourcefn from(operation: UnaryLiteral<N, DoubleOperation<N>>) -> Self
fn from(operation: UnaryLiteral<N, DoubleOperation<N>>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<Literals<N, GreaterThanOperation<N>, 2>> for Instruction<N>
impl<N: Network> From<Literals<N, GreaterThanOperation<N>, 2>> for Instruction<N>
sourcefn from(operation: GreaterThan<N>) -> Self
fn from(operation: GreaterThan<N>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<Literals<N, GreaterThanOrEqualOperation<N>, 2>> for Instruction<N>
impl<N: Network> From<Literals<N, GreaterThanOrEqualOperation<N>, 2>> for Instruction<N>
sourcefn from(operation: GreaterThanOrEqual<N>) -> Self
fn from(operation: GreaterThanOrEqual<N>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<Literals<N, InvOperation<N>, 1>> for Instruction<N>
impl<N: Network> From<Literals<N, InvOperation<N>, 1>> for Instruction<N>
sourceimpl<N: Network> From<Literals<N, LessThanOperation<N>, 2>> for Instruction<N>
impl<N: Network> From<Literals<N, LessThanOperation<N>, 2>> for Instruction<N>
sourceimpl<N: Network> From<Literals<N, LessThanOrEqualOperation<N>, 2>> for Instruction<N>
impl<N: Network> From<Literals<N, LessThanOrEqualOperation<N>, 2>> for Instruction<N>
sourcefn from(operation: LessThanOrEqual<N>) -> Self
fn from(operation: LessThanOrEqual<N>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<Literals<N, ModuloOperation<N>, 2>> for Instruction<N>
impl<N: Network> From<Literals<N, ModuloOperation<N>, 2>> for Instruction<N>
sourcefn from(operation: BinaryLiteral<N, ModuloOperation<N>>) -> Self
fn from(operation: BinaryLiteral<N, ModuloOperation<N>>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<Literals<N, MulOperation<N>, 2>> for Instruction<N>
impl<N: Network> From<Literals<N, MulOperation<N>, 2>> for Instruction<N>
sourcefn from(operation: BinaryLiteral<N, MulOperation<N>>) -> Self
fn from(operation: BinaryLiteral<N, MulOperation<N>>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<Literals<N, MulWrappedOperation<N>, 2>> for Instruction<N>
impl<N: Network> From<Literals<N, MulWrappedOperation<N>, 2>> for Instruction<N>
sourcefn from(operation: BinaryLiteral<N, MulWrappedOperation<N>>) -> Self
fn from(operation: BinaryLiteral<N, MulWrappedOperation<N>>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<Literals<N, NandOperation<N>, 2>> for Instruction<N>
impl<N: Network> From<Literals<N, NandOperation<N>, 2>> for Instruction<N>
sourcefn from(operation: BinaryLiteral<N, NandOperation<N>>) -> Self
fn from(operation: BinaryLiteral<N, NandOperation<N>>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<Literals<N, NegOperation<N>, 1>> for Instruction<N>
impl<N: Network> From<Literals<N, NegOperation<N>, 1>> for Instruction<N>
sourcefn from(operation: UnaryLiteral<N, NegOperation<N>>) -> Self
fn from(operation: UnaryLiteral<N, NegOperation<N>>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<Literals<N, NorOperation<N>, 2>> for Instruction<N>
impl<N: Network> From<Literals<N, NorOperation<N>, 2>> for Instruction<N>
sourcefn from(operation: BinaryLiteral<N, NorOperation<N>>) -> Self
fn from(operation: BinaryLiteral<N, NorOperation<N>>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<Literals<N, NotOperation<N>, 1>> for Instruction<N>
impl<N: Network> From<Literals<N, NotOperation<N>, 1>> for Instruction<N>
sourcefn from(operation: UnaryLiteral<N, NotOperation<N>>) -> Self
fn from(operation: UnaryLiteral<N, NotOperation<N>>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<Literals<N, OrOperation<N>, 2>> for Instruction<N>
impl<N: Network> From<Literals<N, OrOperation<N>, 2>> for Instruction<N>
sourceimpl<N: Network> From<Literals<N, PowOperation<N>, 2>> for Instruction<N>
impl<N: Network> From<Literals<N, PowOperation<N>, 2>> for Instruction<N>
sourcefn from(operation: BinaryLiteral<N, PowOperation<N>>) -> Self
fn from(operation: BinaryLiteral<N, PowOperation<N>>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<Literals<N, PowWrappedOperation<N>, 2>> for Instruction<N>
impl<N: Network> From<Literals<N, PowWrappedOperation<N>, 2>> for Instruction<N>
sourcefn from(operation: BinaryLiteral<N, PowWrappedOperation<N>>) -> Self
fn from(operation: BinaryLiteral<N, PowWrappedOperation<N>>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<Literals<N, RemOperation<N>, 2>> for Instruction<N>
impl<N: Network> From<Literals<N, RemOperation<N>, 2>> for Instruction<N>
sourcefn from(operation: BinaryLiteral<N, RemOperation<N>>) -> Self
fn from(operation: BinaryLiteral<N, RemOperation<N>>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<Literals<N, RemWrappedOperation<N>, 2>> for Instruction<N>
impl<N: Network> From<Literals<N, RemWrappedOperation<N>, 2>> for Instruction<N>
sourcefn from(operation: BinaryLiteral<N, RemWrappedOperation<N>>) -> Self
fn from(operation: BinaryLiteral<N, RemWrappedOperation<N>>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<Literals<N, ShlOperation<N>, 2>> for Instruction<N>
impl<N: Network> From<Literals<N, ShlOperation<N>, 2>> for Instruction<N>
sourcefn from(operation: BinaryLiteral<N, ShlOperation<N>>) -> Self
fn from(operation: BinaryLiteral<N, ShlOperation<N>>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<Literals<N, ShlWrappedOperation<N>, 2>> for Instruction<N>
impl<N: Network> From<Literals<N, ShlWrappedOperation<N>, 2>> for Instruction<N>
sourcefn from(operation: BinaryLiteral<N, ShlWrappedOperation<N>>) -> Self
fn from(operation: BinaryLiteral<N, ShlWrappedOperation<N>>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<Literals<N, ShrOperation<N>, 2>> for Instruction<N>
impl<N: Network> From<Literals<N, ShrOperation<N>, 2>> for Instruction<N>
sourcefn from(operation: BinaryLiteral<N, ShrOperation<N>>) -> Self
fn from(operation: BinaryLiteral<N, ShrOperation<N>>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<Literals<N, ShrWrappedOperation<N>, 2>> for Instruction<N>
impl<N: Network> From<Literals<N, ShrWrappedOperation<N>, 2>> for Instruction<N>
sourcefn from(operation: BinaryLiteral<N, ShrWrappedOperation<N>>) -> Self
fn from(operation: BinaryLiteral<N, ShrWrappedOperation<N>>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<Literals<N, SquareOperation<N>, 1>> for Instruction<N>
impl<N: Network> From<Literals<N, SquareOperation<N>, 1>> for Instruction<N>
sourcefn from(operation: UnaryLiteral<N, SquareOperation<N>>) -> Self
fn from(operation: UnaryLiteral<N, SquareOperation<N>>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<Literals<N, SquareRootOperation<N>, 1>> for Instruction<N>
impl<N: Network> From<Literals<N, SquareRootOperation<N>, 1>> for Instruction<N>
sourcefn from(operation: UnaryLiteral<N, SquareRootOperation<N>>) -> Self
fn from(operation: UnaryLiteral<N, SquareRootOperation<N>>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<Literals<N, SubOperation<N>, 2>> for Instruction<N>
impl<N: Network> From<Literals<N, SubOperation<N>, 2>> for Instruction<N>
sourcefn from(operation: BinaryLiteral<N, SubOperation<N>>) -> Self
fn from(operation: BinaryLiteral<N, SubOperation<N>>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<Literals<N, SubWrappedOperation<N>, 2>> for Instruction<N>
impl<N: Network> From<Literals<N, SubWrappedOperation<N>, 2>> for Instruction<N>
sourcefn from(operation: BinaryLiteral<N, SubWrappedOperation<N>>) -> Self
fn from(operation: BinaryLiteral<N, SubWrappedOperation<N>>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<Literals<N, TernaryOperation<N>, 3>> for Instruction<N>
impl<N: Network> From<Literals<N, TernaryOperation<N>, 3>> for Instruction<N>
sourcefn from(operation: TernaryLiteral<N, TernaryOperation<N>>) -> Self
fn from(operation: TernaryLiteral<N, TernaryOperation<N>>) -> Self
Converts to this type from the input type.
sourceimpl<N: Network> From<Literals<N, XorOperation<N>, 2>> for Instruction<N>
impl<N: Network> From<Literals<N, XorOperation<N>, 2>> for Instruction<N>
sourceimpl<N: Network> FromBytes for Instruction<N>
impl<N: Network> FromBytes for Instruction<N>
sourceimpl<N: Network> FromStr for Instruction<N>
impl<N: Network> FromStr for Instruction<N>
sourceimpl<N: Hash + Network> Hash for Instruction<N>
impl<N: Hash + Network> Hash for Instruction<N>
sourceimpl<N: Network> Parser for Instruction<N>
impl<N: Network> Parser for Instruction<N>
sourceimpl<N: PartialEq + Network> PartialEq<Instruction<N>> for Instruction<N>
impl<N: PartialEq + Network> PartialEq<Instruction<N>> for Instruction<N>
sourcefn eq(&self, other: &Instruction<N>) -> bool
fn eq(&self, other: &Instruction<N>) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourceimpl<N: Network> ToBytes for Instruction<N>
impl<N: Network> ToBytes for Instruction<N>
impl<N: Eq + Network> Eq for Instruction<N>
impl<N: Network> StructuralEq for Instruction<N>
impl<N: Network> StructuralPartialEq for Instruction<N>
Auto Trait Implementations
impl<N> RefUnwindSafe for Instruction<N> where
N: RefUnwindSafe,
<N as Environment>::Field: RefUnwindSafe,
<N as Environment>::Projective: RefUnwindSafe,
<N as Environment>::Scalar: RefUnwindSafe,
impl<N> Send for Instruction<N>
impl<N> Sync for Instruction<N>
impl<N> Unpin for Instruction<N> where
N: Unpin,
<N as Environment>::Field: Unpin,
<N as Environment>::Projective: Unpin,
<N as Environment>::Scalar: Unpin,
impl<N> UnwindSafe for Instruction<N> where
N: UnwindSafe,
<N as Environment>::Field: UnwindSafe,
<N as Environment>::Projective: UnwindSafe,
<N as Environment>::Scalar: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<T> Pointable for T
impl<T> Pointable for T
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more