Skip to content

BitMagic release v7.4.0

Compare
Choose a tag to compare
@tlk00 tlk00 released this 03 Jul 19:12
  1. Continued effort to provide better version for WebAssembly, first WASM SIMD build is available using:
    #define BMWASMSIMDOPT (or define via makefile).

emcc command like may look like:
emcc -std=c++11 -s ALLOW_MEMORY_GROWTH=1 -O2 -msse4.2 -msimd128 -D BMWASMSIMDOPT -s WASM=1 -s DISABLE_EXCEPTION_CATCHING=0 -fno-rtti

Please note that WebAssembly SIMD is implemented as cross-compilation tweak for SSE4.2 (thus needs -msse4.4 flag).

WebAssembly SIMD is still an experimental feature for all browsers but Google Chrome.
Initial performance observations sometimes show faster than native(without SIMD) speed for optimized algorithms.

  1. Implemented 3-valued logic operations (INVERT, AND, OR) following the Kleene truth tables.
    https://en.wikipedia.org/wiki/Three-valued_logic

Usage example:
https://github.com/tlk00/BitMagic/tree/master/samples/bv3vlogic

  1. Fixed bugs in parallel algorithms (race condition).