C++ header library designed to bring the world of generic programming
EditByBSEditor: 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.
macstl provides these sets of classes:
* valarray — numeric arrays highly optimized for SIMD architectures like Altivec and MMX/SSE/SSE2/SSE3.
* vec — a portable, extensible SIMD toolkit with intuitive, fast functions; some of the trig functions can’t be beat so Far…
* mach — Allocator and partially specialized vector for fast OS-level Copy-on-write.
* core — adapting Core Foundation and Foundation classes for STL.
* com — interface pointer and a fast, lightweight server implementation for Microsoft COM and Apple CFPlugIns.
* mmapping — treating files as STL containers.
* macstlizer — scripts to convert Altivec C source code into macstl C++ source code, headers to map Altivec to SSE intrinsics.
# 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 -faltivec without -maltivec for Apple gcc 4.0.
# Added refarray class [PBa].
# Fixed buffer overflow in integral valarrays for SSE2; added optimizations for valarray expressions