Re: [patch, doc, fortran] Document FINDLOC

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Re: [patch, doc, fortran] Document FINDLOC

Bernhard Reutner-Fischer

On Sun, 28 Oct 2018 15:13:49 +0100
Thomas König <[hidden email]> wrote:

One question and some nits below.

> ===================================================================
> --- intrinsic.texi (Revision 265569)
> +++ intrinsic.texi (Arbeitskopie)

> @@ -6021,8 +6022,68 @@ END PROGRAM
>  @ref{FGET}, @ref{FPUT}, @ref{FPUTC}
>  @end table
> +@node FINDLOC
> +@section @code{FINDLOC} --- Search an array for a value

I think one should not put spaces around triple-dashes.

> +@fnindex FINDLOC
> +@cindex findloc
> +@table @asis
> +@item @emph{Description}:
> +Determines the location of the element in the array with the value
> +given in the @var{VALUE} argument, or, if the @var{DIM} argument is
> +supplied, determines the locations of the maximum element along each
> +row of the array in the @var{DIM} direction. If @var{MASK} is present,

dot-space-space at end of sentence: direction.  If

> +only the elements for which @var{MASK} is @code{.TRUE.} are
> +considered.  If more than one element in the array has the value
> +@var{VALUE}, the location returned is that of the first such element
> +in array element order if the @var{BACK} is not present, or if it

missing "is": ...not present or if it is @code{.FALSE.}.

> +false; otherwise, the location returned is that of the first such
> +element. If the array has zero size, or all of the elements of

I think this should mention BACK=.TRUE. for clarity; and it should
refer to the _last_ such element, not the first, doesn't it?


If @var{BACK} is @code{.TRUE.} the location returned is that of the
last such element.

> +@var{MASK} are @code{.FALSE.}, then the result is an array of zeroes.
> +Similarly, if @var{DIM} is supplied and all of the elements of
> +@var{MASK} along a given row are zero, the result value for that row
> +is zero.
> +@item @emph{Standard}:
> +Fortran 2008 and later.
> +
> +@item @emph{Class}:
> +Transformational function
> +
> +@item @emph{Syntax}:
> +@multitable @columnfractions .80
> +@item @code{RESULT = FINDLOC(ARRAY, VALUE, DIM [, MASK] [,KIND] [,BACK])}
> +@item @code{RESULT = FINDLOC(ARRAY, VALUE, [, MASK] [,KIND] [,BACK])}
> +@end multitable
> +
> +@item @emph{Arguments}:
> +@multitable @columnfractions .15 .70
> +@item @var{ARRAY} @tab Shall be an array of intrinsic type.
> +@item @var{VALUE} @tab A scalar of intrinsic type which is in type
> +conformance with @var{ARRAY}.
> +@item @var{DIM}   @tab (Optional) Shall be a scalar of type

Excess spaces between @var{DIM} and @tab?

> +@code{INTEGER}, with a value between one and the rank of @var{ARRAY},
> +inclusive.  It may not be an optional dummy argument.
> +@item @var{KIND} @tab (Optional) An @code{INTEGER} initialization
> +expression indicating the kind parameter of the result.
> +@item @var{BACK} @tab (Optional) A scalar of type @code{LOGICAL}.
> +@end multitable
> +
> +@item @emph{Return value}:
> +If @var{DIM} is absent, the result is a rank-one array with a length
> +equal to the rank of @var{ARRAY}.  If @var{DIM} is present, the result
> +is an array with a rank one less than the rank of @var{ARRAY}, and a
> +size corresponding to the size of @var{ARRAY} with the @var{DIM}
> +dimension removed.  If @var{DIM} is present and @var{ARRAY} has a rank
> +of one, the result is a scalar.   If the optional argument @var{KIND}

Excess third space at the start of the sentence: dot-space-space


> +is present, the result is an integer of kind @var{KIND}, otherwise it
> +is of default kind.