Skip to content

Commit fc23168

Browse files
committed
fp-interop: Update with amendments from plenary
1 parent 1827339 commit fc23168

File tree

1 file changed

+25
-60
lines changed

1 file changed

+25
-60
lines changed

proposals/fp_interop/25-xxx.txt renamed to proposals/fp_interop/25-189r1.txt

Lines changed: 25 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -58,45 +58,35 @@ rq05. The ISO_C_BINDING module should provide integer named constants
5858
equal those of the respective constants for the interchange
5959
floating types.
6060

61-
rq07. [optional] The ISO_C_BINDING module should provide integer named
62-
constants for KIND parameters corresponding to the C extended
63-
floating types '_Float32x', '_Float64x', and '_Float128x'.
61+
rq07. The ISO_C_BINDING module should provide integer named constants
62+
for KIND parameters corresponding to the C extended floating types
63+
'_Float32x', '_Float64x', and '_Float128x'.
6464

65-
rq09. [optional] The ISO_C_BINDING module should provide integer named
66-
constants for KIND parameters corresponding to the C extended
67-
complex types '_Float32x_Complex', '_Float64x_Complex', and
65+
rq09. The ISO_C_BINDING module should provide integer named constants
66+
for KIND parameters corresponding to the C extended complex types
67+
'_Float32x_Complex', '_Float64x_Complex', and
6868
'_Float128x_Complex'. The values of the named constants should
6969
match those of the respective constants for the extended floating
7070
types.
7171

72-
rq11. [optional] The ISO_C_BINDING module should provide integer named
73-
constants for KIND parameters corresponding to the C interchange
74-
decimal floating types '_Decimal32', '_Decimal64', and
75-
'_Decimal128'.
76-
77-
rq13. [optional] The ISO_C_BINDING module should provide integer named
78-
constants for KIND parameters corresponding to the C extended
79-
decimal floating types '_Decimal64x', and '_Decimal128x'.
80-
81-
rq15. [optional] The ISO_C_BINDING module may provide additional integer
82-
named constants for KIND parameters corresponding to C interchange
83-
floating types of the form '_FloatN', '_FloatNx', and
84-
'_FloatN_Complex' if the companion processor defines them.
85-
86-
rq17. [optional] The ISO_C_BINDING module may provide additional integer
87-
named constants for KIND parameters corresponding to C interchange
88-
decimal floating types of the form '_DecimalN' and '_DecimalNx' if
89-
the companion processor defines them.
72+
rq11. The ISO_C_BINDING module should provide integer named constants
73+
for KIND parameters corresponding to the C interchange decimal
74+
floating types '_Decimal32', '_Decimal64', and '_Decimal128'.
9075

9176
3 Specifications
9277
================
9378

9479
sp01. For all integer named constants to be added to the ISO_C_BINDING
9580
module, the value shall be a valid real kind type parameter or
96-
shall be -1 if the companion processor defines the corresponding C
97-
type and there is no interoperating Fortran processor kind, or -2
98-
if the companion processor does not define the corresponding C
99-
type.
81+
shall be -1 if the companion processor’s type does not have a
82+
precision equal to the precision of any of the Fortran processor’s
83+
real kinds, −2 if the companion processor’s type does not have a
84+
range equal to the range of any of the Fortran processor’s real
85+
kinds, −3 if the companion processor's type has neither the
86+
precision nor range of any of the Fortran processor’s real kinds,
87+
−4 if there is no interoperating Fortran processor kind for other
88+
reasons, and -5 if the companion processor does not define the
89+
corresponding C type.
10090

10191
sp02. To the ISO_C_BINDING module, add the following integer named
10292
constants for real KIND parameters:
@@ -130,8 +120,8 @@ sp05. To the ISO_C_BINDING module, add the following integer named
130120
The values of each of these named constants shall be the same as
131121
the respective constants defined in sp01.
132122

133-
sp07. [if rq07] To the ISO_C_BINDING module, add the following integer
134-
named constants for real KIND parameters:
123+
sp07. To the ISO_C_BINDING module, add the following integer named
124+
constants for real KIND parameters:
135125

136126
+----------------+-----------------+
137127
| Named constant | C extended type |
@@ -141,8 +131,8 @@ sp07. [if rq07] To the ISO_C_BINDING module, add the following integer
141131
| C_FLOAT128X | _Float128x |
142132
+----------------+-----------------+
143133

144-
sp09. [if rq09] To the ISO_C_BINDING module, add the following integer
145-
named constants for real KIND parameters:
134+
sp09. To the ISO_C_BINDING module, add the following integer named
135+
constants for real KIND parameters:
146136

147137
+---------------------+--------------------+
148138
| Named constant | C extended type |
@@ -152,8 +142,8 @@ sp09. [if rq09] To the ISO_C_BINDING module, add the following integer
152142
| C_FLOAT128X_COMPLEX | _Float128x_Complex |
153143
+---------------------+--------------------+
154144

155-
sp11. [if rq11] To the ISO_C_BINDING module, add the following integer
156-
named constants for real KIND parameters:
145+
sp11. To the ISO_C_BINDING module, add the following integer named
146+
constants for real KIND parameters:
157147

158148
+----------------+--------------------+
159149
| Named constant | C interchange type |
@@ -163,29 +153,4 @@ sp11. [if rq11] To the ISO_C_BINDING module, add the following integer
163153
| C_DECIMAL128 | _Decimal128 |
164154
+----------------+--------------------+
165155

166-
sp13. [if rq13] To the ISO_C_BINDING module, add the following integer
167-
named constants for real KIND parameters:
168-
169-
+----------------+--------------------+
170-
| Named constant | C interchange type |
171-
+----------------+--------------------+
172-
| C_DECIMAL64X | _Decimal64x |
173-
| C_DECIMAL128X | _Decimal128x |
174-
+----------------+--------------------+
175-
176-
sp15. [if rq15] If the companion processor defines additional types of
177-
the form '_FloatN', the processor may add integer named constants
178-
of the form 'C_FLOATN'. If the companion processor defines
179-
additional types of the form '_FloatNx', the processor may add
180-
integer named constants of the form 'C_FLOATNX'. If the companion
181-
processor defines additional types of the form '_FloatN_Complex',
182-
the processor may add integer named constants of the form
183-
'C_FLOATN_COMPLEX'.
184-
185-
sp17. [if rq17] If the companion processor defines additional types of
186-
the form '_DecimalN', the processor may add integer named
187-
constants of the form 'C_DECIMALN'. If the companion processor
188-
defines additional types of the form '_DecimalNx', the processor
189-
may add integer named constants of the form 'C_DECIMALNX'.
190-
191-
=== END ===
156+
=== END ===

0 commit comments

Comments
 (0)