RSVL - A Vectorization Library For C++

Note: This is a work in progress and currently only supports intel SSE and floating-point SSE instructions and is currently only available for C++.

Download

C++

RSVL For C++

About

RSVL is a vectorization library, meaning that is a library written specifically in order to allow programmers to perform operations on multiple variables at the same time.

Overview

You can basically treat the classes in this library like their non-SIMD counterparts in C++ WITH ONE EXCEPTION: You MUST CALL update() BEFORE ACCESSING THE DATA IN THE FLOAT ARRAY. Failure to do this will result in your code seeming like it does nothing.

Sample code:

Output: 2.3

If you have questions, concerns, or want features to be added (note that I have just recently started working on this), send me an e-mail at programcodedotnet@gmail.com.

Changelog

Version 1.0.0.1

This is the first version of rsvl. This version of rsvl only supports intel SSE and floating-point SIMD operations. This version of the library consists primarily of three classes: float2, float3, and float4, each of which overload all math-related operators (+, -, *, /, %, |, ^, ~, !, etc.) This version of the library does not contain many math and non-hardware-accelerated functions (however, it does contain mod, negate, abs, and nabs).