BitMagic release v7.4.0
- 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.
- 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
- Fixed bugs in parallel algorithms (race condition).