Projects / macstl


MacSTL is a C++ source library which offers an implementation of std::valarray which is optimized for the SIMD instructions on PowerPC and Pentium processors. It runs from 3.6 to 16.2 times faster than hand-coded scalar loops. It also wraps the SIMD data types in an object-oriented package, allowing programmers to use familiar infix notation (e.g. v0 = v1 + v2).

Operating Systems

Recent releases

  •  06 Sep 2005 16:31

    Release Notes: New features include the conj function, the refarray class, a Linux x86 makefile, support for Cygwin 1.5, new macstlizer conversions, v1 >> k and v1 << k optimizations for SSE2, differently typed valarray construct/assign, and valarrays & select of sized booleans. Fixes were made for class scope typedefs, missing PPC header, vector initializer for gcc 3.4, buffer overflow in integral valarrays for SSE2, array ccumulate, integer constant overflow, literal benchmark test for SSE2, and chunking pessimization for gcc 3.3/4. Slice performance, valarray codegen: CSE, inlining, literals, term elements, and statarrays were improved.

    •  28 Jun 2005 18:02

      Release Notes: This release adds support for Apple gcc 4.0 on Mac OS X 10.4, FSF gcc 3.4 on Yellow Dog Linux, and Xcode 2.1 Universal Binaries. It improves vec design and performance. It adds differently typed arguments, select, min, max, and rsqrt functions for vec and valarray. Codewarrior and gcc 3.3 bugs have been fixed. A macstlizer script and header have been added for Altivec to SSE transition. SSE2 integer shift and memory intrinsics have been added, as well as the vec <pixel, 8> class. Optimizations have been added for valarray expressions: v1 / sqrt (v2) and v1 / sqrt (v2) + v3.

      •  28 Mar 2005 04:15

        Release Notes: An error when linking more than 1 object file has been fixed; the template function should be inline. A mulhi function has been added for vec and valarray. The valarray expression template and iterator design have been improved.

        •  15 Feb 2005 00:24

          Release Notes: This release fixes the member and binary min and max for vec unsigned shorts, fixes an #include error related to projects, adds support for the Intel ICC 8.1, fixes truncation of signed constants in unsigned parameters, adds partial support for the IBM XLC 6.0, fixes header access paths and the missing functions malloc, free, vm_allocate, vm_copy, and vm_deallocate for Codewarrior, fixes an #include sys/mman.h error, and improves inlining for ICC.

          •  31 Jan 2005 18:10

            Release Notes: Portable SIMD classes were added for MMX/SSE support. High performance transcendental functions, complex number arithmetic, and integer division and modulus were added. Fused multiply-add optimization was added for valarrays. Adapters for Core Foundation classes for STL were added. Memory mapped containers were added. The COM server implementation was updated. Unit tests and benchmarks were updated and added. Supported IDEs now include Xcode 1.5 with gcc 3.3, Codewarrior 9.3, and Visual C++ .NET 2003.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.