Skip to content

Version 0.1

Latest
Compare
Choose a tag to compare
@andrelrt andrelrt released this 27 Oct 13:25
· 15 commits to master since this release

The first production version of the litesimd library.

The following functions are implemented to AVX2 and SSE4.2:

  • Algorithm functions
    • iota
    • min, max
    • for_each, for_each_backward
    • for_each_index, for_each_index_backward
  • Arithmetic operations
    • add, mulhi, mullo, sub
  • Bitwise operations
    • bit_and, bit_not, bit_or, bit_xor
  • Comparison operations
    • equal_to, equal_to_bitmask, equal_to_first_index, equal_to_last_index
    • greater, greater_bitmask, greater_first_index, greater_last_index
    • bitmask_first_index, bitmask_last_index
    • mask_to_bitmask
  • Helper classes and compatibility
    • vector, string, ostream operator<<
  • Intravector operations
    • horizontal
  • Register manipulation
    • blend
    • get, set
    • high_insert, low_insert
  • SIMD type
    • simd_type

And the following samples:

  • binary_search: Benchmark lower_bound implementations
  • boyer_moore_horspool: Substring search using SIMD (WIP: still slower than boost, but faster than std::string::find)
  • bubble_sort: Classic bubble sort in SIMD style
  • greater: Simple greater than sample (the same of readme)
  • nway_tree: Another approach for same lower_bound search, using trees
  • to_lower: ASCII to_lower benchmark