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