/vcl-meson

Vector class library

Primary LanguageC++Apache License 2.0Apache-2.0

Vector Class Library V2

This is a fork of the latest version of Vector Class Library that implements the meson build system.

This is a C++ class library for using the Single Instruction Multiple Data (SIMD) instructions to improve performance on modern microprocessors with the x86 or x86/64 instruction set on Windows, Linux, and Mac platforms. There are no plans to support ARM or other instruction sets.

Latest release

Download manual

Add-on packages for particular applications

Getting-started video. Video blogger Christopher Rose has made this nice video telling how to get started with the Vector Class Library.

Help: You may ask for programming help on StackOverflow using the tag vector-class-library.

How to use in your meson project

It can be used directly through a "wrap file", for example you can copy-paste the following in your subprojects/ folder, at the root of your meson project, as vcl.wrap:

[wrap-git]
url = https://github.com/AdelKS/vcl-meson.git
revision = master
depth = 1

[provide]
dependency_names = vcl

Note: Documentation about wrap files here

Then you can declare your dependency in your meson.build with

vcl_dep = dependency('vcl', version : '>=2.0')

The library's headers can then be included under the vcl prefix, for example:

#include <vcl/vectorclass.h>

Tests

The test subfolder is meant to contain tests that can also serve as examples. For now only one test has been added to demonstrate one way to handle tests without using an external testing library (e.g. Google test)

How to compile and run tests

You must first setup a build folder with

meson setup build

then you can simply cd into the folder and run meson test

cd build && meson test

How to add tests

  1. Write a complete test C++ code:
    • Must include the int main() function that returns a non-zero value when the test fails.
  2. Save it in a .cpp file in this folder, for example sin_cos_lookup.cpp.
  3. Add your file name to the vcl_test_sources array at the top of test/meson.build file.
  4. You are done!