Bitwise

Introduction #

This module provides macros and operators for bitwise operators. These macros can be used in guards.

The easiest way to use is to simply import them into your module:

iex> use Bitwise
iex> bnot 1
-2
iex> 1 &&& 1
1

You can select to include only or skip operators by passing options:

iex> use Bitwise, only_operators: true
iex> 1 &&& 1
1
Source

Macros #

left &&& right

Bitwise and as operator.

left <<< right

Arithmetic bitshift left as operator.

left >>> right

Arithmetic bitshift right as operator.

left ^^^ right

Bitwise xor as operator.

__using__(options)

Allow a developer to use this module in their programs with the following options:

  • :only_operators - include only operators
  • :skip_operators - skip operators

band(left, right)

Bitwise and.

bnot(expr)

Bitwise not.

bor(left, right)

Bitwise or.

bsl(left, right)

Arithmetic bitshift left.

bsr(left, right)

Arithmetic bitshift right.

bxor(left, right)

Bitwise xor.

left ||| right

Bitwise or as operator.

~~~expr

Bitwise not as operator.