1: !===============================================================================
2: ! RPL/2 (R) version 4.1.36
3: ! Copyright (C) 1989-2025 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: # ifdef _RPL_COMPLEX_
123: module rpl_complex
124: use iso_c_binding
125: implicit none
126:
127: type rpl_complex8
128: sequence
129: real(rpl_real4) partie_reelle
130: real(rpl_real4) partie_imaginaire
131: end type
132:
133: type rpl_complex16
134: sequence
135: real(rpl_real8) partie_reelle
136: real(rpl_real8) partie_imaginaire
137: end type
138: end module
139: # endif
140: #endif
141:
142: ! vim: ts=4
CVSweb interface <joel.bertrand@systella.fr>