1: /*
2: ================================================================================
3: RPL/2 (R) version 4.1.36
4: Copyright (C) 1989-2025 Dr. BERTRAND Joël
5:
6: This file is part of RPL/2.
7:
8: RPL/2 is free software; you can redistribute it and/or modify it
9: under the terms of the CeCILL V2 License as published by the french
10: CEA, CNRS and INRIA.
11:
12: RPL/2 is distributed in the hope that it will be useful, but WITHOUT
13: ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14: FITNESS FOR A PARTICULAR PURPOSE. See the CeCILL V2 License
15: for more details.
16:
17: You should have received a copy of the CeCILL License
18: along with RPL/2. If not, write to info@cecill.info.
19: ================================================================================
20: */
21:
22:
23: #ifndef INCLUSION_RPLTYPES
24: # define INCLUSION_RPLTYPES
25:
26: # ifdef RPLCONFIG
27: # define HAVE_CONFIG_H
28: # endif
29:
30: # ifdef HAVE_CONFIG_H
31:
32: /*
33: --------------------------------------------------------------------------------
34: Configuration héritée du script configure
35: --------------------------------------------------------------------------------
36: */
37:
38: # include "rplconfig.h"
39:
40: /*
41: * Entiers
42: */
43:
44: # if (SIZEOF_CHAR == 1)
45: # ifndef _INT1
46: # define _INT1
47: typedef signed char integer1;
48: typedef unsigned char logical1;
49: typedef logical1 unsigned_integer1;
50: # endif
51: # endif
52:
53: # if (SIZEOF_SHORT_INT == 2)
54: # ifndef _INT2
55: # define _INT2
56: typedef short int integer2;
57: typedef unsigned short int logical2;
58: typedef logical2 unsigned_integer2;
59: # endif
60: # endif
61:
62: # if (SIZEOF_INT == 4)
63: # ifndef _INT4
64: # define _INT4
65: typedef int integer4;
66: typedef unsigned int logical4;
67: typedef logical4 unsigned_integer4;
68: # endif
69: # endif
70:
71: # if (SIZEOF_LONG_INT == 4)
72: # ifndef _INT4
73: # define _INT4
74: typedef long int integer4;
75: typedef unsigned long int logical4;
76: typedef logical4 unsigned_integer4;
77: # endif
78: # endif
79:
80: # if (SIZEOF_LONG_INT == 8)
81: # ifndef _INT8
82: # define _INT8
83: typedef long long int integer8;
84: typedef unsigned long long int logical8;
85: typedef logical8 unsigned_integer8;
86: # endif
87: # endif
88:
89: # if (SIZEOF_LONG_LONG_INT == 8)
90: # ifndef _INT8
91: # define _INT8
92: typedef long long int integer8;
93: typedef unsigned long long int logical8;
94: typedef logical8 unsigned_integer8;
95: # endif
96: # endif
97:
98: # if (SIZEOF_FLOAT == 4)
99: # ifndef _REAL4
100: # define _REAL4
101: typedef float real4;
102: # endif
103: # endif
104:
105: # if (SIZEOF_DOUBLE == 8)
106: # ifndef _REAL8
107: # define _REAL8
108: typedef double real8;
109: # endif
110: # endif
111:
112: # if (SIZEOF_LONG_DOUBLE == 8)
113: # ifndef _REAL8
114: # define _REAL8
115: typedef long double real8;
116: # endif
117: # endif
118:
119: # ifndef _INT1
120: # error "INTEGER*1 is not defined !"
121: # endif
122:
123: # ifndef _INT2
124: # error "INTEGER*2 is not defined !"
125: # endif
126:
127: # ifndef _INT4
128: # error "INTEGER*4 is not defined !"
129: # endif
130:
131: # ifndef _INT8
132: # error "INTEGER*8 is not defined !"
133: # endif
134:
135: # ifndef _REAL4
136: # error "REAL*4 is not defined !"
137: # endif
138:
139: # ifndef _REAL8
140: # error "REAL*8 is not defined !"
141: # endif
142: # else
143:
144: /*
145: --------------------------------------------------------------------------------
146: Configuration par défaut en absence du fichier rplconfig.h
147: --------------------------------------------------------------------------------
148: */
149:
150: # warning "rplconfig.h header not found !"
151:
152: typedef unsigned char logical1;
153: typedef unsigned short int logical2;
154: typedef unsigned int logical4;
155: typedef unsigned long long int logical8;
156:
157: typedef signed char integer1;
158: typedef short int integer2;
159: typedef int integer4;
160: typedef long long int integer8;
161:
162: typedef logical1 unsigned_integer1;
163: typedef logical2 unsigned_integer2;
164: typedef logical4 unsigned_integer4;
165: typedef logical8 unsigned_integer8;
166:
167: typedef float real4;
168: typedef double real8;
169: # endif
170:
171: typedef struct complex8
172: {
173: real4 partie_reelle;
174: real4 partie_imaginaire;
175: } struct_complexe8;
176:
177: typedef struct complex16
178: {
179: real8 partie_reelle;
180: real8 partie_imaginaire;
181: } struct_complexe16;
182:
183: typedef struct_complexe8 complex8;
184: typedef struct_complexe16 complex16;
185: #endif
186:
187: // vim: ts=4
CVSweb interface <joel.bertrand@systella.fr>