evm v0.1.14 EVM.Operation.ComparisonAndBitwiseLogic
Link to this section Summary
Functions
Bitwise AND operation
Retrieve single byte from word
Equality comparision
Greater-than comparision
Simple not operator
Less-than comparision
Bitwise NOT operation.
Examples
Bitwise OR operation
Signed greater-than comparision
Signed less-than comparision
Bitwise XOR operation
Link to this section Functions
Link to this function
and_(list, vm_map)
and_(Operation.stack_args, Operation.vm_map) :: Operation.Operation.op_result
Bitwise AND operation.
Examples
iex> EVM.Operation.ComparisonAndBitwiseLogic.and_([1, 1], %{})
1
iex> EVM.Operation.ComparisonAndBitwiseLogic.and_([1, 0], %{})
0
Link to this function
byte(list, vm_map)
byte(Operation.stack_args, Operation.vm_map) :: Operation.op_result
Retrieve single byte from word.
Examples
iex> EVM.Operation.ComparisonAndBitwiseLogic.byte([31, 1], %{})
1
Link to this function
eq(list, _)
eq(Operation.stack_args, Operation.vm_map) :: Operation.Operation.op_result
Equality comparision.
Examples
iex> EVM.Operation.ComparisonAndBitwiseLogic.eq([55, 1], %{})
0
iex> EVM.Operation.ComparisonAndBitwiseLogic.eq([55, 55], %{})
1
iex> EVM.Operation.ComparisonAndBitwiseLogic.eq([0, 0], %{})
1
Link to this function
gt(list, _)
gt(Operation.stack_args, Operation.vm_map) :: Operation.Operation.op_result
Greater-than comparision.
Examples
iex> EVM.Operation.ComparisonAndBitwiseLogic.gt([55, 66], %{})
0
iex> EVM.Operation.ComparisonAndBitwiseLogic.gt([66, 55], %{})
1
iex> EVM.Operation.ComparisonAndBitwiseLogic.gt([55, 55], %{})
0
Link to this function
iszero(list, vm_map)
iszero(Operation.stack_args, Operation.vm_map) :: Operation.Operation.op_result
Simple not operator.
Examples
iex> EVM.Operation.ComparisonAndBitwiseLogic.iszero([0], %{})
1
iex> EVM.Operation.ComparisonAndBitwiseLogic.iszero([1], %{})
0
Link to this function
lt(list, _)
lt(Operation.stack_args, Operation.vm_map) :: Operation.Operation.op_result
Less-than comparision.
Examples
iex> EVM.Operation.ComparisonAndBitwiseLogic.lt([55, 66], %{})
1
iex> EVM.Operation.ComparisonAndBitwiseLogic.lt([66, 55], %{})
0
iex> EVM.Operation.ComparisonAndBitwiseLogic.lt([55, 55], %{})
0
Link to this function
not_(list, _)
not_(Operation.stack_args, Operation.vm_map) :: Operation.Operation.op_result
Bitwise NOT operation.
Examples
iex> EVM.Operation.ComparisonAndBitwiseLogic.not_([1], %{})
-2
Link to this function
or_(list, vm_map)
or_(Operation.stack_args, Operation.vm_map) :: Operation.Operation.op_result
Bitwise OR operation.
Examples
iex> EVM.Operation.ComparisonAndBitwiseLogic.or_([1, 1], %{})
1
iex> EVM.Operation.ComparisonAndBitwiseLogic.or_([1, 0], %{})
1
iex> EVM.Operation.ComparisonAndBitwiseLogic.or_([0, 0], %{})
0
Link to this function
sgt(list, _)
sgt(Operation.stack_args, Operation.vm_map) :: Operation.Operation.op_result
Signed greater-than comparision
Examples
iex> EVM.Operation.ComparisonAndBitwiseLogic.sgt([EVM.Helpers.encode_signed(-55), 55], %{})
0
iex> EVM.Operation.ComparisonAndBitwiseLogic.sgt([66, EVM.Helpers.encode_signed(-55)], %{})
1
iex> EVM.Operation.ComparisonAndBitwiseLogic.sgt([55, 55], %{})
0
Link to this function
slt(list, _)
slt(Operation.stack_args, Operation.vm_map) :: Operation.Operation.op_result
Signed less-than comparision.
Examples
iex> EVM.Operation.ComparisonAndBitwiseLogic.slt([EVM.Helpers.encode_signed(-55), 55], %{})
1
iex> EVM.Operation.ComparisonAndBitwiseLogic.slt([66, EVM.Helpers.encode_signed(-55)], %{})
0
iex> EVM.Operation.ComparisonAndBitwiseLogic.slt([55, 55], %{})
0
Link to this function
xor_(list, vm_map)
xor_(Operation.stack_args, Operation.vm_map) :: Operation.Operation.op_result
Bitwise XOR operation.
Examples
iex> EVM.Operation.ComparisonAndBitwiseLogic.xor_([1, 1], %{})
0
iex> EVM.Operation.ComparisonAndBitwiseLogic.or_([1, 0], %{})
1