TBCI Numerical high perf. C++ Library
2.8.0
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
home
abuild
rpmbuild
BUILD
numerix-2.0
lina
interface
lapack
f2c.h
Go to the documentation of this file.
1
5
/* $Id: f2c.h,v 1.2.2.6 2019/05/28 11:13:02 garloff Exp $ */
6
12
#ifndef F2C_INCLUDE
13
#define F2C_INCLUDE
14
15
#ifdef HAVE_TBCICONFIG_H
16
# include "tbci/tbciconfig.h"
17
#else
18
# include "tbci/config_manual.h"
19
/* # if defined(__GNUC__)
20
* # define HAVE_LONG_LONG
21
* # endif
22
*/
23
#endif
24
25
/* F2C_INTEGER will normally be `int' but would be `long' on 16-bit systems */
26
/* we assume short, float are OK */
27
typedef
int
/* long int */
integer
;
28
typedef
unsigned
int
/* long */
uinteger
;
29
typedef
char
*
address
;
30
typedef
short
int
shortint
;
31
typedef
float
real
;
32
typedef
double
doublereal
;
33
typedef
struct
{
real
r
,
i
; }
complex
;
34
typedef
struct
{
doublereal
r
,
i
; }
doublecomplex
;
35
typedef
int
/* long int */
logical
;
36
typedef
short
int
shortlogical
;
37
typedef
char
logical1
;
38
typedef
char
integer1
;
39
#ifdef HAVE_LONG_LONG
/* system-dependent */
40
typedef
long
long
int
longint
;
41
typedef
unsigned
long
long
int
ulongint
;
42
#else
43
typedef
long
int
longint
;
44
typedef
unsigned
long
int
ulongint
;
45
#endif
46
#define qbit_clear(a,b) ((a) & ~((ulongint)1 << (b)))
47
#define qbit_set(a,b) ((a) | ((ulongint)1 << (b)))
48
49
#define TRUE_ (1)
50
#define FALSE_ (0)
51
52
/* Extern is for use with -E */
53
#ifndef Extern
54
#define Extern extern
55
#endif
56
57
/* I/O stuff */
58
59
#ifdef f2c_i2
60
#error "f2c_i2 will not work with g77!!!!"
61
/* for -i2 */
62
typedef
short
flag
;
63
typedef
short
ftnlen
;
64
typedef
short
ftnint
;
65
#else
66
typedef
long
int
/* long int */
flag
;
67
typedef
long
int
/* long int */
ftnlen
;
68
typedef
long
int
/* long int */
ftnint
;
69
#endif
70
71
/*external read, write*/
72
typedef
struct
73
{
flag
cierr
;
74
ftnint
ciunit
;
75
flag
ciend
;
76
char
*
cifmt
;
77
ftnint
cirec
;
78
}
cilist
;
79
80
/*internal read, write*/
81
typedef
struct
82
{
flag
icierr
;
83
char
*
iciunit
;
84
flag
iciend
;
85
char
*
icifmt
;
86
ftnint
icirlen
;
87
ftnint
icirnum
;
88
}
icilist
;
89
90
/*open*/
91
typedef
struct
92
{
flag
oerr
;
93
ftnint
ounit
;
94
char
*
ofnm
;
95
ftnlen
ofnmlen
;
96
char
*
osta
;
97
char
*
oacc
;
98
char
*
ofm
;
99
ftnint
orl
;
100
char
*
oblnk
;
101
}
olist
;
102
103
/*close*/
104
typedef
struct
105
{
flag
cerr
;
106
ftnint
cunit
;
107
char
*
csta
;
108
}
cllist
;
109
110
/*rewind, backspace, endfile*/
111
typedef
struct
112
{
flag
aerr
;
113
ftnint
aunit
;
114
}
alist
;
115
116
/* inquire */
117
typedef
struct
118
{
flag
inerr
;
119
ftnint
inunit
;
120
char
*
infile
;
121
ftnlen
infilen
;
122
ftnint
*
inex
;
/*parameters in standard's order*/
123
ftnint
*
inopen
;
124
ftnint
*
innum
;
125
ftnint
*
innamed
;
126
char
*
inname
;
127
ftnlen
innamlen
;
128
char
*
inacc
;
129
ftnlen
inacclen
;
130
char
*
inseq
;
131
ftnlen
inseqlen
;
132
char
*
indir
;
133
ftnlen
indirlen
;
134
char
*
infmt
;
135
ftnlen
infmtlen
;
136
char
*
inform
;
137
ftnint
informlen
;
138
char
*
inunf
;
139
ftnlen
inunflen
;
140
ftnint
*
inrecl
;
141
ftnint
*
innrec
;
142
char
*
inblank
;
143
ftnlen
inblanklen
;
144
}
inlist
;
145
146
#define VOID void
147
148
union
Multitype
{
/* for multiple entry points */
149
integer1
g
;
150
shortint
h
;
151
integer
i
;
152
/* longint j; */
153
real
r
;
154
doublereal
d
;
155
complex
c
;
156
doublecomplex
z
;
157
};
158
159
typedef
union
Multitype
Multitype
;
160
161
/*typedef long int Long;*/
/* No longer used; formerly in Namelist */
162
163
struct
Vardesc
{
/* for Namelist */
164
char
*
name
;
165
char
*
addr
;
166
ftnlen
*
dims
;
167
int
type
;
168
};
169
typedef
struct
Vardesc
Vardesc
;
170
171
struct
Namelist
{
172
char
*
name
;
173
Vardesc
**
vars
;
174
int
nvars
;
175
};
176
typedef
struct
Namelist
Namelist
;
177
178
#define abs(x) ((x) >= 0 ? (x) : -(x))
179
#define dabs(x) (doublereal)abs(x)
180
#define min(a,b) ((a) <= (b) ? (a) : (b))
181
#define max(a,b) ((a) >= (b) ? (a) : (b))
182
#define dmin(a,b) (doublereal)min(a,b)
183
#define dmax(a,b) (doublereal)max(a,b)
184
#define bit_test(a,b) ((a) >> (b) & 1)
185
#define bit_clear(a,b) ((a) & ~((uinteger)1 << (b)))
186
#define bit_set(a,b) ((a) | ((uinteger)1 << (b)))
187
188
/* procedure parameter types for -A and -C++ */
189
190
#define F2C_proc_par_types 1
191
#ifdef __cplusplus
192
typedef
int
/* Unknown procedure type */
(*U_fp)(...);
193
typedef
shortint
(*
J_fp
)(...);
194
typedef
integer
(*
I_fp
)(...);
195
typedef
real
(*
R_fp
)(...);
196
typedef
doublereal
(*
D_fp
)(...), (*E_fp)(...);
197
typedef
/* Complex */
VOID
(*
C_fp
)(...);
198
typedef
/* Double Complex */
VOID
(*
Z_fp
)(...);
199
typedef
logical
(*
L_fp
)(...);
200
typedef
shortlogical
(*
K_fp
)(...);
201
typedef
/* Character */
VOID
(*
H_fp
)(...);
202
typedef
/* Subroutine */
int (*
S_fp
)(...);
203
#else
204
typedef
int
/* Unknown procedure type */
(*U_fp)();
205
typedef
shortint
(*
J_fp
)();
206
typedef
integer
(*
I_fp
)();
207
typedef
real
(*
R_fp
)();
208
typedef
doublereal
(*
D_fp
)(), (*
E_fp
)();
209
typedef
/* Complex */
VOID
(*
C_fp
)();
210
typedef
/* Double Complex */
VOID
(*
Z_fp
)();
211
typedef
logical
(*
L_fp
)();
212
typedef
shortlogical
(*
K_fp
)();
213
typedef
/* Character */
VOID
(*
H_fp
)();
214
typedef
/* Subroutine */
int (*
S_fp
)();
215
#endif
216
/* E_fp is for real functions when -R is not specified */
217
typedef
VOID
C_f
;
/* complex function */
218
typedef
VOID
H_f
;
/* character function */
219
typedef
VOID
Z_f
;
/* double complex function */
220
typedef
doublereal
E_f
;
/* real function with -R not specified */
221
222
/* undef any lower-case symbols that your C compiler predefines, e.g.: */
223
224
#ifndef Skip_f2c_Undefs
225
/* (No such symbols should be defined in a strict ANSI C compiler.
226
We can avoid trouble with f2c-translated code by using
227
gcc -ansi [-traditional].) */
228
#undef cray
229
#undef gcos
230
#undef mc68010
231
#undef mc68020
232
#undef mips
233
#undef pdp11
234
#undef sgi
235
#undef sparc
236
#undef sun
237
#undef sun2
238
#undef sun3
239
#undef sun4
240
#undef u370
241
#undef u3b
242
#undef u3b2
243
#undef u3b5
244
/* #undef unix */
245
#undef vax
246
#endif
247
#endif
icilist::icirnum
ftnint icirnum
Definition:
f2c.h:87
olist::oblnk
char * oblnk
Definition:
f2c.h:100
inlist::inblank
char * inblank
Definition:
f2c.h:142
Vardesc::name
char * name
Definition:
f2c.h:164
inlist::inrecl
ftnint * inrecl
Definition:
f2c.h:140
inlist::inacc
char * inacc
Definition:
f2c.h:128
inlist::inacclen
ftnlen inacclen
Definition:
f2c.h:129
I_fp
integer(* I_fp)(...)
Definition:
f2c.h:194
inlist::inunflen
ftnlen inunflen
Definition:
f2c.h:139
icilist::icifmt
char * icifmt
Definition:
f2c.h:85
inlist::infilen
ftnlen infilen
Definition:
f2c.h:121
icilist::iciunit
char * iciunit
Definition:
f2c.h:83
address
char * address
Definition:
f2c.h:29
icilist::icirlen
ftnint icirlen
Definition:
f2c.h:86
inlist::infmt
char * infmt
Definition:
f2c.h:134
olist::ounit
ftnint ounit
Definition:
f2c.h:93
icilist
Definition:
f2c.h:81
icilist::icierr
flag icierr
Definition:
f2c.h:82
inlist::infile
char * infile
Definition:
f2c.h:120
Vardesc::dims
ftnlen * dims
Definition:
f2c.h:166
Namelist::vars
Vardesc ** vars
Definition:
f2c.h:173
uinteger
unsigned int uinteger
Definition:
f2c.h:28
olist::ofnmlen
ftnlen ofnmlen
Definition:
f2c.h:95
L_fp
logical(* L_fp)(...)
Definition:
f2c.h:199
cilist::cirec
ftnint cirec
Definition:
f2c.h:77
inlist::innum
ftnint * innum
Definition:
f2c.h:124
inlist::innamed
ftnint * innamed
Definition:
f2c.h:125
E_fp
doublereal(*)(* E_fp)(...)
Definition:
f2c.h:196
J_fp
shortint(* J_fp)(...)
Definition:
f2c.h:193
cilist::ciend
flag ciend
Definition:
f2c.h:75
cllist::csta
char * csta
Definition:
f2c.h:107
Namelist::name
char * name
Definition:
f2c.h:172
olist::oerr
flag oerr
Definition:
f2c.h:92
olist::ofm
char * ofm
Definition:
f2c.h:98
D_fp
doublereal(* D_fp)(...)
Definition:
f2c.h:196
K_fp
shortlogical(* K_fp)(...)
Definition:
f2c.h:200
H_f
void H_f
Definition:
f2c.h:218
inlist::indirlen
ftnlen indirlen
Definition:
f2c.h:133
doublecomplex::r
doublereal r
Definition:
f2c.h:34
inlist
Definition:
f2c.h:117
inlist::inunit
ftnint inunit
Definition:
f2c.h:119
olist
Definition:
f2c.h:91
Namelist
Definition:
f2c.h:171
Vardesc::type
int type
Definition:
f2c.h:167
integer1
char integer1
Definition:
f2c.h:38
olist::oacc
char * oacc
Definition:
f2c.h:97
logical1
char logical1
Definition:
f2c.h:37
cllist::cerr
flag cerr
Definition:
f2c.h:105
H_fp
void(* H_fp)(...)
Definition:
f2c.h:201
shortlogical
short int shortlogical
Definition:
f2c.h:36
Multitype::c
complex c
Definition:
f2c.h:155
C_fp
void(* C_fp)(...)
Definition:
f2c.h:197
cilist::cierr
flag cierr
Definition:
f2c.h:73
inlist::innamlen
ftnlen innamlen
Definition:
f2c.h:127
R_fp
real(* R_fp)(...)
Definition:
f2c.h:195
Z_fp
void(* Z_fp)(...)
Definition:
f2c.h:198
icilist::iciend
flag iciend
Definition:
f2c.h:84
Multitype::r
real r
Definition:
f2c.h:153
Z_f
void Z_f
Definition:
f2c.h:219
inlist::inname
char * inname
Definition:
f2c.h:126
VOID
#define VOID
Definition:
f2c.h:146
cilist
Definition:
f2c.h:72
logical
int logical
Definition:
f2c.h:35
Multitype::g
integer1 g
Definition:
f2c.h:149
Multitype::h
shortint h
Definition:
f2c.h:150
cilist::cifmt
char * cifmt
Definition:
f2c.h:76
alist
Definition:
f2c.h:111
olist::ofnm
char * ofnm
Definition:
f2c.h:94
doublereal
double doublereal
Definition:
f2c.h:32
inlist::inform
char * inform
Definition:
f2c.h:136
inlist::indir
char * indir
Definition:
f2c.h:132
Multitype::z
doublecomplex z
Definition:
f2c.h:156
inlist::inopen
ftnint * inopen
Definition:
f2c.h:123
inlist::inseqlen
ftnlen inseqlen
Definition:
f2c.h:131
integer
int integer
barf [ba:rf] 2.
Definition:
f2c.h:27
inlist::inunf
char * inunf
Definition:
f2c.h:138
shortint
short int shortint
Definition:
f2c.h:30
inlist::inex
ftnint * inex
Definition:
f2c.h:122
Namelist::nvars
int nvars
Definition:
f2c.h:174
flag
long int flag
Definition:
f2c.h:66
Vardesc
Definition:
f2c.h:163
inlist::informlen
ftnint informlen
Definition:
f2c.h:137
inlist::innrec
ftnint * innrec
Definition:
f2c.h:141
inlist::infmtlen
ftnlen infmtlen
Definition:
f2c.h:135
cllist
Definition:
f2c.h:104
inlist::inblanklen
ftnlen inblanklen
Definition:
f2c.h:143
i
int i
Definition:
LM_fit.h:71
real
#define real
Definition:
own_lapack_routines.cpp:20
Vardesc::addr
char * addr
Definition:
f2c.h:165
cllist::cunit
ftnint cunit
Definition:
f2c.h:106
doublecomplex
#define doublecomplex
Definition:
own_lapack_routines.cpp:19
alist::aunit
ftnint aunit
Definition:
f2c.h:113
olist::osta
char * osta
Definition:
f2c.h:96
C_f
void C_f
Definition:
f2c.h:217
Multitype
Definition:
f2c.h:148
real
float real
Definition:
f2c.h:31
complex
Definition:
f2c.h:33
E_f
doublereal E_f
Definition:
f2c.h:220
alist::aerr
flag aerr
Definition:
f2c.h:112
cilist::ciunit
ftnint ciunit
Definition:
f2c.h:74
ftnint
long int ftnint
Definition:
f2c.h:68
longint
long int longint
Definition:
f2c.h:43
Multitype::d
doublereal d
Definition:
f2c.h:154
Multitype::i
integer i
Definition:
f2c.h:151
inlist::inerr
flag inerr
Definition:
f2c.h:118
ftnlen
long int ftnlen
Definition:
f2c.h:67
doublecomplex
Definition:
f2c.h:34
olist::orl
ftnint orl
Definition:
f2c.h:99
complex::r
real r
Definition:
f2c.h:33
complex
#define complex
Definition:
own_lapack_routines.cpp:21
ulongint
unsigned long int ulongint
Definition:
f2c.h:44
S_fp
int(* S_fp)(...)
Definition:
f2c.h:202
inlist::inseq
char * inseq
Definition:
f2c.h:130
Generated by
1.8.5