Allocator and vector arithmetic functions for C++ code using raw arrays
3155878fa6e6 — Chris Cannam sleef tip 7 months ago
Wedge in some more SLEEF functions - this is most inelegantly done
759bf59be452 — Chris Cannam 7 months ago
I am doubtful about the SLEEF allocators
23ac0b35b085 — Chris Cannam 7 months ago
Tidy, and remove the very approximate atan2f


browse log




A small library for vector management and arithmetic in C++ using raw C pointer arrays, designed for simple audio buffer-shuffling. Also includes aligned malloc wrappers and a lock-free ring buffer.

The code can call out to vector arithmetic helpers (IPP, vDSP) in some places, and has loops written with an eye to auto-vectorising compilers, but mostly this is a convenience library rather than for performance -- it initially exists to give a fairly consistent API to useful functions over audio buffer arrays.

This code originated as part of the Rubber Band Library written by the same authors (see It has been pulled out into a separate library and relicensed under a more permissive licence.

Generally expected to be vendored in to local project builds rather than being installed as a system library.

C++ standard required: C++98 (does not use C++11 or newer features)

Build status

Copyright 2007-2022 Particular Programs Ltd. See the file COPYING for (BSD/MIT-style) licence terms.