IBM Books

Engineering and Scientific Subroutine Library for AIX Version 3 Release 3: Guide and Reference


|C++ Program Procedures

| | | | |

|The ESSL header file essl.h, used for C and C++ programs, |is installed in the /usr/include |directory. When using ESSL, the compiler option |-qnocinc=/usr/include/essl must be specified.

|If you are using the IBM Open Class Complex Mathematics Library, you |automatically use the definition of short-precision complex data provided in |the ESSL header file. If you prefer to specify your own definition for |short-precision complex data, add -D_CMPLX to your commands |(as shown in the table below). Otherwise, ESSL will use the IBM Open Class Complex |Mathematics Library or the Standard Numerics Library, as described in Selecting the <complex> or <complex.h> Header File.

|If you prefer to explicitly specify that you want to use the Standard |Numerics Library facilities for complex arithmetic, add |-D_ESV_COMPLEX_ to your command as shown in the table |below.

|The ESSL header file supports two alternatives for declaring scalar |output arguments. By default, the arguments are declared to be type |reference. If you prefer for them to be declared as pointers, add |-D_ESVCPTR to your commands as shown in the table |below.

|When linking and running your program, you must modify your existing |job procedures for ESSL, to set up the necessary libraries.

|If you are accessing ESSL from a C++ program, you can compile and |link using the commands shown in the table below.
|

ESSL Library Name Command
SMP 32-bit
xlC_r  -O  xyz.C  -lesslsmp -qnocinc=/usr/include/essl
 
xlC_r  -O  -D_CMPLX  xyz.C  -lesslsmp -qnocinc=/usr/include/essl
 
xlC_r  -O  -D_ESV_COMPLEX_  xyz.C  -lesslsmp -qnocinc=/usr/include/essl
 
xlC_r  -O  -D_ESVCPTR  xyz.C  -lesslsmp -qnocinc=/usr/include/essl
64-bit
xlC_r  -O  -q64 xyz.C  -lesslsmp -qnocinc=/usr/include/essl
 
xlC_r  -O  -D_CMPLX  -q64 xyz.C  -lesslsmp -qnocinc=/usr/include/essl
 
xlC_r  -O  -D_ESV_COMPLEX_  -q64 xyz.C  -lesslsmp -qnocinc=/usr/include/essl
 
xlC_r  -O  -D_ESVCPTR  -q64 xyz.C  -lesslsmp -qnocinc=/usr/include/essl
Serial 32-bit
xlC_r  -O  xyz.C  -lessl -qnocinc=/usr/include/essl
 
xlC_r  -O  -D_CMPLX  xyz.C  -lessl -qnocinc=/usr/include/essl
 
xlC_r  -O  -D_ESV_COMPLEX_  xyz.C  -lessl -qnocinc=/usr/include/essl
 
xlC_r  -O  -D_ESVCPTR  xyz.C  -lessl -qnocinc=/usr/include/essl
64-bit
xlC_r  -O  -q64 xyz.C  -lessl -qnocinc=/usr/include/essl
 
xlC_r  -O  -D_CMPLX  -q64 xyz.C  -lessl -qnocinc=/usr/include/essl
 
xlC_r  -O  -D_ESV_COMPLEX_  -q64 xyz.C  -lessl -qnocinc=/usr/include/essl
 
xlC_r  -O  -D_ESVCPTR  -q64 xyz.C  -lessl -qnocinc=/usr/include/essl
Serial 32-bit
xlC  -O  xyz.C  -lessl -qnocinc=/usr/include/essl
 
xlC  -O  -D_CMPLX  xyz.C  -lessl -qnocinc=/usr/include/essl
 
xlC  -O  -D_ESV_COMPLEX_  xyz.C  -lessl -qnocinc=/usr/include/essl
 
xlC  -O  -D_ESVCPTR  xyz.C  -lessl -qnocinc=/usr/include/essl
64-bit
xlC  -O  -q64 xyz.C  -lessl -qnocinc=/usr/include/essl
 
xlC  -O  -D_CMPLX  -q64 xyz.C  -lessl -qnocinc=/usr/include/essl
 
xlC  -O  -D_ESV_COMPLEX_  -q64 xyz.C  -lessl -qnocinc=/usr/include/essl
 
xlC  -O  -D_ESVCPTR  -q64 xyz.C  -lessl -qnocinc=/usr/include/essl


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]