macstl is a C++ source library designed to bring the Mac and SIMD into the world of modern generic programming.
macstl offers a new implementation of std::valarray optimized for SIMD on PowerPCs and Pentiums. It runs 3.6x to 16.2x faster than hand-coded scalar loops. A portable SIMD vec class lets you work with low-level SIMD instructions equivalently cross-platform.
The Mach copy-on-write vector is a partial specialization of std::vector for the Mach allocator. It neatly uses the OS vm_copy facility to "get around" thread safety issues when doing copy-on-write and reference counting. As a result, std::vector can be copied, more...
- Fixed class scope vector typedefs, missing PowerPC intrinsics header, vector initializer syntax for FSF 3.4 [ILi*].
- Added complex conj function for vec and valarray [ILi*].
- Improved valarray expression performance: v1 [slice].
- Improved valarray code generation: CSE, inlining limits, literal terms, array term elements, statarray construction, compiling more...
- Mac OS X 10.3 or later (Xcode 1.5 + gcc 3.3, Xcode 2.1 + gcc 4.0, Codewarrior 9.3 or XLC++ 6.0);Windows 2000, XP or 2003 Server or later (Visual C++ .NET 2003 or Intel ICC 8.1); Linux PPC or x86, Cygwin 1.5 (FSF gcc 3.4 or later)