Jackalope / simdcpp (public) (License: GPLv3 or later version) (since 2020-04-21) (hash sha1)
SIMD template library for C++.
Some wrapper types for simd intrisics headers.

Goals: make functions with SIMD optimizations easier,
write single template function for several SIMD levels
with possibility to select supported levels in runtime.

The library is incomplete, see TODO for details.

Compiled with clang-10.0.0, c++17.

To include to existing cmake project:

add_subdirectory(libs/simd)
target_include_directories(EXAMPLE PUBLIC ${SIMD_INCLUDE_DIRS})
target_link_libraries(EXAMPLE SIMD)
List of commits:
Subject Hash Author Date (UTC)
changed include directory and cmake variables from simd to simdcpp 4b5f4d1c1dd6f0b73239b162ef90210dd0d162a3 Jackalope 2020-04-21 23:02:50
README library info 512c9def06c358c2ec64adadbfa47bce720555e4 Jackalope 2020-04-21 22:56:06
initial commit ddc2bf543cb03cd5248a0949dfa0cbd90df04202 Jackalope 2020-04-21 22:07:23
Commit 4b5f4d1c1dd6f0b73239b162ef90210dd0d162a3 - changed include directory and cmake variables from simd to simdcpp
Author: Jackalope
Author date (UTC): 2020-04-21 23:02
Committer name: Jackalope
Committer date (UTC): 2020-04-21 23:02
Parent(s): 512c9def06c358c2ec64adadbfa47bce720555e4
Signing key:
Tree: c3c46afe371fcccf16c80831028025002bbd3ec8
File Lines added Lines deleted
CMakeLists.txt 2 2
include/simdcpp/def.h 0 0
include/simdcpp/simd.h 0 0
include/simdcpp/simd_avx2.inl 0 0
include/simdcpp/simd_no.inl 0 0
include/simdcpp/simd_sse4.2.inl 0 0
src/simd.cpp 1 1
File CMakeLists.txt changed (mode: 100644) (index b96f6bd..6def166)
1 1 cmake_minimum_required(VERSION 3.5) cmake_minimum_required(VERSION 3.5)
2 set(SIMD_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include PARENT_SCOPE)
3 add_library(SIMD STATIC
2 set(SIMDCPP_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include PARENT_SCOPE)
3 add_library(SIMDCPP STATIC
4 4 src/simd.cpp src/simd.cpp
5 5 ) )
File include/simdcpp/def.h renamed from include/simd/def.h (similarity 100%)
File include/simdcpp/simd.h renamed from include/simd/simd.h (similarity 100%)
File include/simdcpp/simd_avx2.inl renamed from include/simd/simd_avx2.inl (similarity 100%)
File include/simdcpp/simd_no.inl renamed from include/simd/simd_no.inl (similarity 100%)
File include/simdcpp/simd_sse4.2.inl renamed from include/simd/simd_sse4.2.inl (similarity 100%)
File src/simd.cpp changed (mode: 100644) (index 83bfccd..129145d)
15 15 * You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
16 16 * along with this library. If not, see <https://www.gnu.org/licenses/> * along with this library. If not, see <https://www.gnu.org/licenses/>
17 17 */ */
18 #include "../include/simd/def.h"
18 #include "../include/simdcpp/def.h"
19 19
20 20 #ifdef _WIN32 #ifdef _WIN32
21 21 #include <intrin.h> #include <intrin.h>
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/Jackalope/simdcpp

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/Jackalope/simdcpp

Clone this repository using git:
git clone git://git.rocketgit.com/user/Jackalope/simdcpp

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main