re PR libfortran/25378 ([Fortran 2003] maxloc for all-false mask)

2006-03-13  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/25378
	* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Set the initial position to zero and
	modify the condition for updating it, to implement the F2003 requirement for all(mask)
	is false.

2006-03-13  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/25378
	* libgfortran/m4/minloc1.m4: Set the initial position to zero and modify the condition for
	updating it, to implement the F2003 requirement for all(mask).eq.false.
	* libgfortran/m4/maxloc1.m4: The same.
	* libgfortran/m4/iforeach.m4: The same.
	* libgfortran/m4/minloc0.m4: The same.
	* libgfortran/m4/maxloc0.m4: The same.
	* libgfortran/generated/maxloc0_16_i16.c: Regenerated, together with 41 others.
	* libgfortran/generated/minloc0_16_i16.c: Regenerated, together with 41 others.

2006-03-13  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/25378
	* gfortran.fortran-torture/execute/intrinsic_mmloc_3.f90: Expand test to include more
	permuatations of mask and index.
	* testsuite/gfortran.dg/scalar_mask_1.f90: Modify last test to respond to F2003 spec.
	that the position returned for an all false mask && condition is zero.

From-SVN: r112028
This commit is contained in:
Paul Thomas 2006-03-13 22:49:56 +00:00
parent 94c5a84153
commit a4b9e93e5d
96 changed files with 5650 additions and 2930 deletions

7783
configure vendored

File diff suppressed because it is too large Load diff

View file

@ -1,3 +1,10 @@
2006-03-13 Paul Thomas <pault@gcc.gnu.org>
PR fortran/25378
* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Set the initial position to zero and
modify the condition for updating it, to implement the F2003 requirement for all(mask)
is false.
2006-03-13 Jakub Jelinek <jakub@redhat.com>
* trans-openmp.c (gfc_trans_omp_variable): Handle references

View file

@ -1671,7 +1671,6 @@ gfc_conv_intrinsic_minmaxloc (gfc_se * se, gfc_expr * expr, int op)
tree tmp;
tree elsetmp;
tree ifbody;
tree cond;
gfc_loopinfo loop;
gfc_actual_arglist *actual;
gfc_ss *arrayss;
@ -1744,17 +1743,10 @@ gfc_conv_intrinsic_minmaxloc (gfc_se * se, gfc_expr * expr, int op)
gcc_assert (loop.dimen == 1);
/* Initialize the position to the first element. If the array has zero
size we need to return zero. Otherwise use the first element of the
array, in case all elements are equal to the limit.
i.e. pos = (ubound >= lbound) ? lbound, lbound - 1; */
tmp = fold_build2 (MINUS_EXPR, gfc_array_index_type,
loop.from[0], gfc_index_one_node);
cond = fold_build2 (GE_EXPR, boolean_type_node,
loop.to[0], loop.from[0]);
tmp = fold_build3 (COND_EXPR, gfc_array_index_type, cond,
loop.from[0], tmp);
gfc_add_modify_expr (&loop.pre, pos, tmp);
/* Initialize the position to zero, following Fortran 2003. We are free
to do this because Fortran 95 allows the result of an entirely false
mask to be processor dependent. */
gfc_add_modify_expr (&loop.pre, pos, gfc_index_zero_node);
gfc_mark_ss_chain_used (arrayss, 1);
if (maskss)
@ -1794,8 +1786,10 @@ gfc_conv_intrinsic_minmaxloc (gfc_se * se, gfc_expr * expr, int op)
ifbody = gfc_finish_block (&ifblock);
/* If it is a more extreme value. */
tmp = build2 (op, boolean_type_node, arrayse.expr, limit);
/* If it is a more extreme value or pos is still zero. */
tmp = build2 (TRUTH_OR_EXPR, boolean_type_node,
build2 (op, boolean_type_node, arrayse.expr, limit),
build2 (EQ_EXPR, boolean_type_node, pos, gfc_index_zero_node));
tmp = build3_v (COND_EXPR, tmp, ifbody, build_empty_stmt ());
gfc_add_expr_to_block (&block, tmp);
@ -1826,14 +1820,7 @@ gfc_conv_intrinsic_minmaxloc (gfc_se * se, gfc_expr * expr, int op)
the pos variable the same way as above. */
gfc_init_block (&elseblock);
elsetmp = fold_build2 (MINUS_EXPR, gfc_array_index_type,
loop.from[0], gfc_index_one_node);
cond = fold_build2 (GE_EXPR, boolean_type_node,
loop.to[0], loop.from[0]);
elsetmp = fold_build3 (COND_EXPR, gfc_array_index_type, cond,
loop.from[0], elsetmp);
gfc_add_modify_expr (&elseblock, pos, elsetmp);
gfc_add_modify_expr (&elseblock, pos, gfc_index_zero_node);
elsetmp = gfc_finish_block (&elseblock);
tmp = build3_v (COND_EXPR, maskse.expr, tmp, elsetmp);

View file

@ -1,3 +1,11 @@
2006-03-13 Paul Thomas <pault@gcc.gnu.org>
PR fortran/25378
* gfortran.fortran-torture/execute/intrinsic_mmloc_3.f90: Expand test to include more
permuatations of mask and index.
* testsuite/gfortran.dg/scalar_mask_1.f90: Modify last test to respond to F2003 spec.
that the position returned for an all false mask && condition is zero.
2006-03-13 Jakub Jelinek <jakub@redhat.com>
PR middle-end/25989

View file

@ -11,5 +11,5 @@ program main
if (maxval (a, .true.) /= 3.0) call abort
if (maxval (a, .false.) > -1e38) call abort
if (maxloc (a, 1, .true.) /= 2) call abort
if (maxloc (a, 1, .false.) /= 1) call abort
if (maxloc (a, 1, .false.) /= 0) call abort ! Change to F2003 requirement.
end program main

View file

@ -3,10 +3,38 @@
program intrinsic_mmloc_3
integer, dimension(2) :: d
integer, dimension(2,2) :: a
logical, dimension(2) :: k
logical, dimension(2,2) :: l
k = .true.
l = .true.
d = -huge (d)
if (maxloc (d, 1) .ne. 1) call abort()
if (maxloc (d, 1) .ne. 1) call abort ()
d = huge (d)
if (minloc (d, 1) .ne. 1) call abort ()
d = -huge (d)
if (maxloc (d, 1, k) .ne. 1) call abort ()
d = huge (d)
if (minloc (d, 1, k) .ne. 1) call abort ()
a = -huge (a)
d = maxloc (a)
if (any (d .ne. 1)) call abort ()
a = huge (a)
d = minloc (a)
if (any (d .ne. 1)) call abort()
if (any (d .ne. 1)) call abort ()
a = -huge (a)
d = maxloc (a, l)
if (any (d .ne. 1)) call abort ()
a = huge (a)
d = minloc (a, l)
if (any (d .ne. 1)) call abort ()
end program

View file

@ -1,11 +1,14 @@
2006-03-09 Jerry DeLisle <jvdelisle@gcc.gnu.org>
2006-03-13 Paul Thomas <pault@gcc.gnu.org>
PR libgfortran/26499
* io/file_pos (st_rewind): Flush always.
* io/unix.c (fd_truncate): Return SUCCESS rather than FAILURE for
special files like /dev/null.
* io/transfer.c (st_write_done): Remove broken logic that prevented
calling fd_truncate.
PR fortran/25378
* libgfortran/m4/minloc1.m4: Set the initial position to zero and modify the condition for
updating it, to implement the F2003 requirement for all(mask).eq.false.
* libgfortran/m4/maxloc1.m4: The same.
* libgfortran/m4/iforeach.m4: The same.
* libgfortran/m4/minloc0.m4: The same.
* libgfortran/m4/maxloc0.m4: The same.
* libgfortran/generated/maxloc0_16_i16.c: Regenerated, together with 41 others.
* libgfortran/generated/minloc0_16_i16.c: Regenerated, together with 41 others.
2006-03-05 Jerry DeLisle <jvdelisle@gcc.gnu.org>

View file

