re PR fortran/33197 (Fortran 2008: math functions)
gcc/fortran/ 2010-08-27 Tobias Burnus <burnus@net-b.de> PR fortran/33197 * gcc/fortran/intrinsic.c (add_functions): Add norm2 and parity. * gcc/fortran/intrinsic.h (gfc_check_norm2, gfc_check_parity): gfc_simplify_norm2, gfc_simplify_parity, gfc_resolve_norm2, gfc_resolve_parity): New prototypes. * gcc/fortran/gfortran.h (gfc_isym_id): New enum items GFC_ISYM_NORM2 and GFC_ISYM_PARITY. * gcc/fortran/iresolve.c (gfc_resolve_norm2, gfc_resolve_parity): New functions. * gcc/fortran/check.c (gfc_check_norm2, gfc_check_parity): New functions. * gcc/fortran/trans-intrinsic.c (gfc_conv_intrinsic_arith, gfc_conv_intrinsic_function): Handle NORM2 and PARITY. * gcc/fortran/intrinsic.texi (NORM2, PARITY): Add. * gcc/fortran/simplify.c (simplify_transformation_to_array): Add post-processing opterator. (gfc_simplify_all, gfc_simplify_any, gfc_simplify_count, gfc_simplify_product, gfc_simplify_sum): Update call. (add_squared, do_sqrt, gfc_simplify_norm2, do_xor, gfc_simplify_parity): New functions. gcc/testsuite/ 2010-08-27 Tobias Burnus <burnus@net-b.de> PR fortran/33197 * gcc/testsuite/gfortran.dg/norm2_1.f90: New. * gcc/testsuite/gfortran.dg/norm2_2.f90: New. * gcc/testsuite/gfortran.dg/norm2_3.f90: New. * gcc/testsuite/gfortran.dg/norm2_4.f90: New. * gcc/testsuite/gfortran.dg/parity_1.f90: New. * gcc/testsuite/gfortran.dg/parity_2.f90: New. * gcc/testsuite/gfortran.dg/parity_3.f90: New. libgfortran/ 2010-08-27 Tobias Burnus <burnus@net-b.de> PR fortran/33197 * libgfortran/m4/ifunction.m4 (FINISH_ARRAY_FUNCTION, ARRAY_FUNCTION): Allow expression after loop. * libgfortran/m4/norm2.m4: New for _gfortran_norm2_r{4,8,10,16}. * libgfortran/m4/parity.m4: New for * _gfortran_parity_l{1,2,4,8,16}. * libgfortran/gfortran.map: Add new functions. * libgfortran/Makefile.am: Ditto. * libgfortran/m4/minloc1.m4: Add empty argument for * ARRAY_FUNCTION. * libgfortran/m4/maxloc1.m4: Ditto. * libgfortran/m4/all.m4: Ditto. * libgfortran/m4/minval.m4: Ditto. * libgfortran/m4/maxval.m4: Ditto. * libgfortran/m4/count.m4: Ditto. * libgfortran/m4/product.m4: Ditto. * libgfortran/m4/any.m4: Ditto. * Makefile.in: Regenerated. * generated/minval_r8.c: Regenerated. * generated/maxloc1_4_r8.c: Regenerated. * generated/minloc1_16_r16.c: Regenerated. * generated/norm2_r4.c: Regenerated. * generated/sum_i8.c: Regenerated. * generated/parity_l2.c: Regenerated. * generated/any_l16.c: Regenerated. * generated/maxval_i2.c: Regenerated. * generated/any_l2.c: Regenerated. * generated/product_r4.c: Regenerated. * generated/maxloc1_8_i4.c: Regenerated. * generated/parity_l16.c: Regenerated. * generated/all_l1.c: Regenerated. * generated/product_i2.c: Regenerated. * generated/minloc1_8_r16.c: Regenerated. * generated/maxloc1_8_r16.c: Regenerated. * generated/sum_r16.c: Regenerated. * generated/sum_i1.c: Regenerated. * generated/minloc1_4_r8.c: Regenerated. * generated/maxloc1_16_r16.c: Regenerated. * generated/minloc1_16_i4.c: Regenerated. * generated/maxloc1_16_i4.c: Regenerated. * generated/maxval_r16.c: Regenerated. * generated/product_c10.c: Regenerated. * generated/minloc1_8_i4.c: Regenerated. * generated/all_l2.c: Regenerated. * generated/product_c4.c: Regenerated. * generated/sum_r4.c: Regenerated. * generated/all_l16.c: Regenerated. * generated/minloc1_16_r10.c: Regenerated. * generated/sum_i2.c: Regenerated. * generated/maxloc1_8_r8.c: Regenerated. * generated/minval_i16.c: Regenerated. * generated/parity_l4.c: Regenerated. * generated/maxval_i4.c: Regenerated. * generated/any_l4.c: Regenerated. * generated/minval_i8.c: Regenerated. * generated/maxloc1_4_i8.c: Regenerated. * generated/minloc1_4_i16.c: Regenerated. * generated/maxloc1_4_i16.c: Regenerated. * generated/minloc1_8_r10.c: Regenerated. * generated/product_i4.c: Regenerated. * generated/maxloc1_8_r10.c: Regenerated. * generated/sum_c16.c: Regenerated. * generated/minloc1_16_r8.c: Regenerated. * generated/maxloc1_16_r8.c: Regenerated. * generated/count_4_l.c: Regenerated. * generated/sum_r10.c: Regenerated. * generated/count_8_l.c: Regenerated. * generated/sum_c4.c: Regenerated. * generated/maxloc1_16_r10.c: Regenerated. * generated/minloc1_8_r8.c: Regenerated. * generated/maxval_r10.c: Regenerated. * generated/minval_i1.c: Regenerated. * generated/maxloc1_4_i1.c: Regenerated. * generated/minloc1_4_i8.c: Regenerated. * generated/product_i16.c: Regenerated. * generated/all_l4.c: Regenerated. * generated/norm2_r16.c: Regenerated. * generated/minval_r4.c: Regenerated. * generated/maxloc1_4_r4.c: Regenerated. * generated/sum_i4.c: Regenerated. * generated/maxval_r8.c: Regenerated. * generated/norm2_r8.c: Regenerated. * generated/minloc1_4_i1.c: Regenerated. * generated/minval_r16.c: Regenerated. * generated/minval_i2.c: Regenerated. * generated/maxloc1_4_i2.c: Regenerated. * generated/product_r8.c: Regenerated. * generated/maxloc1_8_i8.c: Regenerated. * generated/sum_c10.c: Regenerated. * generated/minloc1_4_r16.c: Regenerated. * generated/maxloc1_4_r16.c: Regenerated. * generated/count_1_l.c: Regenerated. * generated/minloc1_4_r4.c: Regenerated. * generated/minloc1_16_i8.c: Regenerated. * generated/maxloc1_16_i8.c: Regenerated. * generated/minloc1_4_i2.c: Regenerated. * generated/maxloc1_8_i1.c: Regenerated. * generated/minloc1_8_i8.c: Regenerated. * generated/product_r16.c: Regenerated. * generated/product_c8.c: Regenerated. * generated/sum_r8.c: Regenerated. * generated/norm2_r10.c: Regenerated. * generated/minloc1_16_i16.c: Regenerated. * generated/maxloc1_8_r4.c: Regenerated. * generated/minloc1_16_i1.c: Regenerated. * generated/maxloc1_16_i1.c: Regenerated. * generated/minval_r10.c: Regenerated. * generated/count_16_l.c: Regenerated. * generated/parity_l8.c: Regenerated. * generated/minloc1_8_i1.c: Regenerated. * generated/minval_i4.c: Regenerated. * generated/maxloc1_4_i4.c: Regenerated. * generated/maxloc1_8_i2.c: Regenerated. * generated/maxval_i8.c: Regenerated. * generated/any_l8.c: Regenerated. * generated/minloc1_4_r10.c: Regenerated. * generated/minloc1_8_i16.c: Regenerated. * generated/maxloc1_4_r10.c: Regenerated. * generated/maxloc1_8_i16.c: Regenerated. * generated/minloc1_16_r4.c: Regenerated. * generated/maxloc1_16_r4.c: Regenerated. * generated/product_i8.c: Regenerated. * generated/sum_i16.c: Regenerated. * generated/count_2_l.c: Regenerated. * generated/maxloc1_16_i16.c: Regenerated. * generated/minloc1_8_r4.c: Regenerated. * generated/sum_c8.c: Regenerated. * generated/minloc1_16_i2.c: Regenerated. * generated/maxloc1_16_i2.c: Regenerated. * generated/parity_l1.c: Regenerated. * generated/maxval_i16.c: Regenerated. * generated/maxval_i1.c: Regenerated. * generated/minloc1_4_i4.c: Regenerated. * generated/any_l1.c: Regenerated. * generated/minloc1_8_i2.c: Regenerated. * generated/product_c16.c: Regenerated. * generated/product_r10.c: Regenerated. * generated/product_i1.c: Regenerated. * generated/all_l8.c: Regenerated. * generated/maxval_r4.c: Regenerated. From-SVN: r163595
This commit is contained in:
parent
cbadd64af4
commit
0cd0559e8c
@ -1,3 +1,26 @@
|
||||
2010-08-27 Tobias Burnus <burnus@net-b.de>
|
||||
|
||||
PR fortran/33197
|
||||
* gcc/fortran/intrinsic.c (add_functions): Add norm2 and parity.
|
||||
* gcc/fortran/intrinsic.h (gfc_check_norm2, gfc_check_parity):
|
||||
gfc_simplify_norm2, gfc_simplify_parity, gfc_resolve_norm2,
|
||||
gfc_resolve_parity): New prototypes.
|
||||
* gcc/fortran/gfortran.h (gfc_isym_id): New enum items
|
||||
GFC_ISYM_NORM2 and GFC_ISYM_PARITY.
|
||||
* gcc/fortran/iresolve.c (gfc_resolve_norm2,
|
||||
gfc_resolve_parity): New functions.
|
||||
* gcc/fortran/check.c (gfc_check_norm2, gfc_check_parity):
|
||||
New functions.
|
||||
* gcc/fortran/trans-intrinsic.c (gfc_conv_intrinsic_arith,
|
||||
gfc_conv_intrinsic_function): Handle NORM2 and PARITY.
|
||||
* gcc/fortran/intrinsic.texi (NORM2, PARITY): Add.
|
||||
* gcc/fortran/simplify.c (simplify_transformation_to_array):
|
||||
Add post-processing opterator.
|
||||
(gfc_simplify_all, gfc_simplify_any, gfc_simplify_count,
|
||||
gfc_simplify_product, gfc_simplify_sum): Update call.
|
||||
(add_squared, do_sqrt, gfc_simplify_norm2, do_xor,
|
||||
gfc_simplify_parity): New functions.
|
||||
|
||||
2010-08-27 Janus Weil <janus@gcc.gnu.org>
|
||||
|
||||
PR fortran/45420
|
||||
|
@ -2431,6 +2431,21 @@ gfc_check_new_line (gfc_expr *a)
|
||||
}
|
||||
|
||||
|
||||
gfc_try
|
||||
gfc_check_norm2 (gfc_expr *array, gfc_expr *dim)
|
||||
{
|
||||
if (type_check (array, 0, BT_REAL) == FAILURE)
|
||||
return FAILURE;
|
||||
|
||||
if (array_check (array, 0) == FAILURE)
|
||||
return FAILURE;
|
||||
|
||||
if (dim_rank_check (dim, array, false) == FAILURE)
|
||||
return FAILURE;
|
||||
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
gfc_try
|
||||
gfc_check_null (gfc_expr *mold)
|
||||
{
|
||||
@ -2539,6 +2554,22 @@ gfc_check_pack (gfc_expr *array, gfc_expr *mask, gfc_expr *vector)
|
||||
}
|
||||
|
||||
|
||||
gfc_try
|
||||
gfc_check_parity (gfc_expr *mask, gfc_expr *dim)
|
||||
{
|
||||
if (type_check (mask, 0, BT_LOGICAL) == FAILURE)
|
||||
return FAILURE;
|
||||
|
||||
if (array_check (mask, 0) == FAILURE)
|
||||
return FAILURE;
|
||||
|
||||
if (dim_rank_check (dim, mask, false) == FAILURE)
|
||||
return FAILURE;
|
||||
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
gfc_try
|
||||
gfc_check_precision (gfc_expr *x)
|
||||
{
|
||||
|
@ -464,11 +464,13 @@ enum gfc_isym_id
|
||||
GFC_ISYM_NEAREST,
|
||||
GFC_ISYM_NEW_LINE,
|
||||
GFC_ISYM_NINT,
|
||||
GFC_ISYM_NORM2,
|
||||
GFC_ISYM_NOT,
|
||||
GFC_ISYM_NULL,
|
||||
GFC_ISYM_NUMIMAGES,
|
||||
GFC_ISYM_OR,
|
||||
GFC_ISYM_PACK,
|
||||
GFC_ISYM_PARITY,
|
||||
GFC_ISYM_PERROR,
|
||||
GFC_ISYM_PRECISION,
|
||||
GFC_ISYM_PRESENT,
|
||||
|
@ -2268,6 +2268,13 @@ add_functions (void)
|
||||
|
||||
make_generic ("not", GFC_ISYM_NOT, GFC_STD_F95);
|
||||
|
||||
add_sym_2 ("norm2", GFC_ISYM_NORM2, CLASS_TRANSFORMATIONAL, ACTUAL_NO, BT_REAL, dr,
|
||||
GFC_STD_F2008, gfc_check_norm2, gfc_simplify_norm2, gfc_resolve_norm2,
|
||||
x, BT_REAL, dr, REQUIRED,
|
||||
dm, BT_INTEGER, ii, OPTIONAL);
|
||||
|
||||
make_generic ("norm2", GFC_ISYM_NORM2, GFC_STD_F2008);
|
||||
|
||||
add_sym_1 ("null", GFC_ISYM_NULL, CLASS_TRANSFORMATIONAL, ACTUAL_NO, BT_INTEGER, di, GFC_STD_F95,
|
||||
gfc_check_null, gfc_simplify_null, NULL,
|
||||
mo, BT_INTEGER, di, OPTIONAL);
|
||||
@ -2284,6 +2291,14 @@ add_functions (void)
|
||||
|
||||
make_generic ("pack", GFC_ISYM_PACK, GFC_STD_F95);
|
||||
|
||||
|
||||
add_sym_2 ("parity", GFC_ISYM_PARITY, CLASS_TRANSFORMATIONAL, ACTUAL_NO, BT_LOGICAL, dl,
|
||||
GFC_STD_F2008, gfc_check_parity, gfc_simplify_parity, gfc_resolve_parity,
|
||||
msk, BT_LOGICAL, dl, REQUIRED,
|
||||
dm, BT_INTEGER, ii, OPTIONAL);
|
||||
|
||||
make_generic ("parity", GFC_ISYM_PARITY, GFC_STD_F2008);
|
||||
|
||||
add_sym_1 ("precision", GFC_ISYM_PRECISION, CLASS_INQUIRY, ACTUAL_NO, BT_INTEGER, di, GFC_STD_F95,
|
||||
gfc_check_precision, gfc_simplify_precision, NULL,
|
||||
x, BT_UNKNOWN, 0, REQUIRED);
|
||||
|
@ -108,8 +108,10 @@ gfc_try gfc_check_minloc_maxloc (gfc_actual_arglist *);
|
||||
gfc_try gfc_check_minval_maxval (gfc_actual_arglist *);
|
||||
gfc_try gfc_check_nearest (gfc_expr *, gfc_expr *);
|
||||
gfc_try gfc_check_new_line (gfc_expr *);
|
||||
gfc_try gfc_check_norm2 (gfc_expr *, gfc_expr *);
|
||||
gfc_try gfc_check_null (gfc_expr *);
|
||||
gfc_try gfc_check_pack (gfc_expr *, gfc_expr *, gfc_expr *);
|
||||
gfc_try gfc_check_parity (gfc_expr *, gfc_expr *);
|
||||
gfc_try gfc_check_precision (gfc_expr *);
|
||||
gfc_try gfc_check_present (gfc_expr *);
|
||||
gfc_try gfc_check_product_sum (gfc_actual_arglist *);
|
||||
@ -307,12 +309,14 @@ gfc_expr *gfc_simplify_mvbits (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *,
|
||||
gfc_expr *gfc_simplify_nearest (gfc_expr *, gfc_expr *);
|
||||
gfc_expr *gfc_simplify_new_line (gfc_expr *);
|
||||
gfc_expr *gfc_simplify_nint (gfc_expr *, gfc_expr *);
|
||||
gfc_expr *gfc_simplify_norm2 (gfc_expr *, gfc_expr *);
|
||||
gfc_expr *gfc_simplify_null (gfc_expr *);
|
||||
gfc_expr *gfc_simplify_num_images (void);
|
||||
gfc_expr *gfc_simplify_idnint (gfc_expr *);
|
||||
gfc_expr *gfc_simplify_not (gfc_expr *);
|
||||
gfc_expr *gfc_simplify_or (gfc_expr *, gfc_expr *);
|
||||
gfc_expr *gfc_simplify_pack (gfc_expr *, gfc_expr *, gfc_expr *);
|
||||
gfc_expr *gfc_simplify_parity (gfc_expr *, gfc_expr *);
|
||||
gfc_expr *gfc_simplify_precision (gfc_expr *);
|
||||
gfc_expr *gfc_simplify_product (gfc_expr *, gfc_expr *, gfc_expr *);
|
||||
gfc_expr *gfc_simplify_radix (gfc_expr *);
|
||||
@ -473,9 +477,11 @@ void gfc_resolve_mod (gfc_expr *, gfc_expr *, gfc_expr *);
|
||||
void gfc_resolve_modulo (gfc_expr *, gfc_expr *, gfc_expr *);
|
||||
void gfc_resolve_nearest (gfc_expr *, gfc_expr *, gfc_expr *);
|
||||
void gfc_resolve_nint (gfc_expr *, gfc_expr *, gfc_expr *);
|
||||
void gfc_resolve_norm2 (gfc_expr *, gfc_expr *, gfc_expr *);
|
||||
void gfc_resolve_not (gfc_expr *, gfc_expr *);
|
||||
void gfc_resolve_or (gfc_expr *, gfc_expr *, gfc_expr *);
|
||||
void gfc_resolve_pack (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
|
||||
void gfc_resolve_parity (gfc_expr *, gfc_expr *, gfc_expr *);
|
||||
void gfc_resolve_product (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
|
||||
void gfc_resolve_real (gfc_expr *, gfc_expr *, gfc_expr *);
|
||||
void gfc_resolve_realpart (gfc_expr *, gfc_expr *);
|
||||
|
@ -203,11 +203,13 @@ Some basic guidelines for editing this document:
|
||||
* @code{NEAREST}: NEAREST, Nearest representable number
|
||||
* @code{NEW_LINE}: NEW_LINE, New line character
|
||||
* @code{NINT}: NINT, Nearest whole number
|
||||
* @code{NORM2}: NORM2, Euclidean vector norm
|
||||
* @code{NOT}: NOT, Logical negation
|
||||
* @code{NULL}: NULL, Function that returns an disassociated pointer
|
||||
* @code{NUM_IMAGES}: NUM_IMAGES, Number of images
|
||||
* @code{OR}: OR, Bitwise logical OR
|
||||
* @code{PACK}: PACK, Pack an array into an array of rank one
|
||||
* @code{PARITY}: PARITY, Reduction with exclusive OR
|
||||
* @code{PERROR}: PERROR, Print system error message
|
||||
* @code{PRECISION}: PRECISION, Decimal precision of a real kind
|
||||
* @code{PRESENT}: PRESENT, Determine whether an optional dummy argument is specified
|
||||
@ -8471,6 +8473,57 @@ end program test_nint
|
||||
|
||||
|
||||
|
||||
@node NORM2
|
||||
@section @code{NORM2} --- Euclidean vector norms
|
||||
@fnindex NORM2
|
||||
@cindex Euclidean vector norm
|
||||
@cindex L2 vector norm
|
||||
@cindex norm, Euclidean
|
||||
|
||||
@table @asis
|
||||
@item @emph{Description}:
|
||||
Calculates the Euclidean vector norm (@math{L_2}) norm of
|
||||
of @var{ARRAY} along dimension @var{DIM}.
|
||||
|
||||
@item @emph{Standard}:
|
||||
Fortran 2008 and later
|
||||
|
||||
@item @emph{Class}:
|
||||
Transformational function
|
||||
|
||||
@item @emph{Syntax}:
|
||||
@multitable @columnfractions .80
|
||||
@item @code{RESULT = NORM2(ARRAY[, DIM])}
|
||||
@end multitable
|
||||
|
||||
@item @emph{Arguments}:
|
||||
@multitable @columnfractions .15 .70
|
||||
@item @var{ARRAY} @tab Shall be an array of type @code{REAL}
|
||||
@item @var{DIM} @tab (Optional) shall be a scalar of type
|
||||
@code{INTEGER} with a value in the range from 1 to n, where n
|
||||
equals the rank of @var{ARRAY}.
|
||||
@end multitable
|
||||
|
||||
@item @emph{Return value}:
|
||||
The result is of the same type as @var{ARRAY}.
|
||||
|
||||
If @var{DIM} is absent, a scalar with the square root of the sum of all
|
||||
elements in @var{ARRAY} squared is returned. Otherwise, an array of
|
||||
rank @math{n-1}, where @math{n} equals the rank of @var{ARRAY}, and a
|
||||
shape similar to that of @var{ARRAY} with dimension @var{DIM} dropped
|
||||
is returned.
|
||||
|
||||
@item @emph{Example}:
|
||||
@smallexample
|
||||
PROGRAM test_sum
|
||||
REAL :: x(5) = [ real :: 1, 2, 3, 4, 5 ]
|
||||
print *, NORM2(x) ! = sqrt(55.) ~ 7.416
|
||||
END PROGRAM
|
||||
@end smallexample
|
||||
@end table
|
||||
|
||||
|
||||
|
||||
@node NOT
|
||||
@section @code{NOT} --- Logical negation
|
||||
@fnindex NOT
|
||||
@ -8717,6 +8770,58 @@ END PROGRAM
|
||||
|
||||
|
||||
|
||||
@node PARITY
|
||||
@section @code{PARITY} --- Reduction with exclusive OR
|
||||
@fnindex PARITY
|
||||
@cindex Parity
|
||||
@cindex Reduction, XOR
|
||||
@cindex XOR reduction
|
||||
|
||||
@table @asis
|
||||
@item @emph{Description}:
|
||||
Calculates the partity, i.e. the reduction using @code{.XOR.},
|
||||
of @var{MASK} along dimension @var{DIM}.
|
||||
|
||||
@item @emph{Standard}:
|
||||
Fortran 2008 and later
|
||||
|
||||
@item @emph{Class}:
|
||||
Transformational function
|
||||
|
||||
@item @emph{Syntax}:
|
||||
@multitable @columnfractions .80
|
||||
@item @code{RESULT = PARITY(MASK[, DIM])}
|
||||
@end multitable
|
||||
|
||||
@item @emph{Arguments}:
|
||||
@multitable @columnfractions .15 .70
|
||||
@item @var{LOGICAL} @tab Shall be an array of type @code{LOGICAL}
|
||||
@item @var{DIM} @tab (Optional) shall be a scalar of type
|
||||
@code{INTEGER} with a value in the range from 1 to n, where n
|
||||
equals the rank of @var{MASK}.
|
||||
@end multitable
|
||||
|
||||
@item @emph{Return value}:
|
||||
The result is of the same type as @var{MASK}.
|
||||
|
||||
If @var{DIM} is absent, a scalar with the parity of all elements in
|
||||
@var{MASK} is returned, i.e. true if an odd number of elements is
|
||||
@code{.true.} and false otherwise. If @var{DIM} is present, an array
|
||||
of rank @math{n-1}, where @math{n} equals the rank of @var{ARRAY},
|
||||
and a shape similar to that of @var{MASK} with dimension @var{DIM}
|
||||
dropped is returned.
|
||||
|
||||
@item @emph{Example}:
|
||||
@smallexample
|
||||
PROGRAM test_sum
|
||||
LOGICAL :: x(2) = [ .true., .false. ]
|
||||
print *, PARITY(x) ! prints "T" (true).
|
||||
END PROGRAM
|
||||
@end smallexample
|
||||
@end table
|
||||
|
||||
|
||||
|
||||
@node PERROR
|
||||
@section @code{PERROR} --- Print system error message
|
||||
@fnindex PERROR
|
||||
|
@ -1824,6 +1824,23 @@ gfc_resolve_nint (gfc_expr *f, gfc_expr *a, gfc_expr *kind)
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
gfc_resolve_norm2 (gfc_expr *f, gfc_expr *array, gfc_expr *dim)
|
||||
{
|
||||
f->ts = array->ts;
|
||||
|
||||
if (dim != NULL)
|
||||
{
|
||||
f->rank = array->rank - 1;
|
||||
f->shape = gfc_copy_shape_excluding (array->shape, array->rank, dim);
|
||||
gfc_resolve_dim_arg (dim);
|
||||
}
|
||||
|
||||
f->value.function.name
|
||||
= gfc_get_string (PREFIX ("norm2_r%d"), array->ts.kind);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
gfc_resolve_not (gfc_expr *f, gfc_expr *i)
|
||||
{
|
||||
@ -1888,6 +1905,25 @@ gfc_resolve_pack (gfc_expr *f, gfc_expr *array, gfc_expr *mask,
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
gfc_resolve_parity (gfc_expr *f, gfc_expr *array, gfc_expr *dim)
|
||||
{
|
||||
f->ts = array->ts;
|
||||
|
||||
if (dim != NULL)
|
||||
{
|
||||
f->rank = array->rank - 1;
|
||||
f->shape = gfc_copy_shape_excluding (array->shape, array->rank, dim);
|
||||
gfc_resolve_dim_arg (dim);
|
||||
}
|
||||
|
||||
resolve_mask_arg (array);
|
||||
|
||||
f->value.function.name
|
||||
= gfc_get_string (PREFIX ("parity_l%d"), array->ts.kind);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
gfc_resolve_product (gfc_expr *f, gfc_expr *array, gfc_expr *dim,
|
||||
gfc_expr *mask)
|
||||
|
@ -488,11 +488,12 @@ simplify_transformation_to_scalar (gfc_expr *result, gfc_expr *array, gfc_expr *
|
||||
REAL, PARAMETER :: array(n, m) = ...
|
||||
REAL, PARAMETER :: s(n) = PROD(array, DIM=1)
|
||||
|
||||
where OP == gfc_multiply(). */
|
||||
where OP == gfc_multiply(). The result might be post processed using post_op. */
|
||||
|
||||
static gfc_expr *
|
||||
simplify_transformation_to_array (gfc_expr *result, gfc_expr *array, gfc_expr *dim,
|
||||
gfc_expr *mask, transformational_op op)
|
||||
gfc_expr *mask, transformational_op op,
|
||||
transformational_op post_op)
|
||||
{
|
||||
mpz_t size;
|
||||
int done, i, n, arraysize, resultsize, dim_index, dim_extent, dim_stride;
|
||||
@ -606,7 +607,10 @@ simplify_transformation_to_array (gfc_expr *result, gfc_expr *array, gfc_expr *d
|
||||
result_ctor = gfc_constructor_first (result->value.constructor);
|
||||
for (i = 0; i < resultsize; ++i)
|
||||
{
|
||||
result_ctor->expr = resultvec[i];
|
||||
if (post_op)
|
||||
result_ctor->expr = post_op (result_ctor->expr, resultvec[i]);
|
||||
else
|
||||
result_ctor->expr = resultvec[i];
|
||||
result_ctor = gfc_constructor_next (result_ctor);
|
||||
}
|
||||
|
||||
@ -896,7 +900,7 @@ gfc_simplify_all (gfc_expr *mask, gfc_expr *dim)
|
||||
|
||||
return !dim || mask->rank == 1 ?
|
||||
simplify_transformation_to_scalar (result, mask, NULL, gfc_and) :
|
||||
simplify_transformation_to_array (result, mask, dim, NULL, gfc_and);
|
||||
simplify_transformation_to_array (result, mask, dim, NULL, gfc_and, NULL);
|
||||
}
|
||||
|
||||
|
||||
@ -982,7 +986,7 @@ gfc_simplify_any (gfc_expr *mask, gfc_expr *dim)
|
||||
|
||||
return !dim || mask->rank == 1 ?
|
||||
simplify_transformation_to_scalar (result, mask, NULL, gfc_or) :
|
||||
simplify_transformation_to_array (result, mask, dim, NULL, gfc_or);
|
||||
simplify_transformation_to_array (result, mask, dim, NULL, gfc_or, NULL);
|
||||
}
|
||||
|
||||
|
||||
@ -1679,7 +1683,7 @@ gfc_simplify_count (gfc_expr *mask, gfc_expr *dim, gfc_expr *kind)
|
||||
Whenever gfc_count is called, '1' is added to the result. */
|
||||
return !dim || mask->rank == 1 ?
|
||||
simplify_transformation_to_scalar (result, mask, mask, gfc_count) :
|
||||
simplify_transformation_to_array (result, mask, dim, mask, gfc_count);
|
||||
simplify_transformation_to_array (result, mask, dim, mask, gfc_count, NULL);
|
||||
}
|
||||
|
||||
|
||||
@ -4048,6 +4052,65 @@ gfc_simplify_idnint (gfc_expr *e)
|
||||
}
|
||||
|
||||
|
||||
static gfc_expr *
|
||||
add_squared (gfc_expr *result, gfc_expr *e)
|
||||
{
|
||||
mpfr_t tmp;
|
||||
|
||||
gcc_assert (e->ts.type == BT_REAL && e->expr_type == EXPR_CONSTANT);
|
||||
gcc_assert (result->ts.type == BT_REAL
|
||||
&& result->expr_type == EXPR_CONSTANT);
|
||||
|
||||
gfc_set_model_kind (result->ts.kind);
|
||||
mpfr_init (tmp);
|
||||
mpfr_pow_ui (tmp, e->value.real, 2, GFC_RND_MODE);
|
||||
mpfr_add (result->value.real, result->value.real, tmp,
|
||||
GFC_RND_MODE);
|
||||
mpfr_clear (tmp);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
static gfc_expr *
|
||||
do_sqrt (gfc_expr *result, gfc_expr *e)
|
||||
{
|
||||
gcc_assert (e->ts.type == BT_REAL && e->expr_type == EXPR_CONSTANT);
|
||||
gcc_assert (result->ts.type == BT_REAL
|
||||
&& result->expr_type == EXPR_CONSTANT);
|
||||
|
||||
mpfr_set (result->value.real, e->value.real, GFC_RND_MODE);
|
||||
mpfr_sqrt (result->value.real, result->value.real, GFC_RND_MODE);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
gfc_expr *
|
||||
gfc_simplify_norm2 (gfc_expr *e, gfc_expr *dim)
|
||||
{
|
||||
gfc_expr *result;
|
||||
|
||||
if (!is_constant_array_expr (e)
|
||||
|| (dim != NULL && !gfc_is_constant_expr (dim)))
|
||||
return NULL;
|
||||
|
||||
result = transformational_result (e, dim, e->ts.type, e->ts.kind, &e->where);
|
||||
init_result_expr (result, 0, NULL);
|
||||
|
||||
if (!dim || e->rank == 1)
|
||||
{
|
||||
result = simplify_transformation_to_scalar (result, e, NULL,
|
||||
add_squared);
|
||||
mpfr_sqrt (result->value.real, result->value.real, GFC_RND_MODE);
|
||||
}
|
||||
else
|
||||
result = simplify_transformation_to_array (result, e, dim, NULL,
|
||||
add_squared, &do_sqrt);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
gfc_expr *
|
||||
gfc_simplify_not (gfc_expr *e)
|
||||
{
|
||||
@ -4198,6 +4261,37 @@ gfc_simplify_pack (gfc_expr *array, gfc_expr *mask, gfc_expr *vector)
|
||||
}
|
||||
|
||||
|
||||
static gfc_expr *
|
||||
do_xor (gfc_expr *result, gfc_expr *e)
|
||||
{
|
||||
gcc_assert (e->ts.type == BT_LOGICAL && e->expr_type == EXPR_CONSTANT);
|
||||
gcc_assert (result->ts.type == BT_LOGICAL
|
||||
&& result->expr_type == EXPR_CONSTANT);
|
||||
|
||||
result->value.logical = result->value.logical != e->value.logical;
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
gfc_expr *
|
||||
gfc_simplify_parity (gfc_expr *e, gfc_expr *dim)
|
||||
{
|
||||
gfc_expr *result;
|
||||
|
||||
if (!is_constant_array_expr (e)
|
||||
|| (dim != NULL && !gfc_is_constant_expr (dim)))
|
||||
return NULL;
|
||||
|
||||
result = transformational_result (e, dim, e->ts.type, e->ts.kind, &e->where);
|
||||
init_result_expr (result, 0, NULL);
|
||||
|
||||
return (!dim || e->rank == 1)
|
||||
? simplify_transformation_to_scalar (result, e, NULL, do_xor)
|
||||
: simplify_transformation_to_array (result, e, dim, NULL, do_xor, NULL);
|
||||
}
|
||||
|
||||
|
||||
gfc_expr *
|
||||
gfc_simplify_precision (gfc_expr *e)
|
||||
{
|
||||
@ -4227,7 +4321,7 @@ gfc_simplify_product (gfc_expr *array, gfc_expr *dim, gfc_expr *mask)
|
||||
|
||||
return !dim || array->rank == 1 ?
|
||||
simplify_transformation_to_scalar (result, array, mask, gfc_multiply) :
|
||||
simplify_transformation_to_array (result, array, dim, mask, gfc_multiply);
|
||||
simplify_transformation_to_array (result, array, dim, mask, gfc_multiply, NULL);
|
||||
}
|
||||
|
||||
|
||||
@ -5390,7 +5484,7 @@ gfc_simplify_sum (gfc_expr *array, gfc_expr *dim, gfc_expr *mask)
|
||||
|
||||
return !dim || array->rank == 1 ?
|
||||
simplify_transformation_to_scalar (result, array, mask, gfc_add) :
|
||||
simplify_transformation_to_array (result, array, dim, mask, gfc_add);
|
||||
simplify_transformation_to_array (result, array, dim, mask, gfc_add, NULL);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1810,9 +1810,11 @@ gfc_conv_intrinsic_count (gfc_se * se, gfc_expr * expr)
|
||||
|
||||
/* Inline implementation of the sum and product intrinsics. */
|
||||
static void
|
||||
gfc_conv_intrinsic_arith (gfc_se * se, gfc_expr * expr, enum tree_code op)
|
||||
gfc_conv_intrinsic_arith (gfc_se * se, gfc_expr * expr, enum tree_code op,
|
||||
bool norm2)
|
||||
{
|
||||
tree resvar;
|
||||
tree scale = NULL_TREE;
|
||||
tree type;
|
||||
stmtblock_t body;
|
||||
stmtblock_t block;
|
||||
@ -1835,8 +1837,20 @@ gfc_conv_intrinsic_arith (gfc_se * se, gfc_expr * expr, enum tree_code op)
|
||||
type = gfc_typenode_for_spec (&expr->ts);
|
||||
/* Initialize the result. */
|
||||
resvar = gfc_create_var (type, "val");
|
||||
if (op == PLUS_EXPR)
|
||||
if (norm2)
|
||||
{
|
||||
/* result = 0.0;
|
||||
scale = 1.0. */
|
||||
scale = gfc_create_var (type, "scale");
|
||||
gfc_add_modify (&se->pre, scale,
|
||||
gfc_build_const (type, integer_one_node));
|
||||
tmp = gfc_build_const (type, integer_zero_node);
|
||||
}
|
||||
else if (op == PLUS_EXPR)
|
||||
tmp = gfc_build_const (type, integer_zero_node);
|
||||
else if (op == NE_EXPR)
|
||||
/* PARITY. */
|
||||
tmp = convert (type, boolean_false_node);
|
||||
else
|
||||
tmp = gfc_build_const (type, integer_one_node);
|
||||
|
||||
@ -1848,9 +1862,16 @@ gfc_conv_intrinsic_arith (gfc_se * se, gfc_expr * expr, enum tree_code op)
|
||||
arrayss = gfc_walk_expr (arrayexpr);
|
||||
gcc_assert (arrayss != gfc_ss_terminator);
|
||||
|
||||
actual = actual->next->next;
|
||||
gcc_assert (actual);
|
||||
maskexpr = actual->expr;
|
||||
if (op == NE_EXPR || norm2)
|
||||
/* PARITY and NORM2. */
|
||||
maskexpr = NULL;
|
||||
else
|
||||
{
|
||||
actual = actual->next->next;
|
||||
gcc_assert (actual);
|
||||
maskexpr = actual->expr;
|
||||
}
|
||||
|
||||
if (maskexpr && maskexpr->rank != 0)
|
||||
{
|
||||
maskss = gfc_walk_expr (maskexpr);
|
||||
@ -1896,15 +1917,77 @@ gfc_conv_intrinsic_arith (gfc_se * se, gfc_expr * expr, enum tree_code op)
|
||||
gfc_conv_expr_val (&arrayse, arrayexpr);
|
||||
gfc_add_block_to_block (&block, &arrayse.pre);
|
||||
|
||||
tmp = fold_build2 (op, type, resvar, arrayse.expr);
|
||||
gfc_add_modify (&block, resvar, tmp);
|
||||
if (norm2)
|
||||
{
|
||||
/* if (x(i) != 0.0)
|
||||
{
|
||||
absX = abs(x(i))
|
||||
if (absX > scale)
|
||||
{
|
||||
val = scale/absX;
|
||||
result = 1.0 + result * val * val;
|
||||
scale = absX;
|
||||
}
|
||||
else
|
||||
{
|
||||
val = absX/scale;
|
||||
result += val * val;
|
||||
}
|
||||
} */
|
||||
tree res1, res2, cond, absX, val;
|
||||
stmtblock_t ifblock1, ifblock2, ifblock3;
|
||||
|
||||
gfc_init_block (&ifblock1);
|
||||
|
||||
absX = gfc_create_var (type, "absX");
|
||||
gfc_add_modify (&ifblock1, absX,
|
||||
fold_build1 (ABS_EXPR, type, arrayse.expr));
|
||||
val = gfc_create_var (type, "val");
|
||||
gfc_add_expr_to_block (&ifblock1, val);
|
||||
|
||||
gfc_init_block (&ifblock2);
|
||||
gfc_add_modify (&ifblock2, val,
|
||||
fold_build2 (RDIV_EXPR, type, scale, absX));
|
||||
res1 = fold_build2 (MULT_EXPR, type, val, val);
|
||||
res1 = fold_build2 (MULT_EXPR, type, resvar, res1);
|
||||
res1 = fold_build2 (PLUS_EXPR, type, res1,
|
||||
gfc_build_const (type, integer_one_node));
|
||||
gfc_add_modify (&ifblock2, resvar, res1);
|
||||
gfc_add_modify (&ifblock2, scale, absX);
|
||||
res1 = gfc_finish_block (&ifblock2);
|
||||
|
||||
gfc_init_block (&ifblock3);
|
||||
gfc_add_modify (&ifblock3, val,
|
||||
fold_build2 (RDIV_EXPR, type, absX, scale));
|
||||
res2 = fold_build2 (MULT_EXPR, type, val, val);
|
||||
res2 = fold_build2 (PLUS_EXPR, type, resvar, res2);
|
||||
gfc_add_modify (&ifblock3, resvar, res2);
|
||||
res2 = gfc_finish_block (&ifblock3);
|
||||
|
||||
cond = fold_build2 (GT_EXPR, boolean_type_node, absX, scale);
|
||||
tmp = build3_v (COND_EXPR, cond, res1, res2);
|
||||
gfc_add_expr_to_block (&ifblock1, tmp);
|
||||
tmp = gfc_finish_block (&ifblock1);
|
||||
|
||||
cond = fold_build2 (NE_EXPR, boolean_type_node, arrayse.expr,
|
||||
gfc_build_const (type, integer_zero_node));
|
||||
|
||||
tmp = build3_v (COND_EXPR, cond, tmp, build_empty_stmt (input_location));
|
||||
gfc_add_expr_to_block (&block, tmp);
|
||||
}
|
||||
else
|
||||
{
|
||||
tmp = fold_build2 (op, type, resvar, arrayse.expr);
|
||||
gfc_add_modify (&block, resvar, tmp);
|
||||
}
|
||||
|
||||
gfc_add_block_to_block (&block, &arrayse.post);
|
||||
|
||||
if (maskss)
|
||||
{
|
||||
/* We enclose the above in if (mask) {...} . */
|
||||
tmp = gfc_finish_block (&block);
|
||||
|
||||
tmp = gfc_finish_block (&block);
|
||||
tmp = build3_v (COND_EXPR, maskse.expr, tmp,
|
||||
build_empty_stmt (input_location));
|
||||
}
|
||||
@ -1937,6 +2020,16 @@ gfc_conv_intrinsic_arith (gfc_se * se, gfc_expr * expr, enum tree_code op)
|
||||
|
||||
gfc_cleanup_loop (&loop);
|
||||
|
||||
if (norm2)
|
||||
{
|
||||
/* result = scale * sqrt(result). */
|
||||
tree sqrt;
|
||||
sqrt = builtin_decl_for_float_kind (BUILT_IN_SQRT, expr->ts.kind);
|
||||
resvar = build_call_expr_loc (input_location,
|
||||
sqrt, 1, resvar);
|
||||
resvar = fold_build2 (MULT_EXPR, type, scale, resvar);
|
||||
}
|
||||
|
||||
se->expr = resvar;
|
||||
}
|
||||
|
||||
@ -5288,6 +5381,10 @@ gfc_conv_intrinsic_function (gfc_se * se, gfc_expr * expr)
|
||||
gfc_conv_intrinsic_nearest (se, expr);
|
||||
break;
|
||||
|
||||
case GFC_ISYM_NORM2:
|
||||
gfc_conv_intrinsic_arith (se, expr, PLUS_EXPR, true);
|
||||
break;
|
||||
|
||||
case GFC_ISYM_NOT:
|
||||
gfc_conv_intrinsic_not (se, expr);
|
||||
break;
|
||||
@ -5296,12 +5393,16 @@ gfc_conv_intrinsic_function (gfc_se * se, gfc_expr * expr)
|
||||
gfc_conv_intrinsic_bitop (se, expr, BIT_IOR_EXPR);
|
||||
break;
|
||||
|
||||
case GFC_ISYM_PARITY:
|
||||
gfc_conv_intrinsic_arith (se, expr, NE_EXPR, false);
|
||||
break;
|
||||
|
||||
case GFC_ISYM_PRESENT:
|
||||
gfc_conv_intrinsic_present (se, expr);
|
||||
break;
|
||||
|
||||
case GFC_ISYM_PRODUCT:
|
||||
gfc_conv_intrinsic_arith (se, expr, MULT_EXPR);
|
||||
gfc_conv_intrinsic_arith (se, expr, MULT_EXPR, false);
|
||||
break;
|
||||
|
||||
case GFC_ISYM_RRSPACING:
|
||||
@ -5338,7 +5439,7 @@ gfc_conv_intrinsic_function (gfc_se * se, gfc_expr * expr)
|
||||
break;
|
||||
|
||||
case GFC_ISYM_SUM:
|
||||
gfc_conv_intrinsic_arith (se, expr, PLUS_EXPR);
|
||||
gfc_conv_intrinsic_arith (se, expr, PLUS_EXPR, false);
|
||||
break;
|
||||
|
||||
case GFC_ISYM_TRANSFER:
|
||||
@ -5508,6 +5609,8 @@ gfc_is_intrinsic_libcall (gfc_expr * expr)
|
||||
case GFC_ISYM_MAXVAL:
|
||||
case GFC_ISYM_MINLOC:
|
||||
case GFC_ISYM_MINVAL:
|
||||
case GFC_ISYM_NORM2:
|
||||
case GFC_ISYM_PARITY:
|
||||
case GFC_ISYM_PRODUCT:
|
||||
case GFC_ISYM_SUM:
|
||||
case GFC_ISYM_SHAPE:
|
||||
|
@ -1,3 +1,14 @@
|
||||
2010-08-27 Tobias Burnus <burnus@net-b.de>
|
||||
|
||||
PR fortran/33197
|
||||
* gcc/testsuite/gfortran.dg/norm2_1.f90: New.
|
||||
* gcc/testsuite/gfortran.dg/norm2_2.f90: New.
|
||||
* gcc/testsuite/gfortran.dg/norm2_3.f90: New.
|
||||
* gcc/testsuite/gfortran.dg/norm2_4.f90: New.
|
||||
* gcc/testsuite/gfortran.dg/parity_1.f90: New.
|
||||
* gcc/testsuite/gfortran.dg/parity_2.f90: New.
|
||||
* gcc/testsuite/gfortran.dg/parity_3.f90: New.
|
||||
|
||||
2010-08-27 Janus Weil <janus@gcc.gnu.org>
|
||||
|
||||
PR fortran/45420
|
||||
|
91
gcc/testsuite/gfortran.dg/norm2_1.f90
Normal file
91
gcc/testsuite/gfortran.dg/norm2_1.f90
Normal file
@ -0,0 +1,91 @@
|
||||
! { dg-do run }
|
||||
!
|
||||
! PR fortran/33197
|
||||
!
|
||||
! Check implementation of L2 norm (Euclidean vector norm)
|
||||
!
|
||||
implicit none
|
||||
|
||||
real :: a(3) = [real :: 1, 2, huge(3.0)]
|
||||
real :: b(3) = [real :: 1, 2, 3]
|
||||
real :: c(4) = [real :: 1, 2, 3, -1]
|
||||
real :: e(0) = [real :: ]
|
||||
real :: f(4) = [real :: 0, 0, 3, 0 ]
|
||||
|
||||
real :: d(4,1) = RESHAPE ([real :: 1, 2, 3, -1], [4,1])
|
||||
real :: g(4,1) = RESHAPE ([real :: 0, 0, 4, -1], [4,1])
|
||||
|
||||
! Check compile-time version
|
||||
|
||||
if (abs (NORM2 ([real :: 1, 2, huge(3.0)]) - huge(3.0)) &
|
||||
> epsilon(0.0)*huge(3.0)) call abort()
|
||||
|
||||
if (abs (SNORM2([real :: 1, 2, huge(3.0)],3) - huge(3.0)) &
|
||||
> epsilon(0.0)*huge(3.0)) call abort()
|
||||
|
||||
if (abs (SNORM2([real :: 1, 2, 3],3) - NORM2([real :: 1, 2, 3])) &
|
||||
> epsilon(0.0)*SNORM2([real :: 1, 2, 3],3)) call abort()
|
||||
|
||||
if (NORM2([real :: ]) /= 0.0) call abort()
|
||||
if (abs (NORM2([real :: 0, 0, 3, 0]) - 3.0) > epsilon(0.0)) call abort()
|
||||
|
||||
! Check TREE version
|
||||
|
||||
if (abs (NORM2 (a) - huge(3.0)) &
|
||||
> epsilon(0.0)*huge(3.0)) call abort()
|
||||
|
||||
if (abs (SNORM2(b,3) - NORM2(b)) &
|
||||
> epsilon(0.0)*SNORM2(b,3)) call abort()
|
||||
|
||||
if (abs (SNORM2(c,4) - NORM2(c)) &
|
||||
> epsilon(0.0)*SNORM2(c,4)) call abort()
|
||||
|
||||
if (ANY (abs (abs(d(:,1)) - NORM2(d, 2)) &
|
||||
> epsilon(0.0))) call abort()
|
||||
|
||||
! Check libgfortran version
|
||||
|
||||
if (ANY (abs (SNORM2(d,4) - NORM2(d, 1)) &
|
||||
> epsilon(0.0)*SNORM2(d,4))) call abort()
|
||||
|
||||
if (abs (SNORM2(f,4) - NORM2(f, 1)) &
|
||||
> epsilon(0.0)*SNORM2(d,4)) call abort()
|
||||
|
||||
if (ANY (abs (abs(g(:,1)) - NORM2(g, 2)) &
|
||||
> epsilon(0.0))) call abort()
|
||||
|
||||
contains
|
||||
! NORM2 algorithm based on BLAS, cf.
|
||||
! http://www.netlib.org/blas/snrm2.f
|
||||
REAL FUNCTION SNORM2 (X,n)
|
||||
INTEGER, INTENT(IN) :: n
|
||||
REAL, INTENT(IN) :: X(n)
|
||||
|
||||
REAL :: absXi, scale, SSQ
|
||||
INTEGER :: i
|
||||
|
||||
INTRINSIC :: ABS, SQRT
|
||||
|
||||
IF (N < 1) THEN
|
||||
snorm2 = 0.0
|
||||
ELSE IF (N == 1) THEN
|
||||
snorm2 = ABS(X(1))
|
||||
ELSE
|
||||
scale = 0.0
|
||||
SSQ = 1.0
|
||||
|
||||
DO i = 1, N
|
||||
IF (X(i) /= 0.0) THEN
|
||||
absXi = ABS(X(i))
|
||||
IF (scale < absXi) THEN
|
||||
SSQ = 1.0 + SSQ * (scale/absXi)**2
|
||||
scale = absXi
|
||||
ELSE
|
||||
SSQ = SSQ + (absXi/scale)**2
|
||||
END IF
|
||||
END IF
|
||||
END DO
|
||||
snorm2 = scale * SQRT(SSQ)
|
||||
END IF
|
||||
END FUNCTION SNORM2
|
||||
end
|
14
gcc/testsuite/gfortran.dg/norm2_2.f90
Normal file
14
gcc/testsuite/gfortran.dg/norm2_2.f90
Normal file
@ -0,0 +1,14 @@
|
||||
! { dg-do compile }
|
||||
! { dg-options "-std=f2008" }
|
||||
!
|
||||
! PR fortran/33197
|
||||
!
|
||||
! Check implementation of L2 norm (Euclidean vector norm)
|
||||
!
|
||||
implicit none
|
||||
|
||||
print *, norm2([1, 2]) ! { dg-error "must be REAL" }
|
||||
print *, norm2([cmplx(1.0,2.0)]) ! { dg-error "must be REAL" }
|
||||
print *, norm2(1.0) ! { dg-error "must be an array" }
|
||||
print *, norm2([1.0, 2.0], dim=2) ! { dg-error "not a valid dimension index" }
|
||||
end
|
95
gcc/testsuite/gfortran.dg/norm2_3.f90
Normal file
95
gcc/testsuite/gfortran.dg/norm2_3.f90
Normal file
@ -0,0 +1,95 @@
|
||||
! { dg-do run }
|
||||
! { dg-require-effective-target fortran_large_real }
|
||||
!
|
||||
!
|
||||
! PR fortran/33197
|
||||
!
|
||||
! Check implementation of L2 norm (Euclidean vector norm)
|
||||
!
|
||||
implicit none
|
||||
|
||||
integer,parameter :: qp = selected_real_kind (precision (0.0d0)+1)
|
||||
|
||||
real(qp) :: a(3) = [real(qp) :: 1, 2, huge(3.0_qp)]
|
||||
real(qp) :: b(3) = [real(qp) :: 1, 2, 3]
|
||||
real(qp) :: c(4) = [real(qp) :: 1, 2, 3, -1]
|
||||
real(qp) :: e(0) = [real(qp) :: ]
|
||||
real(qp) :: f(4) = [real(qp) :: 0, 0, 3, 0 ]
|
||||
|
||||
real(qp) :: d(4,1) = RESHAPE ([real(qp) :: 1, 2, 3, -1], [4,1])
|
||||
real(qp) :: g(4,1) = RESHAPE ([real(qp) :: 0, 0, 4, -1], [4,1])
|
||||
|
||||
! Check compile-time version
|
||||
|
||||
if (abs (NORM2 ([real(qp) :: 1, 2, huge(3.0_qp)]) - huge(3.0_qp)) &
|
||||
> epsilon(0.0_qp)*huge(3.0_qp)) call abort()
|
||||
|
||||
if (abs (SNORM2([real(qp) :: 1, 2, huge(3.0_qp)],3) - huge(3.0_qp)) &
|
||||
> epsilon(0.0_qp)*huge(3.0_qp)) call abort()
|
||||
|
||||
if (abs (SNORM2([real(qp) :: 1, 2, 3],3) - NORM2([real(qp) :: 1, 2, 3])) &
|
||||
> epsilon(0.0_qp)*SNORM2([real(qp) :: 1, 2, 3],3)) call abort()
|
||||
|
||||
if (NORM2([real(qp) :: ]) /= 0.0_qp) call abort()
|
||||
if (abs (NORM2([real(qp) :: 0, 0, 3, 0]) - 3.0_qp) > epsilon(0.0_qp)) call abort()
|
||||
|
||||
! Check TREE version
|
||||
|
||||
if (abs (NORM2 (a) - huge(3.0_qp)) &
|
||||
> epsilon(0.0_qp)*huge(3.0_qp)) call abort()
|
||||
|
||||
if (abs (SNORM2(b,3) - NORM2(b)) &
|
||||
> epsilon(0.0_qp)*SNORM2(b,3)) call abort()
|
||||
|
||||
if (abs (SNORM2(c,4) - NORM2(c)) &
|
||||
> epsilon(0.0_qp)*SNORM2(c,4)) call abort()
|
||||
|
||||
if (ANY (abs (abs(d(:,1)) - NORM2(d, 2)) &
|
||||
> epsilon(0.0_qp))) call abort()
|
||||
|
||||
! Check libgfortran version
|
||||
|
||||
if (ANY (abs (SNORM2(d,4) - NORM2(d, 1)) &
|
||||
> epsilon(0.0_qp)*SNORM2(d,4))) call abort()
|
||||
|
||||
if (abs (SNORM2(f,4) - NORM2(f, 1)) &
|
||||
> epsilon(0.0_qp)*SNORM2(d,4)) call abort()
|
||||
|
||||
if (ANY (abs (abs(g(:,1)) - NORM2(g, 2)) &
|
||||
> epsilon(0.0_qp))) call abort()
|
||||
|
||||
contains
|
||||
! NORM2 algorithm based on BLAS, cf.
|
||||
! http://www.netlib.org/blas/snrm2.f
|
||||
REAL(qp) FUNCTION SNORM2 (X,n)
|
||||
INTEGER, INTENT(IN) :: n
|
||||
REAL(qp), INTENT(IN) :: X(n)
|
||||
|
||||
REAL(qp) :: absXi, scale, SSQ
|
||||
INTEGER :: i
|
||||
|
||||
INTRINSIC :: ABS, SQRT
|
||||
|
||||
IF (N < 1) THEN
|
||||
snorm2 = 0.0_qp
|
||||
ELSE IF (N == 1) THEN
|
||||
snorm2 = ABS(X(1))
|
||||
ELSE
|
||||
scale = 0.0_qp
|
||||
SSQ = 1.0_qp
|
||||
|
||||
DO i = 1, N
|
||||
IF (X(i) /= 0.0_qp) THEN
|
||||
absXi = ABS(X(i))
|
||||
IF (scale < absXi) THEN
|
||||
SSQ = 1.0_qp + SSQ * (scale/absXi)**2
|
||||
scale = absXi
|
||||
ELSE
|
||||
SSQ = SSQ + (absXi/scale)**2
|
||||
END IF
|
||||
END IF
|
||||
END DO
|
||||
snorm2 = scale * SQRT(SSQ)
|
||||
END IF
|
||||
END FUNCTION SNORM2
|
||||
end
|
11
gcc/testsuite/gfortran.dg/norm_4.f90
Normal file
11
gcc/testsuite/gfortran.dg/norm_4.f90
Normal file
@ -0,0 +1,11 @@
|
||||
! { dg-do compile }
|
||||
! { dg-options "-std=f2003" }
|
||||
!
|
||||
! PR fortran/33197
|
||||
!
|
||||
! Check implementation of L2 norm (Euclidean vector norm)
|
||||
!
|
||||
implicit none
|
||||
|
||||
print *, norm2([1.0, 2.0]) ! { dg-error "has no IMPLICIT type" }
|
||||
end
|
40
gcc/testsuite/gfortran.dg/parity_1.f90
Normal file
40
gcc/testsuite/gfortran.dg/parity_1.f90
Normal file
@ -0,0 +1,40 @@
|
||||
! { dg-do run }
|
||||
!
|
||||
! PR fortran/33197
|
||||
!
|
||||
! Check implementation of PARITY
|
||||
!
|
||||
implicit none
|
||||
|
||||
integer :: i
|
||||
logical :: Lt(1) = [ .true. ]
|
||||
logical :: Lf(1) = [ .false.]
|
||||
logical :: Ltf(2) = [ .true., .false. ]
|
||||
logical :: Ltftf(4) = [.true., .false., .true.,.false.]
|
||||
|
||||
if (parity([logical ::]) .neqv. .false.) call abort()
|
||||
if (parity([.true., .false.]) .neqv. .true.) call abort()
|
||||
if (parity([.true.]) .neqv. .true.) call abort()
|
||||
if (parity([.false.]) .neqv. .false.) call abort()
|
||||
if (parity([.true., .false., .true.,.false.]) .neqv. .false.) call abort()
|
||||
if (parity(reshape([.true., .false., .true.,.false.],[2,2])) &
|
||||
.neqv. .false.) call abort()
|
||||
if (any (parity(reshape([.true., .false., .true.,.false.],[2,2]),dim=1) &
|
||||
.neqv. [.true., .true.])) call abort()
|
||||
if (any (parity(reshape([.true., .false., .true.,.false.],[2,2]),dim=2) &
|
||||
.neqv. [.false., .false.])) call abort()
|
||||
|
||||
i = 0
|
||||
if (parity(Lt(1:i)) .neqv. .false.) call abort()
|
||||
if (parity(Ltf) .neqv. .true.) call abort()
|
||||
if (parity(Lt) .neqv. .true.) call abort()
|
||||
if (parity(Lf) .neqv. .false.) call abort()
|
||||
if (parity(Ltftf) .neqv. .false.) call abort()
|
||||
if (parity(reshape(Ltftf,[2,2])) &
|
||||
.neqv. .false.) call abort()
|
||||
if (any (parity(reshape(Ltftf,[2,2]),dim=1) &
|
||||
.neqv. [.true., .true.])) call abort()
|
||||
if (any (parity(reshape(Ltftf,[2,2]),dim=2) &
|
||||
.neqv. [.false., .false.])) call abort()
|
||||
|
||||
end
|
13
gcc/testsuite/gfortran.dg/parity_2.f90
Normal file
13
gcc/testsuite/gfortran.dg/parity_2.f90
Normal file
@ -0,0 +1,13 @@
|
||||
! { dg-do compile }
|
||||
! { dg-options "-std=f2008" }
|
||||
!
|
||||
! PR fortran/33197
|
||||
!
|
||||
! Check implementation of PARITY
|
||||
!
|
||||
implicit none
|
||||
print *, parity([real ::]) ! { dg-error "must be LOGICAL" })
|
||||
print *, parity([integer ::]) ! { dg-error "must be LOGICAL" }
|
||||
print *, parity([logical ::])
|
||||
print *, parity(.true.) ! { dg-error "must be an array" }
|
||||
end
|
10
gcc/testsuite/gfortran.dg/parity_3.f90
Normal file
10
gcc/testsuite/gfortran.dg/parity_3.f90
Normal file
@ -0,0 +1,10 @@
|
||||
! { dg-do compile }
|
||||
! { dg-options "-std=f2003" }
|
||||
!
|
||||
! PR fortran/33197
|
||||
!
|
||||
! Check implementation of PARITY
|
||||
!
|
||||
implicit none
|
||||
print *, parity([.true.]) ! { dg-error "has no IMPLICIT type" }
|
||||
end
|
@ -1,3 +1,144 @@
|
||||
2010-08-27 Tobias Burnus <burnus@net-b.de>
|
||||
|
||||
PR fortran/33197
|
||||
* libgfortran/m4/ifunction.m4 (FINISH_ARRAY_FUNCTION,
|
||||
ARRAY_FUNCTION): Allow expression after loop.
|
||||
* libgfortran/m4/norm2.m4: New for _gfortran_norm2_r{4,8,10,16}.
|
||||
* libgfortran/m4/parity.m4: New for _gfortran_parity_l{1,2,4,8,16}.
|
||||
* libgfortran/gfortran.map: Add new functions.
|
||||
* libgfortran/Makefile.am: Ditto.
|
||||
* libgfortran/m4/minloc1.m4: Add empty argument for ARRAY_FUNCTION.
|
||||
* libgfortran/m4/maxloc1.m4: Ditto.
|
||||
* libgfortran/m4/all.m4: Ditto.
|
||||
* libgfortran/m4/minval.m4: Ditto.
|
||||
* libgfortran/m4/maxval.m4: Ditto.
|
||||
* libgfortran/m4/count.m4: Ditto.
|
||||
* libgfortran/m4/product.m4: Ditto.
|
||||
* libgfortran/m4/any.m4: Ditto.
|
||||
* Makefile.in: Regenerated.
|
||||
* generated/minval_r8.c: Regenerated.
|
||||
* generated/maxloc1_4_r8.c: Regenerated.
|
||||
* generated/minloc1_16_r16.c: Regenerated.
|
||||
* generated/norm2_r4.c: Regenerated.
|
||||
* generated/sum_i8.c: Regenerated.
|
||||
* generated/parity_l2.c: Regenerated.
|
||||
* generated/any_l16.c: Regenerated.
|
||||
* generated/maxval_i2.c: Regenerated.
|
||||
* generated/any_l2.c: Regenerated.
|
||||
* generated/product_r4.c: Regenerated.
|
||||
* generated/maxloc1_8_i4.c: Regenerated.
|
||||
* generated/parity_l16.c: Regenerated.
|
||||
* generated/all_l1.c: Regenerated.
|
||||
* generated/product_i2.c: Regenerated.
|
||||
* generated/minloc1_8_r16.c: Regenerated.
|
||||
* generated/maxloc1_8_r16.c: Regenerated.
|
||||
* generated/sum_r16.c: Regenerated.
|
||||
* generated/sum_i1.c: Regenerated.
|
||||
* generated/minloc1_4_r8.c: Regenerated.
|
||||
* generated/maxloc1_16_r16.c: Regenerated.
|
||||
* generated/minloc1_16_i4.c: Regenerated.
|
||||
* generated/maxloc1_16_i4.c: Regenerated.
|
||||
* generated/maxval_r16.c: Regenerated.
|
||||
* generated/product_c10.c: Regenerated.
|
||||
* generated/minloc1_8_i4.c: Regenerated.
|
||||
* generated/all_l2.c: Regenerated.
|
||||
* generated/product_c4.c: Regenerated.
|
||||
* generated/sum_r4.c: Regenerated.
|
||||
* generated/all_l16.c: Regenerated.
|
||||
* generated/minloc1_16_r10.c: Regenerated.
|
||||
* generated/sum_i2.c: Regenerated.
|
||||
* generated/maxloc1_8_r8.c: Regenerated.
|
||||
* generated/minval_i16.c: Regenerated.
|
||||
* generated/parity_l4.c: Regenerated.
|
||||
* generated/maxval_i4.c: Regenerated.
|
||||
* generated/any_l4.c: Regenerated.
|
||||
* generated/minval_i8.c: Regenerated.
|
||||
* generated/maxloc1_4_i8.c: Regenerated.
|
||||
* generated/minloc1_4_i16.c: Regenerated.
|
||||
* generated/maxloc1_4_i16.c: Regenerated.
|
||||
* generated/minloc1_8_r10.c: Regenerated.
|
||||
* generated/product_i4.c: Regenerated.
|
||||
* generated/maxloc1_8_r10.c: Regenerated.
|
||||
* generated/sum_c16.c: Regenerated.
|
||||
* generated/minloc1_16_r8.c: Regenerated.
|
||||
* generated/maxloc1_16_r8.c: Regenerated.
|
||||
* generated/count_4_l.c: Regenerated.
|
||||
* generated/sum_r10.c: Regenerated.
|
||||
* generated/count_8_l.c: Regenerated.
|
||||
* generated/sum_c4.c: Regenerated.
|
||||
* generated/maxloc1_16_r10.c: Regenerated.
|
||||
* generated/minloc1_8_r8.c: Regenerated.
|
||||
* generated/maxval_r10.c: Regenerated.
|
||||
* generated/minval_i1.c: Regenerated.
|
||||
* generated/maxloc1_4_i1.c: Regenerated.
|
||||
* generated/minloc1_4_i8.c: Regenerated.
|
||||
* generated/product_i16.c: Regenerated.
|
||||
* generated/all_l4.c: Regenerated.
|
||||
* generated/norm2_r16.c: Regenerated.
|
||||
* generated/minval_r4.c: Regenerated.
|
||||
* generated/maxloc1_4_r4.c: Regenerated.
|
||||
* generated/sum_i4.c: Regenerated.
|
||||
* generated/maxval_r8.c: Regenerated.
|
||||
* generated/norm2_r8.c: Regenerated.
|
||||
* generated/minloc1_4_i1.c: Regenerated.
|
||||
* generated/minval_r16.c: Regenerated.
|
||||
* generated/minval_i2.c: Regenerated.
|
||||
* generated/maxloc1_4_i2.c: Regenerated.
|
||||
* generated/product_r8.c: Regenerated.
|
||||
* generated/maxloc1_8_i8.c: Regenerated.
|
||||
* generated/sum_c10.c: Regenerated.
|
||||
* generated/minloc1_4_r16.c: Regenerated.
|
||||
* generated/maxloc1_4_r16.c: Regenerated.
|
||||
* generated/count_1_l.c: Regenerated.
|
||||
* generated/minloc1_4_r4.c: Regenerated.
|
||||
* generated/minloc1_16_i8.c: Regenerated.
|
||||
* generated/maxloc1_16_i8.c: Regenerated.
|
||||
* generated/minloc1_4_i2.c: Regenerated.
|
||||
* generated/maxloc1_8_i1.c: Regenerated.
|
||||
* generated/minloc1_8_i8.c: Regenerated.
|
||||
* generated/product_r16.c: Regenerated.
|
||||
* generated/product_c8.c: Regenerated.
|
||||
* generated/sum_r8.c: Regenerated.
|
||||
* generated/norm2_r10.c: Regenerated.
|
||||
* generated/minloc1_16_i16.c: Regenerated.
|
||||
* generated/maxloc1_8_r4.c: Regenerated.
|
||||
* generated/minloc1_16_i1.c: Regenerated.
|
||||
* generated/maxloc1_16_i1.c: Regenerated.
|
||||
* generated/minval_r10.c: Regenerated.
|
||||
* generated/count_16_l.c: Regenerated.
|
||||
* generated/parity_l8.c: Regenerated.
|
||||
* generated/minloc1_8_i1.c: Regenerated.
|
||||
* generated/minval_i4.c: Regenerated.
|
||||
* generated/maxloc1_4_i4.c: Regenerated.
|
||||
* generated/maxloc1_8_i2.c: Regenerated.
|
||||
* generated/maxval_i8.c: Regenerated.
|
||||
* generated/any_l8.c: Regenerated.
|
||||
* generated/minloc1_4_r10.c: Regenerated.
|
||||
* generated/minloc1_8_i16.c: Regenerated.
|
||||
* generated/maxloc1_4_r10.c: Regenerated.
|
||||
* generated/maxloc1_8_i16.c: Regenerated.
|
||||
* generated/minloc1_16_r4.c: Regenerated.
|
||||
* generated/maxloc1_16_r4.c: Regenerated.
|
||||
* generated/product_i8.c: Regenerated.
|
||||
* generated/sum_i16.c: Regenerated.
|
||||
* generated/count_2_l.c: Regenerated.
|
||||
* generated/maxloc1_16_i16.c: Regenerated.
|
||||
* generated/minloc1_8_r4.c: Regenerated.
|
||||
* generated/sum_c8.c: Regenerated.
|
||||
* generated/minloc1_16_i2.c: Regenerated.
|
||||
* generated/maxloc1_16_i2.c: Regenerated.
|
||||
* generated/parity_l1.c: Regenerated.
|
||||
* generated/maxval_i16.c: Regenerated.
|
||||
* generated/maxval_i1.c: Regenerated.
|
||||
* generated/minloc1_4_i4.c: Regenerated.
|
||||
* generated/any_l1.c: Regenerated.
|
||||
* generated/minloc1_8_i2.c: Regenerated.
|
||||
* generated/product_c16.c: Regenerated.
|
||||
* generated/product_r10.c: Regenerated.
|
||||
* generated/product_i1.c: Regenerated.
|
||||
* generated/all_l8.c: Regenerated.
|
||||
* generated/maxval_r4.c: Regenerated.
|
||||
|
||||
2010-08-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* config/fpu-387.h (has_sse): Remove cw_sse, unused.
|
||||
|
@ -326,6 +326,19 @@ $(srcdir)/generated/minval_r8.c \
|
||||
$(srcdir)/generated/minval_r10.c \
|
||||
$(srcdir)/generated/minval_r16.c
|
||||
|
||||
i_norm2_c= \
|
||||
$(srcdir)/generated/norm2_r4.c \
|
||||
$(srcdir)/generated/norm2_r8.c \
|
||||
$(srcdir)/generated/norm2_r10.c \
|
||||
$(srcdir)/generated/norm2_r16.c
|
||||
|
||||
i_parity_c = \
|
||||
$(srcdir)/generated/parity_l1.c \
|
||||
$(srcdir)/generated/parity_l2.c \
|
||||
$(srcdir)/generated/parity_l4.c \
|
||||
$(srcdir)/generated/parity_l8.c \
|
||||
$(srcdir)/generated/parity_l16.c
|
||||
|
||||
i_sum_c= \
|
||||
$(srcdir)/generated/sum_i1.c \
|
||||
$(srcdir)/generated/sum_i2.c \
|
||||
@ -589,11 +602,11 @@ m4_files= m4/iparm.m4 m4/ifunction.m4 m4/iforeach.m4 m4/all.m4 \
|
||||
m4/transpose.m4 m4/eoshift1.m4 m4/eoshift3.m4 m4/exponent.m4 \
|
||||
m4/fraction.m4 m4/nearest.m4 m4/set_exponent.m4 m4/pow.m4 \
|
||||
m4/misc_specifics.m4 m4/rrspacing.m4 m4/spacing.m4 m4/pack.m4 \
|
||||
m4/unpack.m4 m4/spread.m4 m4/bessel.m4
|
||||
m4/unpack.m4 m4/spread.m4 m4/bessel.m4 m4/norm2.m4 m4/parity.m4
|
||||
|
||||
gfor_built_src= $(i_all_c) $(i_any_c) $(i_count_c) $(i_maxloc0_c) \
|
||||
$(i_maxloc1_c) $(i_maxval_c) $(i_minloc0_c) $(i_minloc1_c) $(i_minval_c) \
|
||||
$(i_product_c) $(i_sum_c) $(i_bessel_c) \
|
||||
$(i_product_c) $(i_sum_c) $(i_bessel_c) $(i_norm2_c) $(i_parity_c) \
|
||||
$(i_matmul_c) $(i_matmull_c) $(i_transpose_c) $(i_shape_c) $(i_eoshift1_c) \
|
||||
$(i_eoshift3_c) $(i_cshift1_c) $(i_reshape_c) $(in_pack_c) $(in_unpack_c) \
|
||||
$(i_exponent_c) $(i_fraction_c) $(i_nearest_c) $(i_set_exponent_c) \
|
||||
@ -866,6 +879,12 @@ $(i_matmul_c): m4/matmul.m4 $(I_M4_DEPS)
|
||||
$(i_matmull_c): m4/matmull.m4 $(I_M4_DEPS)
|
||||
$(M4) -Dfile=$@ -I$(srcdir)/m4 matmull.m4 > $@
|
||||
|
||||
$(i_norm2_c): m4/norm2.m4 $(I_M4_DEPS)
|
||||
$(M4) -Dfile=$@ -I$(srcdir)/m4 norm2.m4 > $@
|
||||
|
||||
$(i_parity_c): m4/parity.m4 $(I_M4_DEPS)
|
||||
$(M4) -Dfile=$@ -I$(srcdir)/m4 parity.m4 > $@
|
||||
|
||||
$(i_transpose_c): m4/transpose.m4 $(I_M4_DEPS)
|
||||
$(M4) -Dfile=$@ -I$(srcdir)/m4 transpose.m4 > $@
|
||||
|
||||
|
@ -144,40 +144,43 @@ am__objects_12 = sum_i1.lo sum_i2.lo sum_i4.lo sum_i8.lo sum_i16.lo \
|
||||
sum_r4.lo sum_r8.lo sum_r10.lo sum_r16.lo sum_c4.lo sum_c8.lo \
|
||||
sum_c10.lo sum_c16.lo
|
||||
am__objects_13 = bessel_r4.lo bessel_r8.lo bessel_r10.lo bessel_r16.lo
|
||||
am__objects_14 = matmul_i1.lo matmul_i2.lo matmul_i4.lo matmul_i8.lo \
|
||||
am__objects_14 = norm2_r4.lo norm2_r8.lo norm2_r10.lo norm2_r16.lo
|
||||
am__objects_15 = parity_l1.lo parity_l2.lo parity_l4.lo parity_l8.lo \
|
||||
parity_l16.lo
|
||||
am__objects_16 = matmul_i1.lo matmul_i2.lo matmul_i4.lo matmul_i8.lo \
|
||||
matmul_i16.lo matmul_r4.lo matmul_r8.lo matmul_r10.lo \
|
||||
matmul_r16.lo matmul_c4.lo matmul_c8.lo matmul_c10.lo \
|
||||
matmul_c16.lo
|
||||
am__objects_15 = matmul_l4.lo matmul_l8.lo matmul_l16.lo
|
||||
am__objects_16 = transpose_i4.lo transpose_i8.lo transpose_i16.lo \
|
||||
am__objects_17 = matmul_l4.lo matmul_l8.lo matmul_l16.lo
|
||||
am__objects_18 = transpose_i4.lo transpose_i8.lo transpose_i16.lo \
|
||||
transpose_r4.lo transpose_r8.lo transpose_r10.lo \
|
||||
transpose_r16.lo transpose_c4.lo transpose_c8.lo \
|
||||
transpose_c10.lo transpose_c16.lo
|
||||
am__objects_17 = shape_i4.lo shape_i8.lo shape_i16.lo
|
||||
am__objects_18 = eoshift1_4.lo eoshift1_8.lo eoshift1_16.lo
|
||||
am__objects_19 = eoshift3_4.lo eoshift3_8.lo eoshift3_16.lo
|
||||
am__objects_20 = cshift1_4.lo cshift1_8.lo cshift1_16.lo
|
||||
am__objects_21 = reshape_i4.lo reshape_i8.lo reshape_i16.lo \
|
||||
am__objects_19 = shape_i4.lo shape_i8.lo shape_i16.lo
|
||||
am__objects_20 = eoshift1_4.lo eoshift1_8.lo eoshift1_16.lo
|
||||
am__objects_21 = eoshift3_4.lo eoshift3_8.lo eoshift3_16.lo
|
||||
am__objects_22 = cshift1_4.lo cshift1_8.lo cshift1_16.lo
|
||||
am__objects_23 = reshape_i4.lo reshape_i8.lo reshape_i16.lo \
|
||||
reshape_r4.lo reshape_r8.lo reshape_r10.lo reshape_r16.lo \
|
||||
reshape_c4.lo reshape_c8.lo reshape_c10.lo reshape_c16.lo
|
||||
am__objects_22 = in_pack_i1.lo in_pack_i2.lo in_pack_i4.lo \
|
||||
am__objects_24 = in_pack_i1.lo in_pack_i2.lo in_pack_i4.lo \
|
||||
in_pack_i8.lo in_pack_i16.lo in_pack_r4.lo in_pack_r8.lo \
|
||||
in_pack_r10.lo in_pack_r16.lo in_pack_c4.lo in_pack_c8.lo \
|
||||
in_pack_c10.lo in_pack_c16.lo
|
||||
am__objects_23 = in_unpack_i1.lo in_unpack_i2.lo in_unpack_i4.lo \
|
||||
am__objects_25 = in_unpack_i1.lo in_unpack_i2.lo in_unpack_i4.lo \
|
||||
in_unpack_i8.lo in_unpack_i16.lo in_unpack_r4.lo \
|
||||
in_unpack_r8.lo in_unpack_r10.lo in_unpack_r16.lo \
|
||||
in_unpack_c4.lo in_unpack_c8.lo in_unpack_c10.lo \
|
||||
in_unpack_c16.lo
|
||||
am__objects_24 = exponent_r4.lo exponent_r8.lo exponent_r10.lo \
|
||||
am__objects_26 = exponent_r4.lo exponent_r8.lo exponent_r10.lo \
|
||||
exponent_r16.lo
|
||||
am__objects_25 = fraction_r4.lo fraction_r8.lo fraction_r10.lo \
|
||||
am__objects_27 = fraction_r4.lo fraction_r8.lo fraction_r10.lo \
|
||||
fraction_r16.lo
|
||||
am__objects_26 = nearest_r4.lo nearest_r8.lo nearest_r10.lo \
|
||||
am__objects_28 = nearest_r4.lo nearest_r8.lo nearest_r10.lo \
|
||||
nearest_r16.lo
|
||||
am__objects_27 = set_exponent_r4.lo set_exponent_r8.lo \
|
||||
am__objects_29 = set_exponent_r4.lo set_exponent_r8.lo \
|
||||
set_exponent_r10.lo set_exponent_r16.lo
|
||||
am__objects_28 = pow_i4_i4.lo pow_i8_i4.lo pow_i16_i4.lo pow_c4_i4.lo \
|
||||
am__objects_30 = pow_i4_i4.lo pow_i8_i4.lo pow_i16_i4.lo pow_c4_i4.lo \
|
||||
pow_c8_i4.lo pow_c10_i4.lo pow_c16_i4.lo pow_i4_i8.lo \
|
||||
pow_i8_i8.lo pow_i16_i8.lo pow_r4_i8.lo pow_r8_i8.lo \
|
||||
pow_r10_i8.lo pow_r16_i8.lo pow_c4_i8.lo pow_c8_i8.lo \
|
||||
@ -185,26 +188,26 @@ am__objects_28 = pow_i4_i4.lo pow_i8_i4.lo pow_i16_i4.lo pow_c4_i4.lo \
|
||||
pow_i16_i16.lo pow_r4_i16.lo pow_r8_i16.lo pow_r10_i16.lo \
|
||||
pow_r16_i16.lo pow_c4_i16.lo pow_c8_i16.lo pow_c10_i16.lo \
|
||||
pow_c16_i16.lo
|
||||
am__objects_29 = rrspacing_r4.lo rrspacing_r8.lo rrspacing_r10.lo \
|
||||
am__objects_31 = rrspacing_r4.lo rrspacing_r8.lo rrspacing_r10.lo \
|
||||
rrspacing_r16.lo
|
||||
am__objects_30 = spacing_r4.lo spacing_r8.lo spacing_r10.lo \
|
||||
am__objects_32 = spacing_r4.lo spacing_r8.lo spacing_r10.lo \
|
||||
spacing_r16.lo
|
||||
am__objects_31 = pack_i1.lo pack_i2.lo pack_i4.lo pack_i8.lo \
|
||||
am__objects_33 = pack_i1.lo pack_i2.lo pack_i4.lo pack_i8.lo \
|
||||
pack_i16.lo pack_r4.lo pack_r8.lo pack_r10.lo pack_r16.lo \
|
||||
pack_c4.lo pack_c8.lo pack_c10.lo pack_c16.lo
|
||||
am__objects_32 = unpack_i1.lo unpack_i2.lo unpack_i4.lo unpack_i8.lo \
|
||||
am__objects_34 = unpack_i1.lo unpack_i2.lo unpack_i4.lo unpack_i8.lo \
|
||||
unpack_i16.lo unpack_r4.lo unpack_r8.lo unpack_r10.lo \
|
||||
unpack_r16.lo unpack_c4.lo unpack_c8.lo unpack_c10.lo \
|
||||
unpack_c16.lo
|
||||
am__objects_33 = spread_i1.lo spread_i2.lo spread_i4.lo spread_i8.lo \
|
||||
am__objects_35 = spread_i1.lo spread_i2.lo spread_i4.lo spread_i8.lo \
|
||||
spread_i16.lo spread_r4.lo spread_r8.lo spread_r10.lo \
|
||||
spread_r16.lo spread_c4.lo spread_c8.lo spread_c10.lo \
|
||||
spread_c16.lo
|
||||
am__objects_34 = cshift0_i1.lo cshift0_i2.lo cshift0_i4.lo \
|
||||
am__objects_36 = cshift0_i1.lo cshift0_i2.lo cshift0_i4.lo \
|
||||
cshift0_i8.lo cshift0_i16.lo cshift0_r4.lo cshift0_r8.lo \
|
||||
cshift0_r10.lo cshift0_r16.lo cshift0_c4.lo cshift0_c8.lo \
|
||||
cshift0_c10.lo cshift0_c16.lo
|
||||
am__objects_35 = $(am__objects_2) $(am__objects_3) $(am__objects_4) \
|
||||
am__objects_37 = $(am__objects_2) $(am__objects_3) $(am__objects_4) \
|
||||
$(am__objects_5) $(am__objects_6) $(am__objects_7) \
|
||||
$(am__objects_8) $(am__objects_9) $(am__objects_10) \
|
||||
$(am__objects_11) $(am__objects_12) $(am__objects_13) \
|
||||
@ -214,11 +217,12 @@ am__objects_35 = $(am__objects_2) $(am__objects_3) $(am__objects_4) \
|
||||
$(am__objects_23) $(am__objects_24) $(am__objects_25) \
|
||||
$(am__objects_26) $(am__objects_27) $(am__objects_28) \
|
||||
$(am__objects_29) $(am__objects_30) $(am__objects_31) \
|
||||
$(am__objects_32) $(am__objects_33) $(am__objects_34)
|
||||
am__objects_36 = close.lo file_pos.lo format.lo inquire.lo \
|
||||
$(am__objects_32) $(am__objects_33) $(am__objects_34) \
|
||||
$(am__objects_35) $(am__objects_36)
|
||||
am__objects_38 = close.lo file_pos.lo format.lo inquire.lo \
|
||||
intrinsics.lo list_read.lo lock.lo open.lo read.lo \
|
||||
size_from_kind.lo transfer.lo unit.lo unix.lo write.lo fbuf.lo
|
||||
am__objects_37 = associated.lo abort.lo access.lo args.lo \
|
||||
am__objects_39 = associated.lo abort.lo access.lo args.lo \
|
||||
bit_intrinsics.lo c99_functions.lo chdir.lo chmod.lo clock.lo \
|
||||
cpu_time.lo cshift0.lo ctime.lo date_and_time.lo dtime.lo \
|
||||
env.lo eoshift0.lo eoshift2.lo erfc_scaled.lo etime.lo exit.lo \
|
||||
@ -233,8 +237,8 @@ am__objects_37 = associated.lo abort.lo access.lo args.lo \
|
||||
system_clock.lo time.lo transpose_generic.lo umask.lo \
|
||||
unlink.lo unpack_generic.lo in_pack_generic.lo \
|
||||
in_unpack_generic.lo
|
||||
am__objects_38 =
|
||||
am__objects_39 = _abs_c4.lo _abs_c8.lo _abs_c10.lo _abs_c16.lo \
|
||||
am__objects_40 =
|
||||
am__objects_41 = _abs_c4.lo _abs_c8.lo _abs_c10.lo _abs_c16.lo \
|
||||
_abs_i4.lo _abs_i8.lo _abs_i16.lo _abs_r4.lo _abs_r8.lo \
|
||||
_abs_r10.lo _abs_r16.lo _aimag_c4.lo _aimag_c8.lo \
|
||||
_aimag_c10.lo _aimag_c16.lo _exp_r4.lo _exp_r8.lo _exp_r10.lo \
|
||||
@ -258,18 +262,18 @@ am__objects_39 = _abs_c4.lo _abs_c8.lo _abs_c10.lo _abs_c16.lo \
|
||||
_conjg_c4.lo _conjg_c8.lo _conjg_c10.lo _conjg_c16.lo \
|
||||
_aint_r4.lo _aint_r8.lo _aint_r10.lo _aint_r16.lo _anint_r4.lo \
|
||||
_anint_r8.lo _anint_r10.lo _anint_r16.lo
|
||||
am__objects_40 = _sign_i4.lo _sign_i8.lo _sign_i16.lo _sign_r4.lo \
|
||||
am__objects_42 = _sign_i4.lo _sign_i8.lo _sign_i16.lo _sign_r4.lo \
|
||||
_sign_r8.lo _sign_r10.lo _sign_r16.lo _dim_i4.lo _dim_i8.lo \
|
||||
_dim_i16.lo _dim_r4.lo _dim_r8.lo _dim_r10.lo _dim_r16.lo \
|
||||
_atan2_r4.lo _atan2_r8.lo _atan2_r10.lo _atan2_r16.lo \
|
||||
_mod_i4.lo _mod_i8.lo _mod_i16.lo _mod_r4.lo _mod_r8.lo \
|
||||
_mod_r10.lo _mod_r16.lo
|
||||
am__objects_41 = misc_specifics.lo
|
||||
am__objects_42 = $(am__objects_39) $(am__objects_40) $(am__objects_41) \
|
||||
am__objects_43 = misc_specifics.lo
|
||||
am__objects_44 = $(am__objects_41) $(am__objects_42) $(am__objects_43) \
|
||||
dprod_r8.lo f2c_specifics.lo
|
||||
am__objects_43 = $(am__objects_1) $(am__objects_35) $(am__objects_36) \
|
||||
$(am__objects_37) $(am__objects_38) $(am__objects_42)
|
||||
@onestep_FALSE@am_libgfortran_la_OBJECTS = $(am__objects_43)
|
||||
am__objects_45 = $(am__objects_1) $(am__objects_37) $(am__objects_38) \
|
||||
$(am__objects_39) $(am__objects_40) $(am__objects_44)
|
||||
@onestep_FALSE@am_libgfortran_la_OBJECTS = $(am__objects_45)
|
||||
@onestep_TRUE@am_libgfortran_la_OBJECTS = libgfortran_c.lo
|
||||
libgfortran_la_OBJECTS = $(am_libgfortran_la_OBJECTS)
|
||||
libgfortranbegin_la_LIBADD =
|
||||
@ -742,6 +746,19 @@ $(srcdir)/generated/minval_r8.c \
|
||||
$(srcdir)/generated/minval_r10.c \
|
||||
$(srcdir)/generated/minval_r16.c
|
||||
|
||||
i_norm2_c = \
|
||||
$(srcdir)/generated/norm2_r4.c \
|
||||
$(srcdir)/generated/norm2_r8.c \
|
||||
$(srcdir)/generated/norm2_r10.c \
|
||||
$(srcdir)/generated/norm2_r16.c
|
||||
|
||||
i_parity_c = \
|
||||
$(srcdir)/generated/parity_l1.c \
|
||||
$(srcdir)/generated/parity_l2.c \
|
||||
$(srcdir)/generated/parity_l4.c \
|
||||
$(srcdir)/generated/parity_l8.c \
|
||||
$(srcdir)/generated/parity_l16.c
|
||||
|
||||
i_sum_c = \
|
||||
$(srcdir)/generated/sum_i1.c \
|
||||
$(srcdir)/generated/sum_i2.c \
|
||||
@ -1004,11 +1021,11 @@ m4_files = m4/iparm.m4 m4/ifunction.m4 m4/iforeach.m4 m4/all.m4 \
|
||||
m4/transpose.m4 m4/eoshift1.m4 m4/eoshift3.m4 m4/exponent.m4 \
|
||||
m4/fraction.m4 m4/nearest.m4 m4/set_exponent.m4 m4/pow.m4 \
|
||||
m4/misc_specifics.m4 m4/rrspacing.m4 m4/spacing.m4 m4/pack.m4 \
|
||||
m4/unpack.m4 m4/spread.m4 m4/bessel.m4
|
||||
m4/unpack.m4 m4/spread.m4 m4/bessel.m4 m4/norm2.m4 m4/parity.m4
|
||||
|
||||
gfor_built_src = $(i_all_c) $(i_any_c) $(i_count_c) $(i_maxloc0_c) \
|
||||
$(i_maxloc1_c) $(i_maxval_c) $(i_minloc0_c) $(i_minloc1_c) $(i_minval_c) \
|
||||
$(i_product_c) $(i_sum_c) $(i_bessel_c) \
|
||||
$(i_product_c) $(i_sum_c) $(i_bessel_c) $(i_norm2_c) $(i_parity_c) \
|
||||
$(i_matmul_c) $(i_matmull_c) $(i_transpose_c) $(i_shape_c) $(i_eoshift1_c) \
|
||||
$(i_eoshift3_c) $(i_cshift1_c) $(i_reshape_c) $(in_pack_c) $(in_unpack_c) \
|
||||
$(i_exponent_c) $(i_fraction_c) $(i_nearest_c) $(i_set_exponent_c) \
|
||||
@ -1598,6 +1615,10 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nearest_r16.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nearest_r4.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nearest_r8.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/norm2_r10.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/norm2_r16.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/norm2_r4.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/norm2_r8.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/open.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pack_c10.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pack_c16.Plo@am__quote@
|
||||
@ -1613,6 +1634,11 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pack_r16.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pack_r4.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pack_r8.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parity_l1.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parity_l16.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parity_l2.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parity_l4.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parity_l8.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pause.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/perror.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pow_c10_i16.Plo@am__quote@
|
||||
@ -3495,6 +3521,69 @@ bessel_r16.lo: $(srcdir)/generated/bessel_r16.c
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o bessel_r16.lo `test -f '$(srcdir)/generated/bessel_r16.c' || echo '$(srcdir)/'`$(srcdir)/generated/bessel_r16.c
|
||||
|
||||
norm2_r4.lo: $(srcdir)/generated/norm2_r4.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT norm2_r4.lo -MD -MP -MF $(DEPDIR)/norm2_r4.Tpo -c -o norm2_r4.lo `test -f '$(srcdir)/generated/norm2_r4.c' || echo '$(srcdir)/'`$(srcdir)/generated/norm2_r4.c
|
||||
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/norm2_r4.Tpo $(DEPDIR)/norm2_r4.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/generated/norm2_r4.c' object='norm2_r4.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o norm2_r4.lo `test -f '$(srcdir)/generated/norm2_r4.c' || echo '$(srcdir)/'`$(srcdir)/generated/norm2_r4.c
|
||||
|
||||
norm2_r8.lo: $(srcdir)/generated/norm2_r8.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT norm2_r8.lo -MD -MP -MF $(DEPDIR)/norm2_r8.Tpo -c -o norm2_r8.lo `test -f '$(srcdir)/generated/norm2_r8.c' || echo '$(srcdir)/'`$(srcdir)/generated/norm2_r8.c
|
||||
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/norm2_r8.Tpo $(DEPDIR)/norm2_r8.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/generated/norm2_r8.c' object='norm2_r8.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o norm2_r8.lo `test -f '$(srcdir)/generated/norm2_r8.c' || echo '$(srcdir)/'`$(srcdir)/generated/norm2_r8.c
|
||||
|
||||
norm2_r10.lo: $(srcdir)/generated/norm2_r10.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT norm2_r10.lo -MD -MP -MF $(DEPDIR)/norm2_r10.Tpo -c -o norm2_r10.lo `test -f '$(srcdir)/generated/norm2_r10.c' || echo '$(srcdir)/'`$(srcdir)/generated/norm2_r10.c
|
||||
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/norm2_r10.Tpo $(DEPDIR)/norm2_r10.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/generated/norm2_r10.c' object='norm2_r10.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o norm2_r10.lo `test -f '$(srcdir)/generated/norm2_r10.c' || echo '$(srcdir)/'`$(srcdir)/generated/norm2_r10.c
|
||||
|
||||
norm2_r16.lo: $(srcdir)/generated/norm2_r16.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT norm2_r16.lo -MD -MP -MF $(DEPDIR)/norm2_r16.Tpo -c -o norm2_r16.lo `test -f '$(srcdir)/generated/norm2_r16.c' || echo '$(srcdir)/'`$(srcdir)/generated/norm2_r16.c
|
||||
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/norm2_r16.Tpo $(DEPDIR)/norm2_r16.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/generated/norm2_r16.c' object='norm2_r16.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o norm2_r16.lo `test -f '$(srcdir)/generated/norm2_r16.c' || echo '$(srcdir)/'`$(srcdir)/generated/norm2_r16.c
|
||||
|
||||
parity_l1.lo: $(srcdir)/generated/parity_l1.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT parity_l1.lo -MD -MP -MF $(DEPDIR)/parity_l1.Tpo -c -o parity_l1.lo `test -f '$(srcdir)/generated/parity_l1.c' || echo '$(srcdir)/'`$(srcdir)/generated/parity_l1.c
|
||||
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/parity_l1.Tpo $(DEPDIR)/parity_l1.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/generated/parity_l1.c' object='parity_l1.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o parity_l1.lo `test -f '$(srcdir)/generated/parity_l1.c' || echo '$(srcdir)/'`$(srcdir)/generated/parity_l1.c
|
||||
|
||||
parity_l2.lo: $(srcdir)/generated/parity_l2.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT parity_l2.lo -MD -MP -MF $(DEPDIR)/parity_l2.Tpo -c -o parity_l2.lo `test -f '$(srcdir)/generated/parity_l2.c' || echo '$(srcdir)/'`$(srcdir)/generated/parity_l2.c
|
||||
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/parity_l2.Tpo $(DEPDIR)/parity_l2.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/generated/parity_l2.c' object='parity_l2.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o parity_l2.lo `test -f '$(srcdir)/generated/parity_l2.c' || echo '$(srcdir)/'`$(srcdir)/generated/parity_l2.c
|
||||
|
||||
parity_l4.lo: $(srcdir)/generated/parity_l4.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT parity_l4.lo -MD -MP -MF $(DEPDIR)/parity_l4.Tpo -c -o parity_l4.lo `test -f '$(srcdir)/generated/parity_l4.c' || echo '$(srcdir)/'`$(srcdir)/generated/parity_l4.c
|
||||
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/parity_l4.Tpo $(DEPDIR)/parity_l4.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/generated/parity_l4.c' object='parity_l4.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o parity_l4.lo `test -f '$(srcdir)/generated/parity_l4.c' || echo '$(srcdir)/'`$(srcdir)/generated/parity_l4.c
|
||||
|
||||
parity_l8.lo: $(srcdir)/generated/parity_l8.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT parity_l8.lo -MD -MP -MF $(DEPDIR)/parity_l8.Tpo -c -o parity_l8.lo `test -f '$(srcdir)/generated/parity_l8.c' || echo '$(srcdir)/'`$(srcdir)/generated/parity_l8.c
|
||||
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/parity_l8.Tpo $(DEPDIR)/parity_l8.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/generated/parity_l8.c' object='parity_l8.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o parity_l8.lo `test -f '$(srcdir)/generated/parity_l8.c' || echo '$(srcdir)/'`$(srcdir)/generated/parity_l8.c
|
||||
|
||||
parity_l16.lo: $(srcdir)/generated/parity_l16.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT parity_l16.lo -MD -MP -MF $(DEPDIR)/parity_l16.Tpo -c -o parity_l16.lo `test -f '$(srcdir)/generated/parity_l16.c' || echo '$(srcdir)/'`$(srcdir)/generated/parity_l16.c
|
||||
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/parity_l16.Tpo $(DEPDIR)/parity_l16.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/generated/parity_l16.c' object='parity_l16.lo' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o parity_l16.lo `test -f '$(srcdir)/generated/parity_l16.c' || echo '$(srcdir)/'`$(srcdir)/generated/parity_l16.c
|
||||
|
||||
matmul_i1.lo: $(srcdir)/generated/matmul_i1.c
|
||||
@am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT matmul_i1.lo -MD -MP -MF $(DEPDIR)/matmul_i1.Tpo -c -o matmul_i1.lo `test -f '$(srcdir)/generated/matmul_i1.c' || echo '$(srcdir)/'`$(srcdir)/generated/matmul_i1.c
|
||||
@am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/matmul_i1.Tpo $(DEPDIR)/matmul_i1.Plo
|
||||
@ -5603,6 +5692,12 @@ fpu-target.h: $(srcdir)/$(FPU_HOST_HEADER)
|
||||
@MAINTAINER_MODE_TRUE@$(i_matmull_c): m4/matmull.m4 $(I_M4_DEPS)
|
||||
@MAINTAINER_MODE_TRUE@ $(M4) -Dfile=$@ -I$(srcdir)/m4 matmull.m4 > $@
|
||||
|
||||
@MAINTAINER_MODE_TRUE@$(i_norm2_c): m4/norm2.m4 $(I_M4_DEPS)
|
||||
@MAINTAINER_MODE_TRUE@ $(M4) -Dfile=$@ -I$(srcdir)/m4 norm2.m4 > $@
|
||||
|
||||
@MAINTAINER_MODE_TRUE@$(i_parity_c): m4/parity.m4 $(I_M4_DEPS)
|
||||
@MAINTAINER_MODE_TRUE@ $(M4) -Dfile=$@ -I$(srcdir)/m4 parity.m4 > $@
|
||||
|
||||
@MAINTAINER_MODE_TRUE@$(i_transpose_c): m4/transpose.m4 $(I_M4_DEPS)
|
||||
@MAINTAINER_MODE_TRUE@ $(M4) -Dfile=$@ -I$(srcdir)/m4 transpose.m4 > $@
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the ALL intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the ALL intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the ALL intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the ALL intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the ALL intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the ANY intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the ANY intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the ANY intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the ANY intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the ANY intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the COUNT intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the COUNT intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the COUNT intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the COUNT intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the COUNT intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ maxloc1_16_i1 (gfc_array_i16 * const restrict retarray,
|
||||
result = (GFC_INTEGER_16)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ maxloc1_16_i16 (gfc_array_i16 * const restrict retarray,
|
||||
result = (GFC_INTEGER_16)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ maxloc1_16_i2 (gfc_array_i16 * const restrict retarray,
|
||||
result = (GFC_INTEGER_16)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ maxloc1_16_i4 (gfc_array_i16 * const restrict retarray,
|
||||
result = (GFC_INTEGER_16)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ maxloc1_16_i8 (gfc_array_i16 * const restrict retarray,
|
||||
result = (GFC_INTEGER_16)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ maxloc1_16_r10 (gfc_array_i16 * const restrict retarray,
|
||||
result = (GFC_INTEGER_16)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ maxloc1_16_r16 (gfc_array_i16 * const restrict retarray,
|
||||
result = (GFC_INTEGER_16)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ maxloc1_16_r4 (gfc_array_i16 * const restrict retarray,
|
||||
result = (GFC_INTEGER_16)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ maxloc1_16_r8 (gfc_array_i16 * const restrict retarray,
|
||||
result = (GFC_INTEGER_16)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ maxloc1_4_i1 (gfc_array_i4 * const restrict retarray,
|
||||
result = (GFC_INTEGER_4)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ maxloc1_4_i16 (gfc_array_i4 * const restrict retarray,
|
||||
result = (GFC_INTEGER_4)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ maxloc1_4_i2 (gfc_array_i4 * const restrict retarray,
|
||||
result = (GFC_INTEGER_4)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ maxloc1_4_i4 (gfc_array_i4 * const restrict retarray,
|
||||
result = (GFC_INTEGER_4)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ maxloc1_4_i8 (gfc_array_i4 * const restrict retarray,
|
||||
result = (GFC_INTEGER_4)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ maxloc1_4_r10 (gfc_array_i4 * const restrict retarray,
|
||||
result = (GFC_INTEGER_4)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ maxloc1_4_r16 (gfc_array_i4 * const restrict retarray,
|
||||
result = (GFC_INTEGER_4)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ maxloc1_4_r4 (gfc_array_i4 * const restrict retarray,
|
||||
result = (GFC_INTEGER_4)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ maxloc1_4_r8 (gfc_array_i4 * const restrict retarray,
|
||||
result = (GFC_INTEGER_4)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ maxloc1_8_i1 (gfc_array_i8 * const restrict retarray,
|
||||
result = (GFC_INTEGER_8)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ maxloc1_8_i16 (gfc_array_i8 * const restrict retarray,
|
||||
result = (GFC_INTEGER_8)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ maxloc1_8_i2 (gfc_array_i8 * const restrict retarray,
|
||||
result = (GFC_INTEGER_8)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ maxloc1_8_i4 (gfc_array_i8 * const restrict retarray,
|
||||
result = (GFC_INTEGER_8)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ maxloc1_8_i8 (gfc_array_i8 * const restrict retarray,
|
||||
result = (GFC_INTEGER_8)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ maxloc1_8_r10 (gfc_array_i8 * const restrict retarray,
|
||||
result = (GFC_INTEGER_8)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ maxloc1_8_r16 (gfc_array_i8 * const restrict retarray,
|
||||
result = (GFC_INTEGER_8)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ maxloc1_8_r4 (gfc_array_i8 * const restrict retarray,
|
||||
result = (GFC_INTEGER_8)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ maxloc1_8_r8 (gfc_array_i8 * const restrict retarray,
|
||||
result = (GFC_INTEGER_8)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXVAL intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -166,6 +166,7 @@ maxval_i1 (gfc_array_i1 * const restrict retarray,
|
||||
if (*src > result)
|
||||
result = *src;
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXVAL intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -166,6 +166,7 @@ maxval_i16 (gfc_array_i16 * const restrict retarray,
|
||||
if (*src > result)
|
||||
result = *src;
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXVAL intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -166,6 +166,7 @@ maxval_i2 (gfc_array_i2 * const restrict retarray,
|
||||
if (*src > result)
|
||||
result = *src;
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXVAL intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -166,6 +166,7 @@ maxval_i4 (gfc_array_i4 * const restrict retarray,
|
||||
if (*src > result)
|
||||
result = *src;
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXVAL intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -166,6 +166,7 @@ maxval_i8 (gfc_array_i8 * const restrict retarray,
|
||||
if (*src > result)
|
||||
result = *src;
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXVAL intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -166,6 +166,7 @@ maxval_r10 (gfc_array_r10 * const restrict retarray,
|
||||
if (*src > result)
|
||||
result = *src;
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXVAL intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -166,6 +166,7 @@ maxval_r16 (gfc_array_r16 * const restrict retarray,
|
||||
if (*src > result)
|
||||
result = *src;
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXVAL intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -166,6 +166,7 @@ maxval_r4 (gfc_array_r4 * const restrict retarray,
|
||||
if (*src > result)
|
||||
result = *src;
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MAXVAL intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -166,6 +166,7 @@ maxval_r8 (gfc_array_r8 * const restrict retarray,
|
||||
if (*src > result)
|
||||
result = *src;
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MINLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ minloc1_16_i1 (gfc_array_i16 * const restrict retarray,
|
||||
result = (GFC_INTEGER_16)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MINLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ minloc1_16_i16 (gfc_array_i16 * const restrict retarray,
|
||||
result = (GFC_INTEGER_16)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MINLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ minloc1_16_i2 (gfc_array_i16 * const restrict retarray,
|
||||
result = (GFC_INTEGER_16)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MINLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ minloc1_16_i4 (gfc_array_i16 * const restrict retarray,
|
||||
result = (GFC_INTEGER_16)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MINLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ minloc1_16_i8 (gfc_array_i16 * const restrict retarray,
|
||||
result = (GFC_INTEGER_16)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MINLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ minloc1_16_r10 (gfc_array_i16 * const restrict retarray,
|
||||
result = (GFC_INTEGER_16)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MINLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ minloc1_16_r16 (gfc_array_i16 * const restrict retarray,
|
||||
result = (GFC_INTEGER_16)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MINLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ minloc1_16_r4 (gfc_array_i16 * const restrict retarray,
|
||||
result = (GFC_INTEGER_16)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MINLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ minloc1_16_r8 (gfc_array_i16 * const restrict retarray,
|
||||
result = (GFC_INTEGER_16)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MINLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ minloc1_4_i1 (gfc_array_i4 * const restrict retarray,
|
||||
result = (GFC_INTEGER_4)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MINLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ minloc1_4_i16 (gfc_array_i4 * const restrict retarray,
|
||||
result = (GFC_INTEGER_4)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MINLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ minloc1_4_i2 (gfc_array_i4 * const restrict retarray,
|
||||
result = (GFC_INTEGER_4)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MINLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ minloc1_4_i4 (gfc_array_i4 * const restrict retarray,
|
||||
result = (GFC_INTEGER_4)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MINLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ minloc1_4_i8 (gfc_array_i4 * const restrict retarray,
|
||||
result = (GFC_INTEGER_4)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MINLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ minloc1_4_r10 (gfc_array_i4 * const restrict retarray,
|
||||
result = (GFC_INTEGER_4)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MINLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ minloc1_4_r16 (gfc_array_i4 * const restrict retarray,
|
||||
result = (GFC_INTEGER_4)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MINLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ minloc1_4_r4 (gfc_array_i4 * const restrict retarray,
|
||||
result = (GFC_INTEGER_4)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MINLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ minloc1_4_r8 (gfc_array_i4 * const restrict retarray,
|
||||
result = (GFC_INTEGER_4)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MINLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ minloc1_8_i1 (gfc_array_i8 * const restrict retarray,
|
||||
result = (GFC_INTEGER_8)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MINLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ minloc1_8_i16 (gfc_array_i8 * const restrict retarray,
|
||||
result = (GFC_INTEGER_8)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MINLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ minloc1_8_i2 (gfc_array_i8 * const restrict retarray,
|
||||
result = (GFC_INTEGER_8)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MINLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ minloc1_8_i4 (gfc_array_i8 * const restrict retarray,
|
||||
result = (GFC_INTEGER_8)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MINLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ minloc1_8_i8 (gfc_array_i8 * const restrict retarray,
|
||||
result = (GFC_INTEGER_8)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MINLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ minloc1_8_r10 (gfc_array_i8 * const restrict retarray,
|
||||
result = (GFC_INTEGER_8)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MINLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ minloc1_8_r16 (gfc_array_i8 * const restrict retarray,
|
||||
result = (GFC_INTEGER_8)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MINLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ minloc1_8_r4 (gfc_array_i8 * const restrict retarray,
|
||||
result = (GFC_INTEGER_8)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MINLOC intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -174,6 +174,7 @@ minloc1_8_r8 (gfc_array_i8 * const restrict retarray,
|
||||
result = (GFC_INTEGER_8)n + 1;
|
||||
}
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MINVAL intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -166,6 +166,7 @@ minval_i1 (gfc_array_i1 * const restrict retarray,
|
||||
if (*src < result)
|
||||
result = *src;
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +1,8 @@
|
||||
/* Implementation of the MINVAL intrinsic
|
||||
Copyright 2002, 2007, 2009 Free Software Foundation, Inc.
|
||||
Copyright 2002, 2007, 2009, 2010 Free Software Foundation, Inc.
|
||||
Contributed by Paul Brook <paul@nowt.org>
|
||||
|
||||
This file is part of the GNU Fortran 95 runtime library (libgfortran).
|
||||
This file is part of the GNU Fortran runtime library (libgfortran).
|
||||
|
||||
Libgfortran is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public
|
||||
@ -166,6 +166,7 @@ minval_i16 (gfc_array_i16 * const restrict retarray,
|
||||
if (*src < result)
|
||||
result = *src;
|
||||
}
|
||||
|
||||
*dest = result;
|
||||
}
|
||||
}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user