File:
[local] /
rpl /
src /
rpltypes.h
Revision
1.20:
download - view:
text,
annotated -
select for diffs -
revision graph
Tue Jun 21 15:26:35 2011 UTC (13 years ago) by
bertrand
Branches:
MAIN
CVS tags:
HEAD
Correction d'une réinitialisation sauvage de la pile des variables par niveau
dans la copie de la structure de description du processus. Cela corrige
la fonction SPAWN qui échouait sur un segmentation fault car la pile des
variables par niveau était vide alors même que l'arbre des variables contenait
bien les variables. Passage à la prerelease 2.
1: /*
2: ================================================================================
3: RPL/2 (R) version 4.1.0.prerelease.2
4: Copyright (C) 1989-2011 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: Configuratoin 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>