This is a list of notable changes to libdivide.
1.0 - 2018-01-21
- BREAKING
- ENHANCEMENT
- Add proper error handling (#38)
- Add C++ support for
/=
operator - Speedup 64-bit divisor recovery by up to 30%
- Simplify C++ templates
- Add include guards to
libdivide.h
! - Get rid of
goto
inlibdivide_128_div_64_to_64()
- Use
#if defined(MACRO)
instead of#if MACRO
- Silence compiler warnings from crash functions
- TESTING
- Tests should
exit(1)
on error, required bymake test
- Silence unused parameter warnings
- Silence GCC 7.2.0 maybe uninitialized warnings
- Silence unused return value warning
- Tests should
- BUILD
- Port build system from
make
toCMake
- Automatically detect if the CPU and compiler support SSE2
- Automatically enable C++11
- Port build system from
- DOCS
- Update build instructions in
README.md
- Update benchmark section with branchfree divider
- Add C example section
- Add C++ example section
- Add "Branchfull vs branchfree" section
- Add section about unswitching
- New
CHANGELOG.md
file
- Update build instructions in