@ -106,7 +106,7 @@ maxloc0_16_i16 (gfc_array_i16 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_16 maxval;
@ -118,7 +118,7 @@ maxloc0_16_i16 (gfc_array_i16 * const restrict retarray,
{
/* Implementation start. */
if (*base > maxval)
if (*base > maxval || !dest[0])
{
maxval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mmaxloc0_16_i16 (gfc_array_i16 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_16 maxval;
@ -253,7 +253,7 @@ mmaxloc0_16_i16 (gfc_array_i16 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base > maxval)
if (*mbase && (*base > maxval || !dest[0]))
{
maxval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ maxloc0_16_i4 (gfc_array_i16 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_4 maxval;
@ -118,7 +118,7 @@ maxloc0_16_i4 (gfc_array_i16 * const restrict retarray,
{
/* Implementation start. */
if (*base > maxval)
if (*base > maxval || !dest[0])
{
maxval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mmaxloc0_16_i4 (gfc_array_i16 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_4 maxval;
@ -253,7 +253,7 @@ mmaxloc0_16_i4 (gfc_array_i16 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base > maxval)
if (*mbase && (*base > maxval || !dest[0]))
{
maxval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ maxloc0_16_i8 (gfc_array_i16 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_8 maxval;
@ -118,7 +118,7 @@ maxloc0_16_i8 (gfc_array_i16 * const restrict retarray,
{
/* Implementation start. */
if (*base > maxval)
if (*base > maxval || !dest[0])
{
maxval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mmaxloc0_16_i8 (gfc_array_i16 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_8 maxval;
@ -253,7 +253,7 @@ mmaxloc0_16_i8 (gfc_array_i16 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base > maxval)
if (*mbase && (*base > maxval || !dest[0]))
{
maxval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ maxloc0_16_r10 (gfc_array_i16 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_10 maxval;
@ -118,7 +118,7 @@ maxloc0_16_r10 (gfc_array_i16 * const restrict retarray,
{
/* Implementation start. */
if (*base > maxval)
if (*base > maxval || !dest[0])
{
maxval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mmaxloc0_16_r10 (gfc_array_i16 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_10 maxval;
@ -253,7 +253,7 @@ mmaxloc0_16_r10 (gfc_array_i16 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base > maxval)
if (*mbase && (*base > maxval || !dest[0]))
{
maxval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ maxloc0_16_r16 (gfc_array_i16 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_16 maxval;
@ -118,7 +118,7 @@ maxloc0_16_r16 (gfc_array_i16 * const restrict retarray,
{
/* Implementation start. */
if (*base > maxval)
if (*base > maxval || !dest[0])
{
maxval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mmaxloc0_16_r16 (gfc_array_i16 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_16 maxval;
@ -253,7 +253,7 @@ mmaxloc0_16_r16 (gfc_array_i16 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base > maxval)
if (*mbase && (*base > maxval || !dest[0]))
{
maxval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ maxloc0_16_r4 (gfc_array_i16 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_4 maxval;
@ -118,7 +118,7 @@ maxloc0_16_r4 (gfc_array_i16 * const restrict retarray,
{
/* Implementation start. */
if (*base > maxval)
if (*base > maxval || !dest[0])
{
maxval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mmaxloc0_16_r4 (gfc_array_i16 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_4 maxval;
@ -253,7 +253,7 @@ mmaxloc0_16_r4 (gfc_array_i16 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base > maxval)
if (*mbase && (*base > maxval || !dest[0]))
{
maxval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ maxloc0_16_r8 (gfc_array_i16 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_8 maxval;
@ -118,7 +118,7 @@ maxloc0_16_r8 (gfc_array_i16 * const restrict retarray,
{
/* Implementation start. */
if (*base > maxval)
if (*base > maxval || !dest[0])
{
maxval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mmaxloc0_16_r8 (gfc_array_i16 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_8 maxval;
@ -253,7 +253,7 @@ mmaxloc0_16_r8 (gfc_array_i16 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base > maxval)
if (*mbase && (*base > maxval || !dest[0]))
{
maxval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ maxloc0_4_i16 (gfc_array_i4 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_16 maxval;
@ -118,7 +118,7 @@ maxloc0_4_i16 (gfc_array_i4 * const restrict retarray,
{
/* Implementation start. */
if (*base > maxval)
if (*base > maxval || !dest[0])
{
maxval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mmaxloc0_4_i16 (gfc_array_i4 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_16 maxval;
@ -253,7 +253,7 @@ mmaxloc0_4_i16 (gfc_array_i4 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base > maxval)
if (*mbase && (*base > maxval || !dest[0]))
{
maxval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ maxloc0_4_i4 (gfc_array_i4 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_4 maxval;
@ -118,7 +118,7 @@ maxloc0_4_i4 (gfc_array_i4 * const restrict retarray,
{
/* Implementation start. */
if (*base > maxval)
if (*base > maxval || !dest[0])
{
maxval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mmaxloc0_4_i4 (gfc_array_i4 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_4 maxval;
@ -253,7 +253,7 @@ mmaxloc0_4_i4 (gfc_array_i4 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base > maxval)
if (*mbase && (*base > maxval || !dest[0]))
{
maxval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ maxloc0_4_i8 (gfc_array_i4 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_8 maxval;
@ -118,7 +118,7 @@ maxloc0_4_i8 (gfc_array_i4 * const restrict retarray,
{
/* Implementation start. */
if (*base > maxval)
if (*base > maxval || !dest[0])
{
maxval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mmaxloc0_4_i8 (gfc_array_i4 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_8 maxval;
@ -253,7 +253,7 @@ mmaxloc0_4_i8 (gfc_array_i4 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base > maxval)
if (*mbase && (*base > maxval || !dest[0]))
{
maxval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ maxloc0_4_r10 (gfc_array_i4 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_10 maxval;
@ -118,7 +118,7 @@ maxloc0_4_r10 (gfc_array_i4 * const restrict retarray,
{
/* Implementation start. */
if (*base > maxval)
if (*base > maxval || !dest[0])
{
maxval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mmaxloc0_4_r10 (gfc_array_i4 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_10 maxval;
@ -253,7 +253,7 @@ mmaxloc0_4_r10 (gfc_array_i4 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base > maxval)
if (*mbase && (*base > maxval || !dest[0]))
{
maxval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ maxloc0_4_r16 (gfc_array_i4 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_16 maxval;
@ -118,7 +118,7 @@ maxloc0_4_r16 (gfc_array_i4 * const restrict retarray,
{
/* Implementation start. */
if (*base > maxval)
if (*base > maxval || !dest[0])
{
maxval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mmaxloc0_4_r16 (gfc_array_i4 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_16 maxval;
@ -253,7 +253,7 @@ mmaxloc0_4_r16 (gfc_array_i4 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base > maxval)
if (*mbase && (*base > maxval || !dest[0]))
{
maxval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ maxloc0_4_r4 (gfc_array_i4 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_4 maxval;
@ -118,7 +118,7 @@ maxloc0_4_r4 (gfc_array_i4 * const restrict retarray,
{
/* Implementation start. */
if (*base > maxval)
if (*base > maxval || !dest[0])
{
maxval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mmaxloc0_4_r4 (gfc_array_i4 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_4 maxval;
@ -253,7 +253,7 @@ mmaxloc0_4_r4 (gfc_array_i4 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base > maxval)
if (*mbase && (*base > maxval || !dest[0]))
{
maxval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ maxloc0_4_r8 (gfc_array_i4 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_8 maxval;
@ -118,7 +118,7 @@ maxloc0_4_r8 (gfc_array_i4 * const restrict retarray,
{
/* Implementation start. */
if (*base > maxval)
if (*base > maxval || !dest[0])
{
maxval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mmaxloc0_4_r8 (gfc_array_i4 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_8 maxval;
@ -253,7 +253,7 @@ mmaxloc0_4_r8 (gfc_array_i4 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base > maxval)
if (*mbase && (*base > maxval || !dest[0]))
{
maxval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ maxloc0_8_i16 (gfc_array_i8 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_16 maxval;
@ -118,7 +118,7 @@ maxloc0_8_i16 (gfc_array_i8 * const restrict retarray,
{
/* Implementation start. */
if (*base > maxval)
if (*base > maxval || !dest[0])
{
maxval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mmaxloc0_8_i16 (gfc_array_i8 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_16 maxval;
@ -253,7 +253,7 @@ mmaxloc0_8_i16 (gfc_array_i8 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base > maxval)
if (*mbase && (*base > maxval || !dest[0]))
{
maxval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ maxloc0_8_i4 (gfc_array_i8 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_4 maxval;
@ -118,7 +118,7 @@ maxloc0_8_i4 (gfc_array_i8 * const restrict retarray,
{
/* Implementation start. */
if (*base > maxval)
if (*base > maxval || !dest[0])
{
maxval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mmaxloc0_8_i4 (gfc_array_i8 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_4 maxval;
@ -253,7 +253,7 @@ mmaxloc0_8_i4 (gfc_array_i8 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base > maxval)
if (*mbase && (*base > maxval || !dest[0]))
{
maxval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ maxloc0_8_i8 (gfc_array_i8 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_8 maxval;
@ -118,7 +118,7 @@ maxloc0_8_i8 (gfc_array_i8 * const restrict retarray,
{
/* Implementation start. */
if (*base > maxval)
if (*base > maxval || !dest[0])
{
maxval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mmaxloc0_8_i8 (gfc_array_i8 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_8 maxval;
@ -253,7 +253,7 @@ mmaxloc0_8_i8 (gfc_array_i8 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base > maxval)
if (*mbase && (*base > maxval || !dest[0]))
{
maxval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ maxloc0_8_r10 (gfc_array_i8 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_10 maxval;
@ -118,7 +118,7 @@ maxloc0_8_r10 (gfc_array_i8 * const restrict retarray,
{
/* Implementation start. */
if (*base > maxval)
if (*base > maxval || !dest[0])
{
maxval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mmaxloc0_8_r10 (gfc_array_i8 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_10 maxval;
@ -253,7 +253,7 @@ mmaxloc0_8_r10 (gfc_array_i8 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base > maxval)
if (*mbase && (*base > maxval || !dest[0]))
{
maxval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ maxloc0_8_r16 (gfc_array_i8 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_16 maxval;
@ -118,7 +118,7 @@ maxloc0_8_r16 (gfc_array_i8 * const restrict retarray,
{
/* Implementation start. */
if (*base > maxval)
if (*base > maxval || !dest[0])
{
maxval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mmaxloc0_8_r16 (gfc_array_i8 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_16 maxval;
@ -253,7 +253,7 @@ mmaxloc0_8_r16 (gfc_array_i8 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base > maxval)
if (*mbase && (*base > maxval || !dest[0]))
{
maxval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ maxloc0_8_r4 (gfc_array_i8 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_4 maxval;
@ -118,7 +118,7 @@ maxloc0_8_r4 (gfc_array_i8 * const restrict retarray,
{
/* Implementation start. */
if (*base > maxval)
if (*base > maxval || !dest[0])
{
maxval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mmaxloc0_8_r4 (gfc_array_i8 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_4 maxval;
@ -253,7 +253,7 @@ mmaxloc0_8_r4 (gfc_array_i8 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base > maxval)
if (*mbase && (*base > maxval || !dest[0]))
{
maxval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ maxloc0_8_r8 (gfc_array_i8 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_8 maxval;
@ -118,7 +118,7 @@ maxloc0_8_r8 (gfc_array_i8 * const restrict retarray,
{
/* Implementation start. */
if (*base > maxval)
if (*base > maxval || !dest[0])
{
maxval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mmaxloc0_8_r8 (gfc_array_i8 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_8 maxval;
@ -253,7 +253,7 @@ mmaxloc0_8_r8 (gfc_array_i8 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base > maxval)
if (*mbase && (*base > maxval || !dest[0]))
{
maxval = *base;
for (n = 0; n < rank; n++)

View file

@ -132,7 +132,7 @@ maxloc1_16_i16 (gfc_array_i16 * const restrict retarray,
GFC_INTEGER_16 maxval;
maxval = -GFC_INTEGER_16_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ maxloc1_16_i16 (gfc_array_i16 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src > maxval)
if (*src > maxval || !result)
{
maxval = *src;
result = (GFC_INTEGER_16)n + 1;
@ -299,7 +299,7 @@ mmaxloc1_16_i16 (gfc_array_i16 * const restrict retarray,
GFC_INTEGER_16 maxval;
maxval = -GFC_INTEGER_16_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mmaxloc1_16_i16 (gfc_array_i16 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src > maxval)
if (*msrc && (*src > maxval || !result))
{
maxval = *src;
result = (GFC_INTEGER_16)n + 1;

View file

@ -132,7 +132,7 @@ maxloc1_16_i4 (gfc_array_i16 * const restrict retarray,
GFC_INTEGER_4 maxval;
maxval = -GFC_INTEGER_4_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ maxloc1_16_i4 (gfc_array_i16 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src > maxval)
if (*src > maxval || !result)
{
maxval = *src;
result = (GFC_INTEGER_16)n + 1;
@ -299,7 +299,7 @@ mmaxloc1_16_i4 (gfc_array_i16 * const restrict retarray,
GFC_INTEGER_4 maxval;
maxval = -GFC_INTEGER_4_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mmaxloc1_16_i4 (gfc_array_i16 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src > maxval)
if (*msrc && (*src > maxval || !result))
{
maxval = *src;
result = (GFC_INTEGER_16)n + 1;

View file

@ -132,7 +132,7 @@ maxloc1_16_i8 (gfc_array_i16 * const restrict retarray,
GFC_INTEGER_8 maxval;
maxval = -GFC_INTEGER_8_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ maxloc1_16_i8 (gfc_array_i16 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src > maxval)
if (*src > maxval || !result)
{
maxval = *src;
result = (GFC_INTEGER_16)n + 1;
@ -299,7 +299,7 @@ mmaxloc1_16_i8 (gfc_array_i16 * const restrict retarray,
GFC_INTEGER_8 maxval;
maxval = -GFC_INTEGER_8_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mmaxloc1_16_i8 (gfc_array_i16 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src > maxval)
if (*msrc && (*src > maxval || !result))
{
maxval = *src;
result = (GFC_INTEGER_16)n + 1;

View file

@ -132,7 +132,7 @@ maxloc1_16_r10 (gfc_array_i16 * const restrict retarray,
GFC_REAL_10 maxval;
maxval = -GFC_REAL_10_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ maxloc1_16_r10 (gfc_array_i16 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src > maxval)
if (*src > maxval || !result)
{
maxval = *src;
result = (GFC_INTEGER_16)n + 1;
@ -299,7 +299,7 @@ mmaxloc1_16_r10 (gfc_array_i16 * const restrict retarray,
GFC_REAL_10 maxval;
maxval = -GFC_REAL_10_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mmaxloc1_16_r10 (gfc_array_i16 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src > maxval)
if (*msrc && (*src > maxval || !result))
{
maxval = *src;
result = (GFC_INTEGER_16)n + 1;

View file

@ -132,7 +132,7 @@ maxloc1_16_r16 (gfc_array_i16 * const restrict retarray,
GFC_REAL_16 maxval;
maxval = -GFC_REAL_16_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ maxloc1_16_r16 (gfc_array_i16 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src > maxval)
if (*src > maxval || !result)
{
maxval = *src;
result = (GFC_INTEGER_16)n + 1;
@ -299,7 +299,7 @@ mmaxloc1_16_r16 (gfc_array_i16 * const restrict retarray,
GFC_REAL_16 maxval;
maxval = -GFC_REAL_16_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mmaxloc1_16_r16 (gfc_array_i16 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src > maxval)
if (*msrc && (*src > maxval || !result))
{
maxval = *src;
result = (GFC_INTEGER_16)n + 1;

View file

@ -132,7 +132,7 @@ maxloc1_16_r4 (gfc_array_i16 * const restrict retarray,
GFC_REAL_4 maxval;
maxval = -GFC_REAL_4_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ maxloc1_16_r4 (gfc_array_i16 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src > maxval)
if (*src > maxval || !result)
{
maxval = *src;
result = (GFC_INTEGER_16)n + 1;
@ -299,7 +299,7 @@ mmaxloc1_16_r4 (gfc_array_i16 * const restrict retarray,
GFC_REAL_4 maxval;
maxval = -GFC_REAL_4_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mmaxloc1_16_r4 (gfc_array_i16 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src > maxval)
if (*msrc && (*src > maxval || !result))
{
maxval = *src;
result = (GFC_INTEGER_16)n + 1;

View file

@ -132,7 +132,7 @@ maxloc1_16_r8 (gfc_array_i16 * const restrict retarray,
GFC_REAL_8 maxval;
maxval = -GFC_REAL_8_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ maxloc1_16_r8 (gfc_array_i16 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src > maxval)
if (*src > maxval || !result)
{
maxval = *src;
result = (GFC_INTEGER_16)n + 1;
@ -299,7 +299,7 @@ mmaxloc1_16_r8 (gfc_array_i16 * const restrict retarray,
GFC_REAL_8 maxval;
maxval = -GFC_REAL_8_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mmaxloc1_16_r8 (gfc_array_i16 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src > maxval)
if (*msrc && (*src > maxval || !result))
{
maxval = *src;
result = (GFC_INTEGER_16)n + 1;

View file

@ -132,7 +132,7 @@ maxloc1_4_i16 (gfc_array_i4 * const restrict retarray,
GFC_INTEGER_16 maxval;
maxval = -GFC_INTEGER_16_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ maxloc1_4_i16 (gfc_array_i4 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src > maxval)
if (*src > maxval || !result)
{
maxval = *src;
result = (GFC_INTEGER_4)n + 1;
@ -299,7 +299,7 @@ mmaxloc1_4_i16 (gfc_array_i4 * const restrict retarray,
GFC_INTEGER_16 maxval;
maxval = -GFC_INTEGER_16_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mmaxloc1_4_i16 (gfc_array_i4 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src > maxval)
if (*msrc && (*src > maxval || !result))
{
maxval = *src;
result = (GFC_INTEGER_4)n + 1;

View file

@ -132,7 +132,7 @@ maxloc1_4_i4 (gfc_array_i4 * const restrict retarray,
GFC_INTEGER_4 maxval;
maxval = -GFC_INTEGER_4_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ maxloc1_4_i4 (gfc_array_i4 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src > maxval)
if (*src > maxval || !result)
{
maxval = *src;
result = (GFC_INTEGER_4)n + 1;
@ -299,7 +299,7 @@ mmaxloc1_4_i4 (gfc_array_i4 * const restrict retarray,
GFC_INTEGER_4 maxval;
maxval = -GFC_INTEGER_4_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mmaxloc1_4_i4 (gfc_array_i4 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src > maxval)
if (*msrc && (*src > maxval || !result))
{
maxval = *src;
result = (GFC_INTEGER_4)n + 1;

View file

@ -132,7 +132,7 @@ maxloc1_4_i8 (gfc_array_i4 * const restrict retarray,
GFC_INTEGER_8 maxval;
maxval = -GFC_INTEGER_8_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ maxloc1_4_i8 (gfc_array_i4 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src > maxval)
if (*src > maxval || !result)
{
maxval = *src;
result = (GFC_INTEGER_4)n + 1;
@ -299,7 +299,7 @@ mmaxloc1_4_i8 (gfc_array_i4 * const restrict retarray,
GFC_INTEGER_8 maxval;
maxval = -GFC_INTEGER_8_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mmaxloc1_4_i8 (gfc_array_i4 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src > maxval)
if (*msrc && (*src > maxval || !result))
{
maxval = *src;
result = (GFC_INTEGER_4)n + 1;

View file

@ -132,7 +132,7 @@ maxloc1_4_r10 (gfc_array_i4 * const restrict retarray,
GFC_REAL_10 maxval;
maxval = -GFC_REAL_10_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ maxloc1_4_r10 (gfc_array_i4 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src > maxval)
if (*src > maxval || !result)
{
maxval = *src;
result = (GFC_INTEGER_4)n + 1;
@ -299,7 +299,7 @@ mmaxloc1_4_r10 (gfc_array_i4 * const restrict retarray,
GFC_REAL_10 maxval;
maxval = -GFC_REAL_10_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mmaxloc1_4_r10 (gfc_array_i4 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src > maxval)
if (*msrc && (*src > maxval || !result))
{
maxval = *src;
result = (GFC_INTEGER_4)n + 1;

View file

@ -132,7 +132,7 @@ maxloc1_4_r16 (gfc_array_i4 * const restrict retarray,
GFC_REAL_16 maxval;
maxval = -GFC_REAL_16_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ maxloc1_4_r16 (gfc_array_i4 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src > maxval)
if (*src > maxval || !result)
{
maxval = *src;
result = (GFC_INTEGER_4)n + 1;
@ -299,7 +299,7 @@ mmaxloc1_4_r16 (gfc_array_i4 * const restrict retarray,
GFC_REAL_16 maxval;
maxval = -GFC_REAL_16_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mmaxloc1_4_r16 (gfc_array_i4 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src > maxval)
if (*msrc && (*src > maxval || !result))
{
maxval = *src;
result = (GFC_INTEGER_4)n + 1;

View file

@ -132,7 +132,7 @@ maxloc1_4_r4 (gfc_array_i4 * const restrict retarray,
GFC_REAL_4 maxval;
maxval = -GFC_REAL_4_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ maxloc1_4_r4 (gfc_array_i4 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src > maxval)
if (*src > maxval || !result)
{
maxval = *src;
result = (GFC_INTEGER_4)n + 1;
@ -299,7 +299,7 @@ mmaxloc1_4_r4 (gfc_array_i4 * const restrict retarray,
GFC_REAL_4 maxval;
maxval = -GFC_REAL_4_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mmaxloc1_4_r4 (gfc_array_i4 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src > maxval)
if (*msrc && (*src > maxval || !result))
{
maxval = *src;
result = (GFC_INTEGER_4)n + 1;

View file

@ -132,7 +132,7 @@ maxloc1_4_r8 (gfc_array_i4 * const restrict retarray,
GFC_REAL_8 maxval;
maxval = -GFC_REAL_8_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ maxloc1_4_r8 (gfc_array_i4 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src > maxval)
if (*src > maxval || !result)
{
maxval = *src;
result = (GFC_INTEGER_4)n + 1;
@ -299,7 +299,7 @@ mmaxloc1_4_r8 (gfc_array_i4 * const restrict retarray,
GFC_REAL_8 maxval;
maxval = -GFC_REAL_8_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mmaxloc1_4_r8 (gfc_array_i4 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src > maxval)
if (*msrc && (*src > maxval || !result))
{
maxval = *src;
result = (GFC_INTEGER_4)n + 1;

View file

@ -132,7 +132,7 @@ maxloc1_8_i16 (gfc_array_i8 * const restrict retarray,
GFC_INTEGER_16 maxval;
maxval = -GFC_INTEGER_16_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ maxloc1_8_i16 (gfc_array_i8 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src > maxval)
if (*src > maxval || !result)
{
maxval = *src;
result = (GFC_INTEGER_8)n + 1;
@ -299,7 +299,7 @@ mmaxloc1_8_i16 (gfc_array_i8 * const restrict retarray,
GFC_INTEGER_16 maxval;
maxval = -GFC_INTEGER_16_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mmaxloc1_8_i16 (gfc_array_i8 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src > maxval)
if (*msrc && (*src > maxval || !result))
{
maxval = *src;
result = (GFC_INTEGER_8)n + 1;

View file

@ -132,7 +132,7 @@ maxloc1_8_i4 (gfc_array_i8 * const restrict retarray,
GFC_INTEGER_4 maxval;
maxval = -GFC_INTEGER_4_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ maxloc1_8_i4 (gfc_array_i8 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src > maxval)
if (*src > maxval || !result)
{
maxval = *src;
result = (GFC_INTEGER_8)n + 1;
@ -299,7 +299,7 @@ mmaxloc1_8_i4 (gfc_array_i8 * const restrict retarray,
GFC_INTEGER_4 maxval;
maxval = -GFC_INTEGER_4_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mmaxloc1_8_i4 (gfc_array_i8 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src > maxval)
if (*msrc && (*src > maxval || !result))
{
maxval = *src;
result = (GFC_INTEGER_8)n + 1;

View file

@ -132,7 +132,7 @@ maxloc1_8_i8 (gfc_array_i8 * const restrict retarray,
GFC_INTEGER_8 maxval;
maxval = -GFC_INTEGER_8_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ maxloc1_8_i8 (gfc_array_i8 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src > maxval)
if (*src > maxval || !result)
{
maxval = *src;
result = (GFC_INTEGER_8)n + 1;
@ -299,7 +299,7 @@ mmaxloc1_8_i8 (gfc_array_i8 * const restrict retarray,
GFC_INTEGER_8 maxval;
maxval = -GFC_INTEGER_8_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mmaxloc1_8_i8 (gfc_array_i8 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src > maxval)
if (*msrc && (*src > maxval || !result))
{
maxval = *src;
result = (GFC_INTEGER_8)n + 1;

View file

@ -132,7 +132,7 @@ maxloc1_8_r10 (gfc_array_i8 * const restrict retarray,
GFC_REAL_10 maxval;
maxval = -GFC_REAL_10_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ maxloc1_8_r10 (gfc_array_i8 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src > maxval)
if (*src > maxval || !result)
{
maxval = *src;
result = (GFC_INTEGER_8)n + 1;
@ -299,7 +299,7 @@ mmaxloc1_8_r10 (gfc_array_i8 * const restrict retarray,
GFC_REAL_10 maxval;
maxval = -GFC_REAL_10_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mmaxloc1_8_r10 (gfc_array_i8 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src > maxval)
if (*msrc && (*src > maxval || !result))
{
maxval = *src;
result = (GFC_INTEGER_8)n + 1;

View file

@ -132,7 +132,7 @@ maxloc1_8_r16 (gfc_array_i8 * const restrict retarray,
GFC_REAL_16 maxval;
maxval = -GFC_REAL_16_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ maxloc1_8_r16 (gfc_array_i8 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src > maxval)
if (*src > maxval || !result)
{
maxval = *src;
result = (GFC_INTEGER_8)n + 1;
@ -299,7 +299,7 @@ mmaxloc1_8_r16 (gfc_array_i8 * const restrict retarray,
GFC_REAL_16 maxval;
maxval = -GFC_REAL_16_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mmaxloc1_8_r16 (gfc_array_i8 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src > maxval)
if (*msrc && (*src > maxval || !result))
{
maxval = *src;
result = (GFC_INTEGER_8)n + 1;

View file

@ -132,7 +132,7 @@ maxloc1_8_r4 (gfc_array_i8 * const restrict retarray,
GFC_REAL_4 maxval;
maxval = -GFC_REAL_4_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ maxloc1_8_r4 (gfc_array_i8 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src > maxval)
if (*src > maxval || !result)
{
maxval = *src;
result = (GFC_INTEGER_8)n + 1;
@ -299,7 +299,7 @@ mmaxloc1_8_r4 (gfc_array_i8 * const restrict retarray,
GFC_REAL_4 maxval;
maxval = -GFC_REAL_4_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mmaxloc1_8_r4 (gfc_array_i8 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src > maxval)
if (*msrc && (*src > maxval || !result))
{
maxval = *src;
result = (GFC_INTEGER_8)n + 1;

View file

@ -132,7 +132,7 @@ maxloc1_8_r8 (gfc_array_i8 * const restrict retarray,
GFC_REAL_8 maxval;
maxval = -GFC_REAL_8_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ maxloc1_8_r8 (gfc_array_i8 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src > maxval)
if (*src > maxval || !result)
{
maxval = *src;
result = (GFC_INTEGER_8)n + 1;
@ -299,7 +299,7 @@ mmaxloc1_8_r8 (gfc_array_i8 * const restrict retarray,
GFC_REAL_8 maxval;
maxval = -GFC_REAL_8_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mmaxloc1_8_r8 (gfc_array_i8 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src > maxval)
if (*msrc && (*src > maxval || !result))
{
maxval = *src;
result = (GFC_INTEGER_8)n + 1;

View file

@ -106,7 +106,7 @@ minloc0_16_i16 (gfc_array_i16 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_16 minval;
@ -118,7 +118,7 @@ minloc0_16_i16 (gfc_array_i16 * const restrict retarray,
{
/* Implementation start. */
if (*base < minval)
if (*base < minval || !dest[0])
{
minval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mminloc0_16_i16 (gfc_array_i16 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_16 minval;
@ -253,7 +253,7 @@ mminloc0_16_i16 (gfc_array_i16 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base < minval)
if (*mbase && (*base < minval || !dest[0]))
{
minval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ minloc0_16_i4 (gfc_array_i16 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_4 minval;
@ -118,7 +118,7 @@ minloc0_16_i4 (gfc_array_i16 * const restrict retarray,
{
/* Implementation start. */
if (*base < minval)
if (*base < minval || !dest[0])
{
minval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mminloc0_16_i4 (gfc_array_i16 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_4 minval;
@ -253,7 +253,7 @@ mminloc0_16_i4 (gfc_array_i16 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base < minval)
if (*mbase && (*base < minval || !dest[0]))
{
minval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ minloc0_16_i8 (gfc_array_i16 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_8 minval;
@ -118,7 +118,7 @@ minloc0_16_i8 (gfc_array_i16 * const restrict retarray,
{
/* Implementation start. */
if (*base < minval)
if (*base < minval || !dest[0])
{
minval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mminloc0_16_i8 (gfc_array_i16 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_8 minval;
@ -253,7 +253,7 @@ mminloc0_16_i8 (gfc_array_i16 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base < minval)
if (*mbase && (*base < minval || !dest[0]))
{
minval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ minloc0_16_r10 (gfc_array_i16 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_10 minval;
@ -118,7 +118,7 @@ minloc0_16_r10 (gfc_array_i16 * const restrict retarray,
{
/* Implementation start. */
if (*base < minval)
if (*base < minval || !dest[0])
{
minval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mminloc0_16_r10 (gfc_array_i16 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_10 minval;
@ -253,7 +253,7 @@ mminloc0_16_r10 (gfc_array_i16 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base < minval)
if (*mbase && (*base < minval || !dest[0]))
{
minval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ minloc0_16_r16 (gfc_array_i16 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_16 minval;
@ -118,7 +118,7 @@ minloc0_16_r16 (gfc_array_i16 * const restrict retarray,
{
/* Implementation start. */
if (*base < minval)
if (*base < minval || !dest[0])
{
minval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mminloc0_16_r16 (gfc_array_i16 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_16 minval;
@ -253,7 +253,7 @@ mminloc0_16_r16 (gfc_array_i16 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base < minval)
if (*mbase && (*base < minval || !dest[0]))
{
minval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ minloc0_16_r4 (gfc_array_i16 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_4 minval;
@ -118,7 +118,7 @@ minloc0_16_r4 (gfc_array_i16 * const restrict retarray,
{
/* Implementation start. */
if (*base < minval)
if (*base < minval || !dest[0])
{
minval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mminloc0_16_r4 (gfc_array_i16 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_4 minval;
@ -253,7 +253,7 @@ mminloc0_16_r4 (gfc_array_i16 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base < minval)
if (*mbase && (*base < minval || !dest[0]))
{
minval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ minloc0_16_r8 (gfc_array_i16 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_8 minval;
@ -118,7 +118,7 @@ minloc0_16_r8 (gfc_array_i16 * const restrict retarray,
{
/* Implementation start. */
if (*base < minval)
if (*base < minval || !dest[0])
{
minval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mminloc0_16_r8 (gfc_array_i16 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_8 minval;
@ -253,7 +253,7 @@ mminloc0_16_r8 (gfc_array_i16 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base < minval)
if (*mbase && (*base < minval || !dest[0]))
{
minval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ minloc0_4_i16 (gfc_array_i4 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_16 minval;
@ -118,7 +118,7 @@ minloc0_4_i16 (gfc_array_i4 * const restrict retarray,
{
/* Implementation start. */
if (*base < minval)
if (*base < minval || !dest[0])
{
minval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mminloc0_4_i16 (gfc_array_i4 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_16 minval;
@ -253,7 +253,7 @@ mminloc0_4_i16 (gfc_array_i4 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base < minval)
if (*mbase && (*base < minval || !dest[0]))
{
minval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ minloc0_4_i4 (gfc_array_i4 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_4 minval;
@ -118,7 +118,7 @@ minloc0_4_i4 (gfc_array_i4 * const restrict retarray,
{
/* Implementation start. */
if (*base < minval)
if (*base < minval || !dest[0])
{
minval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mminloc0_4_i4 (gfc_array_i4 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_4 minval;
@ -253,7 +253,7 @@ mminloc0_4_i4 (gfc_array_i4 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base < minval)
if (*mbase && (*base < minval || !dest[0]))
{
minval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ minloc0_4_i8 (gfc_array_i4 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_8 minval;
@ -118,7 +118,7 @@ minloc0_4_i8 (gfc_array_i4 * const restrict retarray,
{
/* Implementation start. */
if (*base < minval)
if (*base < minval || !dest[0])
{
minval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mminloc0_4_i8 (gfc_array_i4 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_8 minval;
@ -253,7 +253,7 @@ mminloc0_4_i8 (gfc_array_i4 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base < minval)
if (*mbase && (*base < minval || !dest[0]))
{
minval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ minloc0_4_r10 (gfc_array_i4 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_10 minval;
@ -118,7 +118,7 @@ minloc0_4_r10 (gfc_array_i4 * const restrict retarray,
{
/* Implementation start. */
if (*base < minval)
if (*base < minval || !dest[0])
{
minval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mminloc0_4_r10 (gfc_array_i4 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_10 minval;
@ -253,7 +253,7 @@ mminloc0_4_r10 (gfc_array_i4 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base < minval)
if (*mbase && (*base < minval || !dest[0]))
{
minval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ minloc0_4_r16 (gfc_array_i4 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_16 minval;
@ -118,7 +118,7 @@ minloc0_4_r16 (gfc_array_i4 * const restrict retarray,
{
/* Implementation start. */
if (*base < minval)
if (*base < minval || !dest[0])
{
minval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mminloc0_4_r16 (gfc_array_i4 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_16 minval;
@ -253,7 +253,7 @@ mminloc0_4_r16 (gfc_array_i4 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base < minval)
if (*mbase && (*base < minval || !dest[0]))
{
minval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ minloc0_4_r4 (gfc_array_i4 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_4 minval;
@ -118,7 +118,7 @@ minloc0_4_r4 (gfc_array_i4 * const restrict retarray,
{
/* Implementation start. */
if (*base < minval)
if (*base < minval || !dest[0])
{
minval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mminloc0_4_r4 (gfc_array_i4 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_4 minval;
@ -253,7 +253,7 @@ mminloc0_4_r4 (gfc_array_i4 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base < minval)
if (*mbase && (*base < minval || !dest[0]))
{
minval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ minloc0_4_r8 (gfc_array_i4 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_8 minval;
@ -118,7 +118,7 @@ minloc0_4_r8 (gfc_array_i4 * const restrict retarray,
{
/* Implementation start. */
if (*base < minval)
if (*base < minval || !dest[0])
{
minval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mminloc0_4_r8 (gfc_array_i4 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_8 minval;
@ -253,7 +253,7 @@ mminloc0_4_r8 (gfc_array_i4 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base < minval)
if (*mbase && (*base < minval || !dest[0]))
{
minval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ minloc0_8_i16 (gfc_array_i8 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_16 minval;
@ -118,7 +118,7 @@ minloc0_8_i16 (gfc_array_i8 * const restrict retarray,
{
/* Implementation start. */
if (*base < minval)
if (*base < minval || !dest[0])
{
minval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mminloc0_8_i16 (gfc_array_i8 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_16 minval;
@ -253,7 +253,7 @@ mminloc0_8_i16 (gfc_array_i8 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base < minval)
if (*mbase && (*base < minval || !dest[0]))
{
minval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ minloc0_8_i4 (gfc_array_i8 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_4 minval;
@ -118,7 +118,7 @@ minloc0_8_i4 (gfc_array_i8 * const restrict retarray,
{
/* Implementation start. */
if (*base < minval)
if (*base < minval || !dest[0])
{
minval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mminloc0_8_i4 (gfc_array_i8 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_4 minval;
@ -253,7 +253,7 @@ mminloc0_8_i4 (gfc_array_i8 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base < minval)
if (*mbase && (*base < minval || !dest[0]))
{
minval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ minloc0_8_i8 (gfc_array_i8 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_8 minval;
@ -118,7 +118,7 @@ minloc0_8_i8 (gfc_array_i8 * const restrict retarray,
{
/* Implementation start. */
if (*base < minval)
if (*base < minval || !dest[0])
{
minval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mminloc0_8_i8 (gfc_array_i8 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_INTEGER_8 minval;
@ -253,7 +253,7 @@ mminloc0_8_i8 (gfc_array_i8 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base < minval)
if (*mbase && (*base < minval || !dest[0]))
{
minval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ minloc0_8_r10 (gfc_array_i8 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_10 minval;
@ -118,7 +118,7 @@ minloc0_8_r10 (gfc_array_i8 * const restrict retarray,
{
/* Implementation start. */
if (*base < minval)
if (*base < minval || !dest[0])
{
minval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mminloc0_8_r10 (gfc_array_i8 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_10 minval;
@ -253,7 +253,7 @@ mminloc0_8_r10 (gfc_array_i8 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base < minval)
if (*mbase && (*base < minval || !dest[0]))
{
minval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ minloc0_8_r16 (gfc_array_i8 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_16 minval;
@ -118,7 +118,7 @@ minloc0_8_r16 (gfc_array_i8 * const restrict retarray,
{
/* Implementation start. */
if (*base < minval)
if (*base < minval || !dest[0])
{
minval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mminloc0_8_r16 (gfc_array_i8 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_16 minval;
@ -253,7 +253,7 @@ mminloc0_8_r16 (gfc_array_i8 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base < minval)
if (*mbase && (*base < minval || !dest[0]))
{
minval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ minloc0_8_r4 (gfc_array_i8 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_4 minval;
@ -118,7 +118,7 @@ minloc0_8_r4 (gfc_array_i8 * const restrict retarray,
{
/* Implementation start. */
if (*base < minval)
if (*base < minval || !dest[0])
{
minval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mminloc0_8_r4 (gfc_array_i8 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_4 minval;
@ -253,7 +253,7 @@ mminloc0_8_r4 (gfc_array_i8 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base < minval)
if (*mbase && (*base < minval || !dest[0]))
{
minval = *base;
for (n = 0; n < rank; n++)

View file

@ -106,7 +106,7 @@ minloc0_8_r8 (gfc_array_i8 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_8 minval;
@ -118,7 +118,7 @@ minloc0_8_r8 (gfc_array_i8 * const restrict retarray,
{
/* Implementation start. */
if (*base < minval)
if (*base < minval || !dest[0])
{
minval = *base;
for (n = 0; n < rank; n++)
@ -241,7 +241,7 @@ mminloc0_8_r8 (gfc_array_i8 * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
GFC_REAL_8 minval;
@ -253,7 +253,7 @@ mminloc0_8_r8 (gfc_array_i8 * const restrict retarray,
{
/* Implementation start. */
if (*mbase && *base < minval)
if (*mbase && (*base < minval || !dest[0]))
{
minval = *base;
for (n = 0; n < rank; n++)

View file

@ -132,7 +132,7 @@ minloc1_16_i16 (gfc_array_i16 * const restrict retarray,
GFC_INTEGER_16 minval;
minval = GFC_INTEGER_16_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ minloc1_16_i16 (gfc_array_i16 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src < minval)
if (*src < minval || !result)
{
minval = *src;
result = (GFC_INTEGER_16)n + 1;
@ -299,7 +299,7 @@ mminloc1_16_i16 (gfc_array_i16 * const restrict retarray,
GFC_INTEGER_16 minval;
minval = GFC_INTEGER_16_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mminloc1_16_i16 (gfc_array_i16 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src < minval)
if (*msrc && (*src < minval || !result))
{
minval = *src;
result = (GFC_INTEGER_16)n + 1;

View file

@ -132,7 +132,7 @@ minloc1_16_i4 (gfc_array_i16 * const restrict retarray,
GFC_INTEGER_4 minval;
minval = GFC_INTEGER_4_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ minloc1_16_i4 (gfc_array_i16 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src < minval)
if (*src < minval || !result)
{
minval = *src;
result = (GFC_INTEGER_16)n + 1;
@ -299,7 +299,7 @@ mminloc1_16_i4 (gfc_array_i16 * const restrict retarray,
GFC_INTEGER_4 minval;
minval = GFC_INTEGER_4_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mminloc1_16_i4 (gfc_array_i16 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src < minval)
if (*msrc && (*src < minval || !result))
{
minval = *src;
result = (GFC_INTEGER_16)n + 1;

View file

@ -132,7 +132,7 @@ minloc1_16_i8 (gfc_array_i16 * const restrict retarray,
GFC_INTEGER_8 minval;
minval = GFC_INTEGER_8_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ minloc1_16_i8 (gfc_array_i16 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src < minval)
if (*src < minval || !result)
{
minval = *src;
result = (GFC_INTEGER_16)n + 1;
@ -299,7 +299,7 @@ mminloc1_16_i8 (gfc_array_i16 * const restrict retarray,
GFC_INTEGER_8 minval;
minval = GFC_INTEGER_8_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mminloc1_16_i8 (gfc_array_i16 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src < minval)
if (*msrc && (*src < minval || !result))
{
minval = *src;
result = (GFC_INTEGER_16)n + 1;

View file

@ -132,7 +132,7 @@ minloc1_16_r10 (gfc_array_i16 * const restrict retarray,
GFC_REAL_10 minval;
minval = GFC_REAL_10_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ minloc1_16_r10 (gfc_array_i16 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src < minval)
if (*src < minval || !result)
{
minval = *src;
result = (GFC_INTEGER_16)n + 1;
@ -299,7 +299,7 @@ mminloc1_16_r10 (gfc_array_i16 * const restrict retarray,
GFC_REAL_10 minval;
minval = GFC_REAL_10_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mminloc1_16_r10 (gfc_array_i16 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src < minval)
if (*msrc && (*src < minval || !result))
{
minval = *src;
result = (GFC_INTEGER_16)n + 1;

View file

@ -132,7 +132,7 @@ minloc1_16_r16 (gfc_array_i16 * const restrict retarray,
GFC_REAL_16 minval;
minval = GFC_REAL_16_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ minloc1_16_r16 (gfc_array_i16 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src < minval)
if (*src < minval || !result)
{
minval = *src;
result = (GFC_INTEGER_16)n + 1;
@ -299,7 +299,7 @@ mminloc1_16_r16 (gfc_array_i16 * const restrict retarray,
GFC_REAL_16 minval;
minval = GFC_REAL_16_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mminloc1_16_r16 (gfc_array_i16 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src < minval)
if (*msrc && (*src < minval || !result))
{
minval = *src;
result = (GFC_INTEGER_16)n + 1;

View file

@ -132,7 +132,7 @@ minloc1_16_r4 (gfc_array_i16 * const restrict retarray,
GFC_REAL_4 minval;
minval = GFC_REAL_4_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ minloc1_16_r4 (gfc_array_i16 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src < minval)
if (*src < minval || !result)
{
minval = *src;
result = (GFC_INTEGER_16)n + 1;
@ -299,7 +299,7 @@ mminloc1_16_r4 (gfc_array_i16 * const restrict retarray,
GFC_REAL_4 minval;
minval = GFC_REAL_4_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mminloc1_16_r4 (gfc_array_i16 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src < minval)
if (*msrc && (*src < minval || !result))
{
minval = *src;
result = (GFC_INTEGER_16)n + 1;

View file

@ -132,7 +132,7 @@ minloc1_16_r8 (gfc_array_i16 * const restrict retarray,
GFC_REAL_8 minval;
minval = GFC_REAL_8_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ minloc1_16_r8 (gfc_array_i16 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src < minval)
if (*src < minval || !result)
{
minval = *src;
result = (GFC_INTEGER_16)n + 1;
@ -299,7 +299,7 @@ mminloc1_16_r8 (gfc_array_i16 * const restrict retarray,
GFC_REAL_8 minval;
minval = GFC_REAL_8_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mminloc1_16_r8 (gfc_array_i16 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src < minval)
if (*msrc && (*src < minval || !result))
{
minval = *src;
result = (GFC_INTEGER_16)n + 1;

View file

@ -132,7 +132,7 @@ minloc1_4_i16 (gfc_array_i4 * const restrict retarray,
GFC_INTEGER_16 minval;
minval = GFC_INTEGER_16_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ minloc1_4_i16 (gfc_array_i4 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src < minval)
if (*src < minval || !result)
{
minval = *src;
result = (GFC_INTEGER_4)n + 1;
@ -299,7 +299,7 @@ mminloc1_4_i16 (gfc_array_i4 * const restrict retarray,
GFC_INTEGER_16 minval;
minval = GFC_INTEGER_16_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mminloc1_4_i16 (gfc_array_i4 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src < minval)
if (*msrc && (*src < minval || !result))
{
minval = *src;
result = (GFC_INTEGER_4)n + 1;

View file

@ -132,7 +132,7 @@ minloc1_4_i4 (gfc_array_i4 * const restrict retarray,
GFC_INTEGER_4 minval;
minval = GFC_INTEGER_4_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ minloc1_4_i4 (gfc_array_i4 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src < minval)
if (*src < minval || !result)
{
minval = *src;
result = (GFC_INTEGER_4)n + 1;
@ -299,7 +299,7 @@ mminloc1_4_i4 (gfc_array_i4 * const restrict retarray,
GFC_INTEGER_4 minval;
minval = GFC_INTEGER_4_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mminloc1_4_i4 (gfc_array_i4 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src < minval)
if (*msrc && (*src < minval || !result))
{
minval = *src;
result = (GFC_INTEGER_4)n + 1;

View file

@ -132,7 +132,7 @@ minloc1_4_i8 (gfc_array_i4 * const restrict retarray,
GFC_INTEGER_8 minval;
minval = GFC_INTEGER_8_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ minloc1_4_i8 (gfc_array_i4 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src < minval)
if (*src < minval || !result)
{
minval = *src;
result = (GFC_INTEGER_4)n + 1;
@ -299,7 +299,7 @@ mminloc1_4_i8 (gfc_array_i4 * const restrict retarray,
GFC_INTEGER_8 minval;
minval = GFC_INTEGER_8_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mminloc1_4_i8 (gfc_array_i4 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src < minval)
if (*msrc && (*src < minval || !result))
{
minval = *src;
result = (GFC_INTEGER_4)n + 1;

View file

@ -132,7 +132,7 @@ minloc1_4_r10 (gfc_array_i4 * const restrict retarray,
GFC_REAL_10 minval;
minval = GFC_REAL_10_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ minloc1_4_r10 (gfc_array_i4 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src < minval)
if (*src < minval || !result)
{
minval = *src;
result = (GFC_INTEGER_4)n + 1;
@ -299,7 +299,7 @@ mminloc1_4_r10 (gfc_array_i4 * const restrict retarray,
GFC_REAL_10 minval;
minval = GFC_REAL_10_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mminloc1_4_r10 (gfc_array_i4 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src < minval)
if (*msrc && (*src < minval || !result))
{
minval = *src;
result = (GFC_INTEGER_4)n + 1;

View file

@ -132,7 +132,7 @@ minloc1_4_r16 (gfc_array_i4 * const restrict retarray,
GFC_REAL_16 minval;
minval = GFC_REAL_16_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ minloc1_4_r16 (gfc_array_i4 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src < minval)
if (*src < minval || !result)
{
minval = *src;
result = (GFC_INTEGER_4)n + 1;
@ -299,7 +299,7 @@ mminloc1_4_r16 (gfc_array_i4 * const restrict retarray,
GFC_REAL_16 minval;
minval = GFC_REAL_16_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mminloc1_4_r16 (gfc_array_i4 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src < minval)
if (*msrc && (*src < minval || !result))
{
minval = *src;
result = (GFC_INTEGER_4)n + 1;

View file

@ -132,7 +132,7 @@ minloc1_4_r4 (gfc_array_i4 * const restrict retarray,
GFC_REAL_4 minval;
minval = GFC_REAL_4_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ minloc1_4_r4 (gfc_array_i4 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src < minval)
if (*src < minval || !result)
{
minval = *src;
result = (GFC_INTEGER_4)n + 1;
@ -299,7 +299,7 @@ mminloc1_4_r4 (gfc_array_i4 * const restrict retarray,
GFC_REAL_4 minval;
minval = GFC_REAL_4_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mminloc1_4_r4 (gfc_array_i4 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src < minval)
if (*msrc && (*src < minval || !result))
{
minval = *src;
result = (GFC_INTEGER_4)n + 1;

View file

@ -132,7 +132,7 @@ minloc1_4_r8 (gfc_array_i4 * const restrict retarray,
GFC_REAL_8 minval;
minval = GFC_REAL_8_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ minloc1_4_r8 (gfc_array_i4 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src < minval)
if (*src < minval || !result)
{
minval = *src;
result = (GFC_INTEGER_4)n + 1;
@ -299,7 +299,7 @@ mminloc1_4_r8 (gfc_array_i4 * const restrict retarray,
GFC_REAL_8 minval;
minval = GFC_REAL_8_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mminloc1_4_r8 (gfc_array_i4 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src < minval)
if (*msrc && (*src < minval || !result))
{
minval = *src;
result = (GFC_INTEGER_4)n + 1;

View file

@ -132,7 +132,7 @@ minloc1_8_i16 (gfc_array_i8 * const restrict retarray,
GFC_INTEGER_16 minval;
minval = GFC_INTEGER_16_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ minloc1_8_i16 (gfc_array_i8 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src < minval)
if (*src < minval || !result)
{
minval = *src;
result = (GFC_INTEGER_8)n + 1;
@ -299,7 +299,7 @@ mminloc1_8_i16 (gfc_array_i8 * const restrict retarray,
GFC_INTEGER_16 minval;
minval = GFC_INTEGER_16_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mminloc1_8_i16 (gfc_array_i8 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src < minval)
if (*msrc && (*src < minval || !result))
{
minval = *src;
result = (GFC_INTEGER_8)n + 1;

View file

@ -132,7 +132,7 @@ minloc1_8_i4 (gfc_array_i8 * const restrict retarray,
GFC_INTEGER_4 minval;
minval = GFC_INTEGER_4_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ minloc1_8_i4 (gfc_array_i8 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src < minval)
if (*src < minval || !result)
{
minval = *src;
result = (GFC_INTEGER_8)n + 1;
@ -299,7 +299,7 @@ mminloc1_8_i4 (gfc_array_i8 * const restrict retarray,
GFC_INTEGER_4 minval;
minval = GFC_INTEGER_4_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mminloc1_8_i4 (gfc_array_i8 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src < minval)
if (*msrc && (*src < minval || !result))
{
minval = *src;
result = (GFC_INTEGER_8)n + 1;

View file

@ -132,7 +132,7 @@ minloc1_8_i8 (gfc_array_i8 * const restrict retarray,
GFC_INTEGER_8 minval;
minval = GFC_INTEGER_8_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ minloc1_8_i8 (gfc_array_i8 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src < minval)
if (*src < minval || !result)
{
minval = *src;
result = (GFC_INTEGER_8)n + 1;
@ -299,7 +299,7 @@ mminloc1_8_i8 (gfc_array_i8 * const restrict retarray,
GFC_INTEGER_8 minval;
minval = GFC_INTEGER_8_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mminloc1_8_i8 (gfc_array_i8 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src < minval)
if (*msrc && (*src < minval || !result))
{
minval = *src;
result = (GFC_INTEGER_8)n + 1;

View file

@ -132,7 +132,7 @@ minloc1_8_r10 (gfc_array_i8 * const restrict retarray,
GFC_REAL_10 minval;
minval = GFC_REAL_10_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ minloc1_8_r10 (gfc_array_i8 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src < minval)
if (*src < minval || !result)
{
minval = *src;
result = (GFC_INTEGER_8)n + 1;
@ -299,7 +299,7 @@ mminloc1_8_r10 (gfc_array_i8 * const restrict retarray,
GFC_REAL_10 minval;
minval = GFC_REAL_10_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mminloc1_8_r10 (gfc_array_i8 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src < minval)
if (*msrc && (*src < minval || !result))
{
minval = *src;
result = (GFC_INTEGER_8)n + 1;

View file

@ -132,7 +132,7 @@ minloc1_8_r16 (gfc_array_i8 * const restrict retarray,
GFC_REAL_16 minval;
minval = GFC_REAL_16_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ minloc1_8_r16 (gfc_array_i8 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src < minval)
if (*src < minval || !result)
{
minval = *src;
result = (GFC_INTEGER_8)n + 1;
@ -299,7 +299,7 @@ mminloc1_8_r16 (gfc_array_i8 * const restrict retarray,
GFC_REAL_16 minval;
minval = GFC_REAL_16_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mminloc1_8_r16 (gfc_array_i8 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src < minval)
if (*msrc && (*src < minval || !result))
{
minval = *src;
result = (GFC_INTEGER_8)n + 1;

View file

@ -132,7 +132,7 @@ minloc1_8_r4 (gfc_array_i8 * const restrict retarray,
GFC_REAL_4 minval;
minval = GFC_REAL_4_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ minloc1_8_r4 (gfc_array_i8 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src < minval)
if (*src < minval || !result)
{
minval = *src;
result = (GFC_INTEGER_8)n + 1;
@ -299,7 +299,7 @@ mminloc1_8_r4 (gfc_array_i8 * const restrict retarray,
GFC_REAL_4 minval;
minval = GFC_REAL_4_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mminloc1_8_r4 (gfc_array_i8 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src < minval)
if (*msrc && (*src < minval || !result))
{
minval = *src;
result = (GFC_INTEGER_8)n + 1;

View file

@ -132,7 +132,7 @@ minloc1_8_r8 (gfc_array_i8 * const restrict retarray,
GFC_REAL_8 minval;
minval = GFC_REAL_8_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -140,7 +140,7 @@ minloc1_8_r8 (gfc_array_i8 * const restrict retarray,
for (n = 0; n < len; n++, src += delta)
{
if (*src < minval)
if (*src < minval || !result)
{
minval = *src;
result = (GFC_INTEGER_8)n + 1;
@ -299,7 +299,7 @@ mminloc1_8_r8 (gfc_array_i8 * const restrict retarray,
GFC_REAL_8 minval;
minval = GFC_REAL_8_HUGE;
result = 1;
result = 0;
if (len <= 0)
*dest = 0;
else
@ -307,7 +307,7 @@ mminloc1_8_r8 (gfc_array_i8 * const restrict retarray,
for (n = 0; n < len; n++, src += delta, msrc += mdelta)
{
if (*msrc && *src < minval)
if (*msrc && (*src < minval || !result))
{
minval = *src;
result = (GFC_INTEGER_8)n + 1;

View file

@ -71,7 +71,7 @@ name`'rtype_qual`_'atype_code (rtype * const restrict retarray,
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
')dnl
define(START_FOREACH_BLOCK,
@ -198,7 +198,7 @@ void
/* Initialize the return value. */
for (n = 0; n < rank; n++)
dest[n * dstride] = 1;
dest[n * dstride] = 0;
{
')dnl
define(START_MASKED_FOREACH_BLOCK, `START_FOREACH_BLOCK')dnl

View file

@ -45,7 +45,7 @@ FOREACH_FUNCTION(
maxval = atype_min;'
,
` if (*base > maxval)
` if (*base > maxval || !dest[0])
{
maxval = *base;
for (n = 0; n < rank; n++)
@ -57,7 +57,7 @@ MASKED_FOREACH_FUNCTION(
maxval = atype_min;'
,
` if (*mbase && *base > maxval)
` if (*mbase && (*base > maxval || !dest[0]))
{
maxval = *base;
for (n = 0; n < rank; n++)

View file

@ -43,8 +43,8 @@ include(ifunction.m4)dnl
ARRAY_FUNCTION(0,
` atype_name maxval;
maxval = atype_min;
result = 1;',
` if (*src > maxval)
result = 0;',
` if (*src > maxval || !result)
{
maxval = *src;
result = (rtype_name)n + 1;
@ -53,8 +53,8 @@ ARRAY_FUNCTION(0,
MASKED_ARRAY_FUNCTION(0,
` atype_name maxval;
maxval = atype_min;
result = 1;',
` if (*msrc && *src > maxval)
result = 0;',
` if (*msrc && (*src > maxval || !result))
{
maxval = *src;
result = (rtype_name)n + 1;

View file

@ -45,7 +45,7 @@ FOREACH_FUNCTION(
minval = atype_max;'
,
` if (*base < minval)
` if (*base < minval || !dest[0])
{
minval = *base;
for (n = 0; n < rank; n++)
@ -57,7 +57,7 @@ MASKED_FOREACH_FUNCTION(
minval = atype_max;'
,
` if (*mbase && *base < minval)
` if (*mbase && (*base < minval || !dest[0]))
{
minval = *base;
for (n = 0; n < rank; n++)

View file

@ -43,8 +43,8 @@ include(ifunction.m4)dnl
ARRAY_FUNCTION(0,
` atype_name minval;
minval = atype_max;
result = 1;',
` if (*src < minval)
result = 0;',
` if (*src < minval || !result)
{
minval = *src;
result = (rtype_name)n + 1;
@ -53,8 +53,8 @@ ARRAY_FUNCTION(0,
MASKED_ARRAY_FUNCTION(0,
` atype_name minval;
minval = atype_max;
result = 1;',
` if (*msrc && *src < minval)
result = 0;',
` if (*msrc && (*src < minval || !result))
{
minval = *src;
result = (rtype_name)n + 1;