The C++ header library designed to bring the world of generic programming to the Macintosh, and deliver the surprising speed of SIMD in an intuitive cross-platform package. For example, a simple loop calculating a trigonometric function over an array can be speeded up 450 times.
Whats new in 0.3.1? Support for Linux x86 and Cygwin. New complex conj function. New refarray class. v1 >> k and v1 << k optimization on SSE2. Much, much more!
Whats new in 0.3? Support for Mac OS X Tiger and Yellow Dog Linux. New select, min, max and rsqrt functions. Scripts to ease the Altivec to SSE transition. Much, much more!
Whats new in 0.2.2? Multiply high implementation and redesign of expression templates and iterators.
Generic programming is the art some say, the black art of making software components super-reusable and yet ultra-efficient. Our tool is the C++ template, and our result is code nearly as fast as hand-coded machine language.
macstl was inspired by the premier generic library, the Standard Template Library (now part of the C++ Standard Library), but with a distinct Macintosh flavor. Many components let you use low-level Mac OS X functionality like SIMD acceleration and memory copy-on-write easily and intuitively.
Although macstl started on the Mac, it now has a cross-platform look. Over 14,000 source lines of code compile cleanly on different C++ compilers. The SIMD classes work seamlessly on PowerPCs running Mac OS X and Pentiums running Windows XP.
macstl provides these sets of classes: