ScaLAPACK 2.1  2.1
ScaLAPACK: Scalable Linear Algebra PACKage
pxsyevx.h
Go to the documentation of this file.
1 
2 
3 /*
4  * These macros define how C routines will be called. ADD_ assumes that
5  * they will be called by fortran, which expects C routines to have an
6  * underscore postfixed to the name (Suns, and the Intel expect this).
7  * NOCHANGE indicates that fortran will be calling, and that it expects
8  * the name called by fortran to be identical to that compiled by the C
9  * (RS6K's do this). UPCASE says it expects C routines called by fortran
10  * to be in all upcase (CRAY wants this).
11  */
12 
13 #define ADD_ 0
14 #define NOCHANGE 1
15 #define UPCASE 2
16 #define C_CALL 3
17 
18 #ifdef UpCase
19 #define F77_CALL_C UPCASE
20 #endif
21 
22 #ifdef NoChange
23 #define F77_CALL_C NOCHANGE
24 #endif
25 
26 #ifdef Add_
27 #define F77_CALL_C ADD_
28 #endif
29 
30 #ifndef F77_CALL_C
31 #define F77_CALL_C ADD_
32 #endif
33 
34 #if (F77_CALL_C == ADD_)
35 /*
36  * These defines set up the naming scheme required to have a fortran 77
37  * routine call a C routine
38  * No redefinition necessary to have following Fortran to C interface:
39  * FORTRAN CALL C DECLARATION
40  * call pdgemm(...) void pdgemm_(...)
41  *
42  * This is the default.
43  */
44 
45 #endif
46 
47 #if (F77_CALL_C == UPCASE)
48 /*
49  * These defines set up the naming scheme required to have a fortran 77
50  * routine call a C routine
51  * following Fortran to C interface:
52  * FORTRAN CALL C DECLARATION
53  * call pdgemm(...) void PDGEMM(...)
54  */
55  /* TOOLS */
56 #define pdlasnbt_ PDLASNBT
57 #define pdlachkieee_ PDLACHKIEEE
58 #define pdlaiectl_ PDLAIECTL
59 #define pdlaiectb_ PDLAIECTB
60 
61 #define pslasnbt_ PSLASNBT
62 #define pslachkieee_ PSLACHKIEEE
63 #define pslaiect_ PSLAIECT
64 
65 #endif
66 
67 #if (F77_CALL_C == NOCHANGE)
68 /*
69  * These defines set up the naming scheme required to have a fortran 77
70  * routine call a C routine
71  * for following Fortran to C interface:
72  * FORTRAN CALL C DECLARATION
73  * call pdgemm(...) void pdgemm(...)
74  */
75  /* TOOLS */
76 #define pdlasnbt_ pdlasnbt
77 #define pdlachkieee_ pdlachkieee
78 #define pdlaiectl_ pdlaiectl
79 #define pdlaiectb_ pdlaiectb
80 
81 #define pslasnbt_ pslasnbt
82 #define pslachkieee_ pslachkieee
83 #define pslaiect_ pslaiect
84 #endif