- Feauter -
Abit.Atomics
implementsserialize/1
anddeserialize/1
functions.
- Fix - compile warning about using
^^^/2
inAbit.Counter
- Fix - work with elixir 1.7 by not using Kernel.floor/1 & Kernel.ceil/1
- BREAKING - removed
Abit.Matrix
module. Extracted to matrax.
- Feature -
Abit.Counter
implementsEnumerable
protocol
- Feature -
Abit.Matrix
implementsadd/3
,exchange/3
,compare_exchange/4
,min/1
,max/1
, ... functions. - Feature -
Abit.Matrix
implements theEnumerable
protocol - Feature -
Abit.Bitmask
implementsto_list/2
function. - Feature -
Abit
implementsto_list/1
function.
- Feature -
Abit.Matrix
module for working with atomics as an M x N matrix.
- Performance - improvements for the
Abit
&Abit.Bitmask
module functions
- BREAKING - renamed function
set_bit/3
toset_bit_at/3
to make it consistent with the API of the Bitmask module.
- BREAKING - Added an option
wrap_around
to set wrap around behavior. By default wrap around is disabled from now on. - BREAKING - Using built-in signed/unsigned implementation of integer matching instead of the custom one. Signed integers now wrap around the same way as in Elixir.
- BREAKING - The return value of
put/3
andadd/3
changed to{:ok, {index, final_value}}
or{:error, :value_out_of_bounds}
if the optionwrap_around
is set to false and value is out of bounds.