Note: 000, 001, ..., 111 are associated with the following three conditions: bit 2 [msb]: 0 = call by value (except for the pointer to the status flags, passed by reference unless global) 1 = call by reference; bit 1 : 0 = rounding mode passed as a parameter 1 = rounding mode passed in global variable _IDEC_glbround (fixed name) bit 0 [lsb]: 0 = pointer to status flags passed as a parameter 1 = status flags passed in global variable _IDEC_glbflags (fixed name) Example (one of eight possible, for Linux only; similar for other OS-es): Build libbid.a in ../LIBRARY with '...CALL_BY_REF=0 GLOBAL_RND=0 GLOBAL_FLAGS=0' $ cp main.c_000 main.c $ cp decimal.h_000 decimal.h $ icc main.c ../LIBRARY/libbid.a $ ./a.out Begin Decimal Floating-Point Sanity Check TEST CASE 1 FOR bid128_mul 000 () PASSED TEST CASE 2 FOR bid128_mul 000 () PASSED TEST CASE 3 FOR bid128_mul 000 () PASSED End Decimal Floating-Point Sanity Check $ rm main.c decimal.h a.out Note: The scripts and makefiles provided here may need adjustments, depending on the environment in which they are used; for example if moving files from Windows to Linux, running dos2unix on the Linux script files may be necessary. Note: For some other operating systems and architecture combinations see the following command files, as well as any command files invoked from these ones: RUNLINUX RUNWINDOWS.bat RUNWINDOWSINTEL64.bat (for IA-64 Architecture) RUNOSX RUNOSXINTEL64 (for IA-64 Architecture) RUNSOLARIS RUNHPUX32 (for HP-UX* on IA-64 Architecture, 32-bit data mode) RUNHPUX64 (for HP-UX* on IA-64 Architecture, 64-bit data mode) These command files build and run all eight examples from this directory, possibly using more than one compiler. Changes may be needed for certain environments. However, prior to building these examples the similar RUN* command has to be executed in ../LIBRARY/ in order to build all the necessary versions of the Intel(R) Decimal Floating-Point Math Library V2.2 (Version 2, Update 2). The tests [when built correctly] pass if the word FAIL does not appear in the output. If the MS compiler earlier than VS2005 is used, the following line call windowsbuild.bat should be replaced with the following line in RUNWINDOWSINTEL64.bat call windowsbuild.bat bufferoverflowU.lib * Other names and brands may be claimed as the property of others.