Skip to content

Commit 3121c24

Browse files
committed
fix referers
Signed-off-by: Norwid Behrnd <[email protected]>
1 parent 04667ac commit 3121c24

File tree

5 files changed

+38
-46
lines changed

5 files changed

+38
-46
lines changed

source/learn/f95_features/array_handling.md

Lines changed: 17 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,11 @@ Array handling is included in Fortran for two main reasons:
1010

1111
At the same time, major extensions of the functionality in this area
1212
have been added. We have already met whole arrays above
13-
<a href="#Arrays" class="wikilink" title="#Arrays 1">#Arrays 1</a> and
14-
here
15-
<a href="#Arrays_2" class="wikilink" title="#Arrays 2">#Arrays 2</a> -
16-
now we develop the theme.
13+
(see corresponding sections in
14+
[Language elements](language_elements.md#arrays)
15+
and
16+
[Expressions and assignments](expressions_and_assignments.md#arrays))
17+
and continue to develop the theme.
1718

1819
## Zero-sized arrays
1920

@@ -52,7 +53,7 @@ call sub(a)
5253
the corresponding dummy argument specification defines only the type and
5354
rank of the array, not its shape. This information has to be made
5455
available by an explicit interface, often using an interface block (see
55-
[Interface blocks](interface_blocks)).
56+
[Interface blocks](program_units_and_procedures.md#interface-blocks)).
5657
Thus we write just
5758

5859
```f90
@@ -168,10 +169,12 @@ end subroutine swap
168169
```
169170

170171
The dummy arguments cannot be used in specification expressions (see
171-
<a href="#Specification_expressions" class="wikilink"
172-
title="above">above</a>) except as arguments to certain intrinsic
173-
functions (`bit_size`, `kind`, `len`, and the numeric inquiry ones, (see
174-
<a href="#Intrinsic_data_types" class="wikilink" title="below">below</a>).
172+
[Specification expressions](language_elements.md#specification-expressions)
173+
mentioned earlier in Language elements)
174+
except as arguments to certain intrinsic
175+
functions (`bit_size`, `kind`, `len`, and the numeric inquiry ones (see
176+
[Intrinsic data types](language_elements.md#intrinsic-data-types),
177+
and below).
175178

176179
## `where`
177180

@@ -289,26 +292,11 @@ we can declare an array of that type:
289292
type(fun_del), dimension(10, 20) :: tar
290293
```
291294

292-
and a reference like
293-
294-
```f90
295-
tar(n, 2)
296-
```
297-
298-
is an element (a scalar!) of type `fun_del`, but
299-
300-
```f90
301-
tar(n, 2)%du
302-
```
303-
304-
is an array of type `real`, and
305-
306-
```f90
307-
tar(n, 2)%du(2)
308-
```
309-
310-
is an element of it. The basic rule to remember is that an array element
311-
always has a subscript or subscripts qualifying at least the last name.
295+
A reference like `tar(n, 2)` is an element (a scalar!) of type
296+
`fun_del`, but `tar(n, 2)%du` is an array of type `real`, and
297+
`tar(n, 2)%du(2)` is an element of it. The basic rule to remember
298+
is that an array element always has a subscript or subscripts
299+
qualifying at least the last name.
312300

313301
## Array subobjects (sections)
314302

source/learn/f95_features/data_transfer.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
## Formatted input/output
44

55
These examples illustrate various forms of I/O lists with some simple
6-
formats (see [below](edit_descriptors)):
6+
formats (see
7+
[Edit descriptors](edit_descriptors)
8+
below):
79

810
```f90
911
integer :: i
@@ -59,7 +61,8 @@ print form, q
5961
```
6062

6163
or as an asterisk this is a type of I/O known as *list-directed* I/O
62-
(see [below](list-directed-i/o),
64+
(see
65+
[below](list-directed-i-o)),
6366
in which the format is defined by the computer system:
6467

6568
```f90
@@ -223,10 +226,10 @@ It is possible to specify that an edit descriptor be repeated a
223226
specified number of times, using a *repeat count*: `10f12.3`
224227

225228
The slash edit descriptor (see
226-
[below](control-edit-descriptors))
227-
may have a repeat count, and a repeat count can
228-
also apply to a group of edit descriptors, enclosed in parentheses, with
229-
nesting:
229+
[Control edit descriptors](control-edit-descriptors)
230+
below) may have a great count, and
231+
a repeat count can also apply to a group of edit descriptors,
232+
enclosed in parentheses, with nesting:
230233

231234
```f90
232235
print "(2(2i5,2f8.2))", i(1),i(2),a(1),a(2), i(3),i(4),a(3),a(4)

source/learn/f95_features/expressions_and_assignments.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ end interface
128128

129129
The string concatenation function is a more elaborated version of that
130130
shown already in
131-
[Basics](Basics).
131+
[Basics](language_elements.md#basics).
132132
Note that
133133
in order to handle the error condition that arises when the two strings
134134
together exceed the preset 80-character limit, it would be safer to use

source/learn/f95_features/pointers.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ They are conceptually a descriptor listing the attributes of the objects
1313
(targets) that the pointer may point to, and the address, if any, of a
1414
target. They have no associated storage until it is allocated or
1515
otherwise associated (by pointer assignment, see
16-
[Pointers in expressions and assignments](pointers_in_expressions_and_assignments)):
16+
[Pointers in expressions and assignments](pointers-in-expressions-and-assignments)
17+
below):
1718

1819
```f90
1920
allocate (var)
@@ -289,7 +290,8 @@ window => table(m:n, p:q)
289290

290291
The subscripts of window are `1:n - m + 1, 1:q - p + 1`.
291292
Similarly, for `tar%u` (as defined in
292-
[Array elements](array_elements)),
293+
[Array elements](array_handling.md#array-elements)
294+
of section Array handling),
293295
we can use, say, `taru => tar%u`
294296
to point at all the u components of tar, and subscript it as
295297
`taru(1, 2)`.

source/learn/f95_features/program_units_and_procedures.md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,7 @@ The names of program units and external procedures are *global*, and the
7676
names of implied-DO variables have a scope of the statement that
7777
contains them.
7878

79-
80-
## Modules {#modules}
79+
## Modules
8180

8281
Modules are used to package
8382

@@ -201,7 +200,7 @@ Also, `inout` is possible: here the actual argument must be a variable
201200
Arguments may be optional:
202201

203202
```f90
204-
subroutine mincon(n, f, x, upper, lower, equalities, inequalities, &
203+
subroutine mincon(n, f, x, upper, lower, equalities, inequalities, &
205204
convex, xstart)
206205
real, optional, dimension :: upper, lower
207206
:
@@ -255,10 +254,10 @@ An explicit interface is obligatory for
255254

256255
- optional and keyword arguments;
257256
- `pointer` and `target` arguments (see
258-
[Pointers](pointers));
257+
[Pointers](pointers.md));
259258
- `pointer` function result;
260259
- new-style array arguments and array functions
261-
([Array handling](array_handling)).
260+
([Array handling](array_handling.md)).
262261

263262
It allows full checks at compile time between actual and dummy
264263
arguments.
@@ -293,12 +292,12 @@ interface gamma
293292
end interface
294293
```
295294

296-
We can use existing names, e.g. SIN, and the compiler sorts out the
295+
We can use existing names, e.g. `sin`, and the compiler sorts out the
297296
correct association.
298297

299298
We have already seen the use of interface blocks for defined operators
300299
and assignment (see
301-
[Modules](Modules)).
300+
[Modules](modules)).
302301

303302
## Recursion
304303

@@ -355,7 +354,7 @@ Here, we note the `result` clause and termination test.
355354
This is a feature for parallel computing.
356355

357356
In
358-
[the `forall` statement and construct](forall-statement),
357+
[the `forall` statement and construct](array_handling.md#the-forall-statement-and-construct),
359358
any side effects in a function can impede optimization on
360359
a parallel processor the order of execution of the assignments could
361360
affect the results. To control this situation, we add the `pure` keyword

0 commit comments

Comments
 (0)