File:
[local] /
rpl /
src /
rplftypes.inc
Revision
1.22:
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: ! RPL/2 (R) version 4.1.0.prerelease.2
3: ! Copyright (C) 1989-2011 Dr. BERTRAND Joël
4: !
5: ! This file is part of RPL/2.
6: !
7: ! RPL/2 is free software; you can redistribute it and/or modify it
8: ! under the terms of the CeCILL V2 License as published by the french
9: ! CEA, CNRS and INRIA.
10: !
11: ! RPL/2 is distributed in the hope that it will be useful, but WITHOUT
12: ! ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13: ! FITNESS FOR A PARTICULAR PURPOSE. See the CeCILL V2 License
14: ! for more details.
15: !
16: ! You should have received a copy of the CeCILL License
17: ! along with RPL/2. If not, write to info@cecill.info.
18: !===============================================================================
19:
20:
21: #ifndef INCLUSION_RPLFTYPES
22: # define INCLUSION_RPLFTYPES
23:
24: # ifdef RPLCONFIG
25: # define HAVE_CONFIG_H
26: # endif
27:
28: # ifdef HAVE_CONFIG_H
29:
30: # include "rplconfig.h"
31:
32: # if (SIZEOF_CHAR == 1)
33: # ifndef _INT1
34: # define _INT1
35: # define rpl_char C_CHAR
36: # endif
37: # endif
38:
39: # if (SIZEOF_SHORT_INT == 2)
40: # ifndef _INT2
41: # define _INT2
42: # define rpl_integer2 C_SHORT
43: # endif
44: # endif
45:
46: # if (SIZEOF_INT == 4)
47: # ifndef _INT4
48: # define _INT4
49: # define rpl_integer4 C_INT
50: # endif
51: # endif
52:
53: # if (SIZEOF_LONG_INT == 4)
54: # ifndef _INT4
55: # define _INT4
56: # define rpl_integer4 C_LONG
57: # endif
58: # endif
59:
60: # if (SIZEOF_LONG_INT == 8)
61: # ifndef _INT8
62: # define _INT8
63: # define rpl_integer8 C_LONG
64: # endif
65: # endif
66:
67: # if (SIZEOF_LONG_LONG_INT == 8)
68: # ifndef _INT8
69: # define _INT8
70: # define rpl_integer8 C_LONG_LONG
71: # endif
72: # endif
73:
74: # if (SIZEOF_FLOAT == 4)
75: # ifndef _REAL4
76: # define _REAL4
77: # define rpl_real4 C_FLOAT
78: # endif
79: # endif
80:
81: # if (SIZEOF_DOUBLE == 8)
82: # ifndef _REAL8
83: # define _REAL8
84: # define rpl_real8 C_DOUBLE
85: # endif
86: # endif
87:
88: # if (SIZEOF_LONG_DOUBLE == 8)
89: # ifndef _REAL8
90: # define _REAL8
91: # define rpl_real8 C_LONG_DOUBLE
92: # endif
93: # endif
94:
95: # ifndef _INT1
96: # error "INTEGER*1 is not defined !"
97: # endif
98:
99: # ifndef _INT2
100: # error "INTEGER*2 is not defined !"
101: # endif
102:
103: # ifndef _INT4
104: # error "INTEGER*4 is not defined !"
105: # endif
106:
107: # ifndef _INT8
108: # error "INTEGER*8 is not defined !"
109: # endif
110:
111: # ifndef _REAL4
112: # error "REAL*4 is not defined !"
113: # endif
114:
115: # ifndef _REAL8
116: # error "REAL*8 is not defined !"
117: # endif
118: # else
119: # error "rplconfig.h header not found !"
120: # endif
121:
122: module rpl_complex
123: use iso_c_binding
124: implicit none
125:
126: type rpl_complex8
127: sequence
128: real(rpl_real4) partie_reelle
129: real(rpl_real4) partie_imaginaire
130: end type
131:
132: type rpl_complex16
133: sequence
134: real(rpl_real8) partie_reelle
135: real(rpl_real8) partie_imaginaire
136: end type
137: end module
138: #endif
139:
140: ! vim: ts=4
CVSweb interface <joel.bertrand@systella.fr>