# # Spu eXtended Math library -- Diane Neisius (DNE) 3/2010 # AUTHOR: Diane Neisius LICENSE: License is GPL v2.0. INSTALLATION: unpack sources, cd to libsxm and type "make" followed by "make install". Make generates also a small unit test which may be invoked by ./test and performs some elementary test calculations. ABOUT: Libsxm is a project I started when I went to Cell SPU assembler programming. SPU assembler has a lot commands but not all one could wish; as a consequence, the missing stuff has to be done as library subroutines or macros. Of course such libraries already exist. IBM provides much of them such as SIMD, MASSV etc etc. These have only one BIG disadvantage: they're not free. License is free of charge for non- commercial use; however, you have to give away tons of personal info when creating the download account at IBM's website. I do not favour to do so. So I started my libsxm project. SXM reads "Spu eXtended Math" and implements functions like unsigned division, 64-bit multiply, mod-power etc. Also, a float reciprocal function is available. My needs are for assembler projects but I kept things compatible to the Linux C ABI so the functions may be used from ordinary SPU C programs; to do, just #include and invoke spu-gcc with -lsxm. The function calls work the same way as the stuff in the spu_intrinsics library (vector component-wise ops). I will update the lib as my personal needs are for more functions of this kind. Update will always be compatible to older versions. Have fun! ~Diane.