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