Commit 7d7b8bfe by Richard Henderson Committed by Richard Henderson

acinclude.m4 (LIBGFOR_CHECK_ATTRIBUTE_VISIBILITY): New.

        * acinclude.m4 (LIBGFOR_CHECK_ATTRIBUTE_VISIBILITY): New.
        (LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT): New.
        (LIBGFOR_CHECK_ATTRIBUTE_ALIAS): New.
        * configure.ac: Use them.
        * configure, config.h.in, aclocal.m4: Rebuild.
        * libgfortran.h (prefix): Remove.
        (PREFIX, IPREFIX): New.
        (sym_rename, sym_rename1, sym_rename2): New.
        (internal_proto, export_proto, export_proto_np): New.
        (iexport_proto, iexport): New.
        (iexport_data_proto, iexport_data): New.
        * intrinsics/abort.c, intrinsics/args.c, intrinsics/associated.c,
        intrinsics/cpu_time.c, intrinsics/cshift0.c,
        intrinsics/date_and_time.c, intrinsics/env.c, intrinsics/eoshift0.c,
        intrinsics/eoshift2.c, intrinsics/etime.c, intrinsics/exit.c,
        intrinsics/flush.c, intrinsics/fnum.c, intrinsics/getXid.c,
        intrinsics/getcwd.c, intrinsics/ishftc.c, intrinsics/mvbits.c,
        intrinsics/pack_generic.c, intrinsics/rand.c, intrinsics/random.c,
        intrinsics/reshape_generic.c, intrinsics/size.c,
        intrinsics/spread_generic.c, intrinsics/stat.c,
        intrinsics/string_intrinsics.c, intrinsics/system.c,
        intrinsics/system_clock.c, intrinsics/transpose_generic.c,
        intrinsics/umask.c, intrinsics/unlink.c, intrinsics/unpack_generic.c,
        io/backspace.c, io/close.c, io/endfile.c, io/inquire.c, io/io.h,
        io/open.c, io/rewind.c, io/transfer.c, libgfortran.h, m4/cshift1.m4,
        m4/dotprod.m4, m4/dotprodc.m4, m4/dotprodl.m4, m4/eoshift1.m4,
        m4/eoshift3.m4, m4/exponent.m4, m4/fraction.m4, m4/iforeach.m4,
        m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4, m4/nearest.m4,
        m4/pow.m4, m4/reshape.m4, m4/set_exponent.m4, m4/shape.m4,
        m4/transpose.m4, runtime/environ.c, runtime/error.c,
        runtime/in_pack_generic.c, runtime/in_unpack_generic.c,
        runtime/main.c, runtime/memory.c, runtime/pause.c, runtime/select.c,
        runtime/stop.c: Use them to mark symbols internal or external.
        * generated/*: Rebuild.

From-SVN: r92045
parent c431e499
2004-12-12 Richard Henderson <rth@redhat.com>
* acinclude.m4 (LIBGFOR_CHECK_ATTRIBUTE_VISIBILITY): New.
(LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT): New.
(LIBGFOR_CHECK_ATTRIBUTE_ALIAS): New.
* configure.ac: Use them.
* configure, config.h.in, aclocal.m4: Rebuild.
* libgfortran.h (prefix): Remove.
(PREFIX, IPREFIX): New.
(sym_rename, sym_rename1, sym_rename2): New.
(internal_proto, export_proto, export_proto_np): New.
(iexport_proto, iexport): New.
(iexport_data_proto, iexport_data): New.
* intrinsics/abort.c, intrinsics/args.c, intrinsics/associated.c,
intrinsics/cpu_time.c, intrinsics/cshift0.c,
intrinsics/date_and_time.c, intrinsics/env.c, intrinsics/eoshift0.c,
intrinsics/eoshift2.c, intrinsics/etime.c, intrinsics/exit.c,
intrinsics/flush.c, intrinsics/fnum.c, intrinsics/getXid.c,
intrinsics/getcwd.c, intrinsics/ishftc.c, intrinsics/mvbits.c,
intrinsics/pack_generic.c, intrinsics/rand.c, intrinsics/random.c,
intrinsics/reshape_generic.c, intrinsics/size.c,
intrinsics/spread_generic.c, intrinsics/stat.c,
intrinsics/string_intrinsics.c, intrinsics/system.c,
intrinsics/system_clock.c, intrinsics/transpose_generic.c,
intrinsics/umask.c, intrinsics/unlink.c, intrinsics/unpack_generic.c,
io/backspace.c, io/close.c, io/endfile.c, io/inquire.c, io/io.h,
io/open.c, io/rewind.c, io/transfer.c, libgfortran.h, m4/cshift1.m4,
m4/dotprod.m4, m4/dotprodc.m4, m4/dotprodl.m4, m4/eoshift1.m4,
m4/eoshift3.m4, m4/exponent.m4, m4/fraction.m4, m4/iforeach.m4,
m4/ifunction.m4, m4/matmul.m4, m4/matmull.m4, m4/nearest.m4,
m4/pow.m4, m4/reshape.m4, m4/set_exponent.m4, m4/shape.m4,
m4/transpose.m4, runtime/environ.c, runtime/error.c,
runtime/in_pack_generic.c, runtime/in_unpack_generic.c,
runtime/main.c, runtime/memory.c, runtime/pause.c, runtime/select.c,
runtime/stop.c: Use them to mark symbols internal or external.
* generated/*: Rebuild.
2004-12-09 David Edelsohn <edelsohn@gnu.org> 2004-12-09 David Edelsohn <edelsohn@gnu.org>
PR bootstrap/18895 PR bootstrap/18895
......
...@@ -102,3 +102,49 @@ else ...@@ -102,3 +102,49 @@ else
[Define to 1 if the target is ILP32.]) [Define to 1 if the target is ILP32.])
fi fi
]) ])
dnl Check whether the target supports hidden visibility.
AC_DEFUN([LIBGFOR_CHECK_ATTRIBUTE_VISIBILITY], [
AC_CACHE_CHECK([whether the target supports hidden visibility],
have_attribute_visibility, [
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Werror"
AC_TRY_COMPILE([void __attribute__((visibility("hidden"))) foo(void) { }],
[], have_attribute_visibility=yes,
have_attribute_visibility=no)
CFLAGS="$save_CFLAGS"])
if test $have_attribute_visibility = yes; then
AC_DEFINE(HAVE_ATTRIBUTE_VISIBILITY, 1,
[Define to 1 if the target supports __attribute__((visibility(...))).])
fi])
dnl Check whether the target supports dllexport
AC_DEFUN([LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT], [
AC_CACHE_CHECK([whether the target supports dllexport],
have_attribute_dllexport, [
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Werror"
AC_TRY_COMPILE([void __attribute__((dllexport)) foo(void) { }],
[], have_attribute_dllexport=yes,
have_attribute_dllexport=no)
CFLAGS="$save_CFLAGS"])
if test $have_attribute_dllexport = yes; then
AC_DEFINE(HAVE_ATTRIBUTE_DLLEXPORT, 1,
[Define to 1 if the target supports __attribute__((dllexport)).])
fi])
dnl Check whether the target supports symbol aliases.
AC_DEFUN([LIBGFOR_CHECK_ATTRIBUTE_ALIAS], [
AC_CACHE_CHECK([whether the target supports symbol aliases],
have_attribute_alias, [
AC_TRY_LINK([
#define ULP STR1(__USER_LABEL_PREFIX__)
#define STR1(x) STR2(x)
#define STR2(x) #x
void foo(void) { }
extern void bar(void) __attribute__((alias(ULP "foo")));],
[bar();], have_attribute_alias=yes, have_attribute_alias=no)])
if test $have_attribute_alias = yes; then
AC_DEFINE(HAVE_ATTRIBUTE_ALIAS, 1,
[Define to 1 if the target supports __attribute__((alias(...))).])
fi])
...@@ -15,6 +15,15 @@ ...@@ -15,6 +15,15 @@
/* libm includes atanf */ /* libm includes atanf */
#undef HAVE_ATANF #undef HAVE_ATANF
/* Define to 1 if the target supports __attribute__((alias(...))). */
#undef HAVE_ATTRIBUTE_ALIAS
/* Define to 1 if the target supports __attribute__((dllexport)). */
#undef HAVE_ATTRIBUTE_DLLEXPORT
/* Define to 1 if the target supports __attribute__((visibility(...))). */
#undef HAVE_ATTRIBUTE_VISIBILITY
/* libm includes ceilf */ /* libm includes ceilf */
#undef HAVE_CEILF #undef HAVE_CEILF
......
...@@ -11291,6 +11291,211 @@ _ACEOF ...@@ -11291,6 +11291,211 @@ _ACEOF
fi fi
# Check out attribute support.
echo "$as_me:$LINENO: checking whether the target supports hidden visibility" >&5
echo $ECHO_N "checking whether the target supports hidden visibility... $ECHO_C" >&6
if test "${have_attribute_visibility+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Werror"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
void __attribute__((visibility("hidden"))) foo(void) { }
int
main ()
{
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
have_attribute_visibility=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
have_attribute_visibility=no
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
CFLAGS="$save_CFLAGS"
fi
echo "$as_me:$LINENO: result: $have_attribute_visibility" >&5
echo "${ECHO_T}$have_attribute_visibility" >&6
if test $have_attribute_visibility = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_ATTRIBUTE_VISIBILITY 1
_ACEOF
fi
echo "$as_me:$LINENO: checking whether the target supports dllexport" >&5
echo $ECHO_N "checking whether the target supports dllexport... $ECHO_C" >&6
if test "${have_attribute_dllexport+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Werror"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
void __attribute__((dllexport)) foo(void) { }
int
main ()
{
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest.$ac_objext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
have_attribute_dllexport=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
have_attribute_dllexport=no
fi
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
CFLAGS="$save_CFLAGS"
fi
echo "$as_me:$LINENO: result: $have_attribute_dllexport" >&5
echo "${ECHO_T}$have_attribute_dllexport" >&6
if test $have_attribute_dllexport = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_ATTRIBUTE_DLLEXPORT 1
_ACEOF
fi
echo "$as_me:$LINENO: checking whether the target supports symbol aliases" >&5
echo $ECHO_N "checking whether the target supports symbol aliases... $ECHO_C" >&6
if test "${have_attribute_alias+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test x$gcc_no_link = xyes; then
{ { echo "$as_me:$LINENO: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&5
echo "$as_me: error: Link tests are not allowed after GCC_NO_EXECUTABLES." >&2;}
{ (exit 1); exit 1; }; }
fi
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#define ULP STR1(__USER_LABEL_PREFIX__)
#define STR1(x) STR2(x)
#define STR2(x) #x
void foo(void) { }
extern void bar(void) __attribute__((alias(ULP "foo")));
int
main ()
{
bar();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
(eval $ac_link) 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
{ ac_try='test -z "$ac_c_werror_flag"
|| test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; } &&
{ ac_try='test -s conftest$ac_exeext'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); }; }; then
have_attribute_alias=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
have_attribute_alias=no
fi
rm -f conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
fi
echo "$as_me:$LINENO: result: $have_attribute_alias" >&5
echo "${ECHO_T}$have_attribute_alias" >&6
if test $have_attribute_alias = yes; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_ATTRIBUTE_ALIAS 1
_ACEOF
fi
cat >confcache <<\_ACEOF cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure # This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure # tests run on this system so they can be shared between configure
......
...@@ -234,6 +234,11 @@ LIBGFOR_GETTIMEOFDAY ...@@ -234,6 +234,11 @@ LIBGFOR_GETTIMEOFDAY
# have C99 integer types at all. # have C99 integer types at all.
LIBGFOR_TARGET_ILP32 LIBGFOR_TARGET_ILP32
# Check out attribute support.
LIBGFOR_CHECK_ATTRIBUTE_VISIBILITY
LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT
LIBGFOR_CHECK_ATTRIBUTE_ALIAS
AC_CACHE_SAVE AC_CACHE_SAVE
if test ${multilib} = yes; then if test ${multilib} = yes; then
......
...@@ -24,8 +24,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -24,8 +24,12 @@ Boston, MA 02111-1307, USA. */
#include <assert.h> #include <assert.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __all_l4 (gfc_array_l4 *, gfc_array_l4 *, index_type *);
export_proto_np(__all_l4);
void void
__all_l4 (gfc_array_l4 * retarray, gfc_array_l4 *array, index_type *pdim) __all_l4 (gfc_array_l4 *retarray, gfc_array_l4 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
......
...@@ -24,8 +24,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -24,8 +24,12 @@ Boston, MA 02111-1307, USA. */
#include <assert.h> #include <assert.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __all_l8 (gfc_array_l8 *, gfc_array_l8 *, index_type *);
export_proto_np(__all_l8);
void void
__all_l8 (gfc_array_l8 * retarray, gfc_array_l8 *array, index_type *pdim) __all_l8 (gfc_array_l8 *retarray, gfc_array_l8 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
......
...@@ -24,8 +24,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -24,8 +24,12 @@ Boston, MA 02111-1307, USA. */
#include <assert.h> #include <assert.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __any_l4 (gfc_array_l4 *, gfc_array_l4 *, index_type *);
export_proto_np(__any_l4);
void void
__any_l4 (gfc_array_l4 * retarray, gfc_array_l4 *array, index_type *pdim) __any_l4 (gfc_array_l4 *retarray, gfc_array_l4 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
......
...@@ -24,8 +24,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -24,8 +24,12 @@ Boston, MA 02111-1307, USA. */
#include <assert.h> #include <assert.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __any_l8 (gfc_array_l8 *, gfc_array_l8 *, index_type *);
export_proto_np(__any_l8);
void void
__any_l8 (gfc_array_l8 * retarray, gfc_array_l8 *array, index_type *pdim) __any_l8 (gfc_array_l8 *retarray, gfc_array_l8 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
......
...@@ -24,8 +24,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -24,8 +24,12 @@ Boston, MA 02111-1307, USA. */
#include <assert.h> #include <assert.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __count_4_l4 (gfc_array_i4 *, gfc_array_l4 *, index_type *);
export_proto_np(__count_4_l4);
void void
__count_4_l4 (gfc_array_i4 * retarray, gfc_array_l4 *array, index_type *pdim) __count_4_l4 (gfc_array_i4 *retarray, gfc_array_l4 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
......
...@@ -24,8 +24,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -24,8 +24,12 @@ Boston, MA 02111-1307, USA. */
#include <assert.h> #include <assert.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __count_4_l8 (gfc_array_i4 *, gfc_array_l8 *, index_type *);
export_proto_np(__count_4_l8);
void void
__count_4_l8 (gfc_array_i4 * retarray, gfc_array_l8 *array, index_type *pdim) __count_4_l8 (gfc_array_i4 *retarray, gfc_array_l8 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
......
...@@ -24,8 +24,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -24,8 +24,12 @@ Boston, MA 02111-1307, USA. */
#include <assert.h> #include <assert.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __count_8_l4 (gfc_array_i8 *, gfc_array_l4 *, index_type *);
export_proto_np(__count_8_l4);
void void
__count_8_l4 (gfc_array_i8 * retarray, gfc_array_l4 *array, index_type *pdim) __count_8_l4 (gfc_array_i8 *retarray, gfc_array_l4 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
......
...@@ -24,8 +24,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -24,8 +24,12 @@ Boston, MA 02111-1307, USA. */
#include <assert.h> #include <assert.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __count_8_l8 (gfc_array_i8 *, gfc_array_l8 *, index_type *);
export_proto_np(__count_8_l8);
void void
__count_8_l8 (gfc_array_i8 * retarray, gfc_array_l8 *array, index_type *pdim) __count_8_l8 (gfc_array_i8 *retarray, gfc_array_l8 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
......
...@@ -25,9 +25,15 @@ Boston, MA 02111-1307, USA. */ ...@@ -25,9 +25,15 @@ Boston, MA 02111-1307, USA. */
#include <string.h> #include <string.h>
#include "libgfortran.h" #include "libgfortran.h"
void __cshift1_4 (const gfc_array_char * ret,
const gfc_array_char * array,
const gfc_array_i4 * h, const GFC_INTEGER_4 * pwhich);
export_proto_np(__cshift1_4);
void void
__cshift1_4 (const gfc_array_char * ret, const gfc_array_char * array, __cshift1_4 (const gfc_array_char * ret,
const gfc_array_i4 * h, const GFC_INTEGER_4 * pwhich) const gfc_array_char * array,
const gfc_array_i4 * h, const GFC_INTEGER_4 * pwhich)
{ {
/* r.* indicates the return array. */ /* r.* indicates the return array. */
index_type rstride[GFC_MAX_DIMENSIONS - 1]; index_type rstride[GFC_MAX_DIMENSIONS - 1];
...@@ -41,7 +47,7 @@ __cshift1_4 (const gfc_array_char * ret, const gfc_array_char * array, ...@@ -41,7 +47,7 @@ __cshift1_4 (const gfc_array_char * ret, const gfc_array_char * array,
index_type soffset; index_type soffset;
const char *sptr; const char *sptr;
const char *src; const char *src;
/* h.* indicates the shift array. */ /* h.* indicates the array. */
index_type hstride[GFC_MAX_DIMENSIONS - 1]; index_type hstride[GFC_MAX_DIMENSIONS - 1];
index_type hstride0; index_type hstride0;
const GFC_INTEGER_4 *hptr; const GFC_INTEGER_4 *hptr;
...@@ -70,7 +76,7 @@ __cshift1_4 (const gfc_array_char * ret, const gfc_array_char * array, ...@@ -70,7 +76,7 @@ __cshift1_4 (const gfc_array_char * ret, const gfc_array_char * array,
size = GFC_DESCRIPTOR_SIZE (array); size = GFC_DESCRIPTOR_SIZE (array);
n = 0; n = 0;
/* Initialized for avoiding compiler warnings. */ /* Initialized for avoiding compiler warnings. */
roffset = size; roffset = size;
soffset = size; soffset = size;
len = 0; len = 0;
...@@ -115,7 +121,7 @@ __cshift1_4 (const gfc_array_char * ret, const gfc_array_char * array, ...@@ -115,7 +121,7 @@ __cshift1_4 (const gfc_array_char * ret, const gfc_array_char * array,
while (rptr) while (rptr)
{ {
/* Do the shift for this dimension. */ /* Do the for this dimension. */
sh = *hptr; sh = *hptr;
sh = (div (sh, len)).rem; sh = (div (sh, len)).rem;
if (sh < 0) if (sh < 0)
...@@ -167,4 +173,3 @@ __cshift1_4 (const gfc_array_char * ret, const gfc_array_char * array, ...@@ -167,4 +173,3 @@ __cshift1_4 (const gfc_array_char * ret, const gfc_array_char * array,
} }
} }
} }
...@@ -25,9 +25,15 @@ Boston, MA 02111-1307, USA. */ ...@@ -25,9 +25,15 @@ Boston, MA 02111-1307, USA. */
#include <string.h> #include <string.h>
#include "libgfortran.h" #include "libgfortran.h"
void __cshift1_8 (const gfc_array_char * ret,
const gfc_array_char * array,
const gfc_array_i8 * h, const GFC_INTEGER_8 * pwhich);
export_proto_np(__cshift1_8);
void void
__cshift1_8 (const gfc_array_char * ret, const gfc_array_char * array, __cshift1_8 (const gfc_array_char * ret,
const gfc_array_i8 * h, const GFC_INTEGER_8 * pwhich) const gfc_array_char * array,
const gfc_array_i8 * h, const GFC_INTEGER_8 * pwhich)
{ {
/* r.* indicates the return array. */ /* r.* indicates the return array. */
index_type rstride[GFC_MAX_DIMENSIONS - 1]; index_type rstride[GFC_MAX_DIMENSIONS - 1];
...@@ -41,7 +47,7 @@ __cshift1_8 (const gfc_array_char * ret, const gfc_array_char * array, ...@@ -41,7 +47,7 @@ __cshift1_8 (const gfc_array_char * ret, const gfc_array_char * array,
index_type soffset; index_type soffset;
const char *sptr; const char *sptr;
const char *src; const char *src;
/* h.* indicates the shift array. */ /* h.* indicates the array. */
index_type hstride[GFC_MAX_DIMENSIONS - 1]; index_type hstride[GFC_MAX_DIMENSIONS - 1];
index_type hstride0; index_type hstride0;
const GFC_INTEGER_8 *hptr; const GFC_INTEGER_8 *hptr;
...@@ -70,7 +76,7 @@ __cshift1_8 (const gfc_array_char * ret, const gfc_array_char * array, ...@@ -70,7 +76,7 @@ __cshift1_8 (const gfc_array_char * ret, const gfc_array_char * array,
size = GFC_DESCRIPTOR_SIZE (array); size = GFC_DESCRIPTOR_SIZE (array);
n = 0; n = 0;
/* Initialized for avoiding compiler warnings. */ /* Initialized for avoiding compiler warnings. */
roffset = size; roffset = size;
soffset = size; soffset = size;
len = 0; len = 0;
...@@ -115,7 +121,7 @@ __cshift1_8 (const gfc_array_char * ret, const gfc_array_char * array, ...@@ -115,7 +121,7 @@ __cshift1_8 (const gfc_array_char * ret, const gfc_array_char * array,
while (rptr) while (rptr)
{ {
/* Do the shift for this dimension. */ /* Do the for this dimension. */
sh = *hptr; sh = *hptr;
sh = (div (sh, len)).rem; sh = (div (sh, len)).rem;
if (sh < 0) if (sh < 0)
...@@ -167,4 +173,3 @@ __cshift1_8 (const gfc_array_char * ret, const gfc_array_char * array, ...@@ -167,4 +173,3 @@ __cshift1_8 (const gfc_array_char * ret, const gfc_array_char * array,
} }
} }
} }
...@@ -27,6 +27,9 @@ Boston, MA 02111-1307, USA. */ ...@@ -27,6 +27,9 @@ Boston, MA 02111-1307, USA. */
typedef GFC_ARRAY_DESCRIPTOR(GFC_MAX_DIMENSIONS, char) char_array; typedef GFC_ARRAY_DESCRIPTOR(GFC_MAX_DIMENSIONS, char) char_array;
extern GFC_COMPLEX_4 __dot_product_c4 (gfc_array_c4 * a, gfc_array_c4 * b);
export_proto_np(__dot_product_c4);
/* Both parameters will already have been converted to the result type. */ /* Both parameters will already have been converted to the result type. */
GFC_COMPLEX_4 GFC_COMPLEX_4
__dot_product_c4 (gfc_array_c4 * a, gfc_array_c4 * b) __dot_product_c4 (gfc_array_c4 * a, gfc_array_c4 * b)
...@@ -64,4 +67,3 @@ __dot_product_c4 (gfc_array_c4 * a, gfc_array_c4 * b) ...@@ -64,4 +67,3 @@ __dot_product_c4 (gfc_array_c4 * a, gfc_array_c4 * b)
return res; return res;
} }
...@@ -27,6 +27,9 @@ Boston, MA 02111-1307, USA. */ ...@@ -27,6 +27,9 @@ Boston, MA 02111-1307, USA. */
typedef GFC_ARRAY_DESCRIPTOR(GFC_MAX_DIMENSIONS, char) char_array; typedef GFC_ARRAY_DESCRIPTOR(GFC_MAX_DIMENSIONS, char) char_array;
extern GFC_COMPLEX_8 __dot_product_c8 (gfc_array_c8 * a, gfc_array_c8 * b);
export_proto_np(__dot_product_c8);
/* Both parameters will already have been converted to the result type. */ /* Both parameters will already have been converted to the result type. */
GFC_COMPLEX_8 GFC_COMPLEX_8
__dot_product_c8 (gfc_array_c8 * a, gfc_array_c8 * b) __dot_product_c8 (gfc_array_c8 * a, gfc_array_c8 * b)
...@@ -64,4 +67,3 @@ __dot_product_c8 (gfc_array_c8 * a, gfc_array_c8 * b) ...@@ -64,4 +67,3 @@ __dot_product_c8 (gfc_array_c8 * a, gfc_array_c8 * b)
return res; return res;
} }
...@@ -26,6 +26,9 @@ Boston, MA 02111-1307, USA. */ ...@@ -26,6 +26,9 @@ Boston, MA 02111-1307, USA. */
typedef GFC_ARRAY_DESCRIPTOR(GFC_MAX_DIMENSIONS, char) char_array; typedef GFC_ARRAY_DESCRIPTOR(GFC_MAX_DIMENSIONS, char) char_array;
extern GFC_INTEGER_4 __dot_product_i4 (gfc_array_i4 * a, gfc_array_i4 * b);
export_proto_np(__dot_product_i4);
/* Both parameters will already have been converted to the result type. */ /* Both parameters will already have been converted to the result type. */
GFC_INTEGER_4 GFC_INTEGER_4
__dot_product_i4 (gfc_array_i4 * a, gfc_array_i4 * b) __dot_product_i4 (gfc_array_i4 * a, gfc_array_i4 * b)
...@@ -61,4 +64,3 @@ __dot_product_i4 (gfc_array_i4 * a, gfc_array_i4 * b) ...@@ -61,4 +64,3 @@ __dot_product_i4 (gfc_array_i4 * a, gfc_array_i4 * b)
return res; return res;
} }
...@@ -26,6 +26,9 @@ Boston, MA 02111-1307, USA. */ ...@@ -26,6 +26,9 @@ Boston, MA 02111-1307, USA. */
typedef GFC_ARRAY_DESCRIPTOR(GFC_MAX_DIMENSIONS, char) char_array; typedef GFC_ARRAY_DESCRIPTOR(GFC_MAX_DIMENSIONS, char) char_array;
extern GFC_INTEGER_8 __dot_product_i8 (gfc_array_i8 * a, gfc_array_i8 * b);
export_proto_np(__dot_product_i8);
/* Both parameters will already have been converted to the result type. */ /* Both parameters will already have been converted to the result type. */
GFC_INTEGER_8 GFC_INTEGER_8
__dot_product_i8 (gfc_array_i8 * a, gfc_array_i8 * b) __dot_product_i8 (gfc_array_i8 * a, gfc_array_i8 * b)
...@@ -61,4 +64,3 @@ __dot_product_i8 (gfc_array_i8 * a, gfc_array_i8 * b) ...@@ -61,4 +64,3 @@ __dot_product_i8 (gfc_array_i8 * a, gfc_array_i8 * b)
return res; return res;
} }
...@@ -24,6 +24,9 @@ Boston, MA 02111-1307, USA. */ ...@@ -24,6 +24,9 @@ Boston, MA 02111-1307, USA. */
#include <assert.h> #include <assert.h>
#include "libgfortran.h" #include "libgfortran.h"
extern GFC_LOGICAL_4 __dot_product_l4 (gfc_array_l4 *, gfc_array_l4 *);
export_proto_np(__dot_product_l4);
GFC_LOGICAL_4 GFC_LOGICAL_4
__dot_product_l4 (gfc_array_l4 * a, gfc_array_l4 * b) __dot_product_l4 (gfc_array_l4 * a, gfc_array_l4 * b)
{ {
...@@ -71,4 +74,3 @@ __dot_product_l4 (gfc_array_l4 * a, gfc_array_l4 * b) ...@@ -71,4 +74,3 @@ __dot_product_l4 (gfc_array_l4 * a, gfc_array_l4 * b)
return 0; return 0;
} }
...@@ -24,6 +24,9 @@ Boston, MA 02111-1307, USA. */ ...@@ -24,6 +24,9 @@ Boston, MA 02111-1307, USA. */
#include <assert.h> #include <assert.h>
#include "libgfortran.h" #include "libgfortran.h"
extern GFC_LOGICAL_8 __dot_product_l8 (gfc_array_l4 *, gfc_array_l4 *);
export_proto_np(__dot_product_l8);
GFC_LOGICAL_8 GFC_LOGICAL_8
__dot_product_l8 (gfc_array_l4 * a, gfc_array_l4 * b) __dot_product_l8 (gfc_array_l4 * a, gfc_array_l4 * b)
{ {
...@@ -71,4 +74,3 @@ __dot_product_l8 (gfc_array_l4 * a, gfc_array_l4 * b) ...@@ -71,4 +74,3 @@ __dot_product_l8 (gfc_array_l4 * a, gfc_array_l4 * b)
return 0; return 0;
} }
...@@ -26,6 +26,9 @@ Boston, MA 02111-1307, USA. */ ...@@ -26,6 +26,9 @@ Boston, MA 02111-1307, USA. */
typedef GFC_ARRAY_DESCRIPTOR(GFC_MAX_DIMENSIONS, char) char_array; typedef GFC_ARRAY_DESCRIPTOR(GFC_MAX_DIMENSIONS, char) char_array;
extern GFC_REAL_4 __dot_product_r4 (gfc_array_r4 * a, gfc_array_r4 * b);
export_proto_np(__dot_product_r4);
/* Both parameters will already have been converted to the result type. */ /* Both parameters will already have been converted to the result type. */
GFC_REAL_4 GFC_REAL_4
__dot_product_r4 (gfc_array_r4 * a, gfc_array_r4 * b) __dot_product_r4 (gfc_array_r4 * a, gfc_array_r4 * b)
...@@ -61,4 +64,3 @@ __dot_product_r4 (gfc_array_r4 * a, gfc_array_r4 * b) ...@@ -61,4 +64,3 @@ __dot_product_r4 (gfc_array_r4 * a, gfc_array_r4 * b)
return res; return res;
} }
...@@ -26,6 +26,9 @@ Boston, MA 02111-1307, USA. */ ...@@ -26,6 +26,9 @@ Boston, MA 02111-1307, USA. */
typedef GFC_ARRAY_DESCRIPTOR(GFC_MAX_DIMENSIONS, char) char_array; typedef GFC_ARRAY_DESCRIPTOR(GFC_MAX_DIMENSIONS, char) char_array;
extern GFC_REAL_8 __dot_product_r8 (gfc_array_r8 * a, gfc_array_r8 * b);
export_proto_np(__dot_product_r8);
/* Both parameters will already have been converted to the result type. */ /* Both parameters will already have been converted to the result type. */
GFC_REAL_8 GFC_REAL_8
__dot_product_r8 (gfc_array_r8 * a, gfc_array_r8 * b) __dot_product_r8 (gfc_array_r8 * a, gfc_array_r8 * b)
...@@ -61,4 +64,3 @@ __dot_product_r8 (gfc_array_r8 * a, gfc_array_r8 * b) ...@@ -61,4 +64,3 @@ __dot_product_r8 (gfc_array_r8 * a, gfc_array_r8 * b)
return res; return res;
} }
...@@ -28,9 +28,17 @@ Boston, MA 02111-1307, USA. */ ...@@ -28,9 +28,17 @@ Boston, MA 02111-1307, USA. */
static const char zeros[16] = static const char zeros[16] =
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
extern void __eoshift1_4 (const gfc_array_char *,
const gfc_array_char *,
const gfc_array_i4 *, const char *,
const GFC_INTEGER_4 *);
export_proto_np(__eoshift1_4);
void void
__eoshift1_4 (const gfc_array_char * ret, const gfc_array_char * array, __eoshift1_4 (const gfc_array_char *ret,
const gfc_array_i4 * h, const char * pbound, const GFC_INTEGER_4 * pwhich) const gfc_array_char *array,
const gfc_array_i4 *h, const char *pbound,
const GFC_INTEGER_4 *pwhich)
{ {
/* r.* indicates the return array. */ /* r.* indicates the return array. */
index_type rstride[GFC_MAX_DIMENSIONS - 1]; index_type rstride[GFC_MAX_DIMENSIONS - 1];
...@@ -175,4 +183,3 @@ __eoshift1_4 (const gfc_array_char * ret, const gfc_array_char * array, ...@@ -175,4 +183,3 @@ __eoshift1_4 (const gfc_array_char * ret, const gfc_array_char * array,
} }
} }
} }
...@@ -28,9 +28,17 @@ Boston, MA 02111-1307, USA. */ ...@@ -28,9 +28,17 @@ Boston, MA 02111-1307, USA. */
static const char zeros[16] = static const char zeros[16] =
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
extern void __eoshift1_8 (const gfc_array_char *,
const gfc_array_char *,
const gfc_array_i8 *, const char *,
const GFC_INTEGER_8 *);
export_proto_np(__eoshift1_8);
void void
__eoshift1_8 (const gfc_array_char * ret, const gfc_array_char * array, __eoshift1_8 (const gfc_array_char *ret,
const gfc_array_i8 * h, const char * pbound, const GFC_INTEGER_8 * pwhich) const gfc_array_char *array,
const gfc_array_i8 *h, const char *pbound,
const GFC_INTEGER_8 *pwhich)
{ {
/* r.* indicates the return array. */ /* r.* indicates the return array. */
index_type rstride[GFC_MAX_DIMENSIONS - 1]; index_type rstride[GFC_MAX_DIMENSIONS - 1];
...@@ -175,4 +183,3 @@ __eoshift1_8 (const gfc_array_char * ret, const gfc_array_char * array, ...@@ -175,4 +183,3 @@ __eoshift1_8 (const gfc_array_char * ret, const gfc_array_char * array,
} }
} }
} }
...@@ -28,9 +28,15 @@ Boston, MA 02111-1307, USA. */ ...@@ -28,9 +28,15 @@ Boston, MA 02111-1307, USA. */
static const char zeros[16] = static const char zeros[16] =
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
extern void __eoshift3_4 (gfc_array_char *, gfc_array_char *,
gfc_array_i4 *, const gfc_array_char *,
GFC_INTEGER_4 *);
export_proto_np(__eoshift3_4);
void void
__eoshift3_4 (gfc_array_char * ret, gfc_array_char * array, __eoshift3_4 (gfc_array_char *ret, gfc_array_char *array,
gfc_array_i4 * h, const gfc_array_char * bound, GFC_INTEGER_4 * pwhich) gfc_array_i4 *h, const gfc_array_char *bound,
GFC_INTEGER_4 *pwhich)
{ {
/* r.* indicates the return array. */ /* r.* indicates the return array. */
index_type rstride[GFC_MAX_DIMENSIONS - 1]; index_type rstride[GFC_MAX_DIMENSIONS - 1];
...@@ -190,4 +196,3 @@ __eoshift3_4 (gfc_array_char * ret, gfc_array_char * array, ...@@ -190,4 +196,3 @@ __eoshift3_4 (gfc_array_char * ret, gfc_array_char * array,
} }
} }
} }
...@@ -28,9 +28,15 @@ Boston, MA 02111-1307, USA. */ ...@@ -28,9 +28,15 @@ Boston, MA 02111-1307, USA. */
static const char zeros[16] = static const char zeros[16] =
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
extern void __eoshift3_8 (gfc_array_char *, gfc_array_char *,
gfc_array_i8 *, const gfc_array_char *,
GFC_INTEGER_8 *);
export_proto_np(__eoshift3_8);
void void
__eoshift3_8 (gfc_array_char * ret, gfc_array_char * array, __eoshift3_8 (gfc_array_char *ret, gfc_array_char *array,
gfc_array_i8 * h, const gfc_array_char * bound, GFC_INTEGER_8 * pwhich) gfc_array_i8 *h, const gfc_array_char *bound,
GFC_INTEGER_8 *pwhich)
{ {
/* r.* indicates the return array. */ /* r.* indicates the return array. */
index_type rstride[GFC_MAX_DIMENSIONS - 1]; index_type rstride[GFC_MAX_DIMENSIONS - 1];
...@@ -190,4 +196,3 @@ __eoshift3_8 (gfc_array_char * ret, gfc_array_char * array, ...@@ -190,4 +196,3 @@ __eoshift3_8 (gfc_array_char * ret, gfc_array_char * array,
} }
} }
} }
...@@ -22,8 +22,11 @@ Boston, MA 02111-1307, USA. */ ...@@ -22,8 +22,11 @@ Boston, MA 02111-1307, USA. */
#include "libgfortran.h" #include "libgfortran.h"
extern GFC_INTEGER_4 exponent_r4 (GFC_REAL_4 s);
export_proto(exponent_r4);
GFC_INTEGER_4 GFC_INTEGER_4
prefix(exponent_r4) (GFC_REAL_4 s) exponent_r4 (GFC_REAL_4 s)
{ {
int ret; int ret;
frexpf (s, &ret); frexpf (s, &ret);
......
...@@ -22,8 +22,11 @@ Boston, MA 02111-1307, USA. */ ...@@ -22,8 +22,11 @@ Boston, MA 02111-1307, USA. */
#include "libgfortran.h" #include "libgfortran.h"
extern GFC_INTEGER_4 exponent_r8 (GFC_REAL_8 s);
export_proto(exponent_r8);
GFC_INTEGER_4 GFC_INTEGER_4
prefix(exponent_r8) (GFC_REAL_8 s) exponent_r8 (GFC_REAL_8 s)
{ {
int ret; int ret;
frexp (s, &ret); frexp (s, &ret);
......
...@@ -22,8 +22,11 @@ Boston, MA 02111-1307, USA. */ ...@@ -22,8 +22,11 @@ Boston, MA 02111-1307, USA. */
#include "libgfortran.h" #include "libgfortran.h"
extern GFC_REAL_4 fraction_r4 (GFC_REAL_4 s);
export_proto(fraction_r4);
GFC_REAL_4 GFC_REAL_4
prefix(fraction_r4) (GFC_REAL_4 s) fraction_r4 (GFC_REAL_4 s)
{ {
int dummy_exp; int dummy_exp;
return frexpf (s, &dummy_exp); return frexpf (s, &dummy_exp);
......
...@@ -22,8 +22,11 @@ Boston, MA 02111-1307, USA. */ ...@@ -22,8 +22,11 @@ Boston, MA 02111-1307, USA. */
#include "libgfortran.h" #include "libgfortran.h"
extern GFC_REAL_8 fraction_r8 (GFC_REAL_8 s);
export_proto(fraction_r8);
GFC_REAL_8 GFC_REAL_8
prefix(fraction_r8) (GFC_REAL_8 s) fraction_r8 (GFC_REAL_8 s)
{ {
int dummy_exp; int dummy_exp;
return frexp (s, &dummy_exp); return frexp (s, &dummy_exp);
......
...@@ -37,6 +37,9 @@ Boston, MA 02111-1307, USA. */ ...@@ -37,6 +37,9 @@ Boston, MA 02111-1307, USA. */
C(I,J) = C(I,J)+A(I,K)*B(K,J) C(I,J) = C(I,J)+A(I,K)*B(K,J)
*/ */
extern void __matmul_c4 (gfc_array_c4 * retarray, gfc_array_c4 * a, gfc_array_c4 * b);
export_proto_np(__matmul_c4);
void void
__matmul_c4 (gfc_array_c4 * retarray, gfc_array_c4 * a, gfc_array_c4 * b) __matmul_c4 (gfc_array_c4 * retarray, gfc_array_c4 * a, gfc_array_c4 * b)
{ {
......
...@@ -37,6 +37,9 @@ Boston, MA 02111-1307, USA. */ ...@@ -37,6 +37,9 @@ Boston, MA 02111-1307, USA. */
C(I,J) = C(I,J)+A(I,K)*B(K,J) C(I,J) = C(I,J)+A(I,K)*B(K,J)
*/ */
extern void __matmul_c8 (gfc_array_c8 * retarray, gfc_array_c8 * a, gfc_array_c8 * b);
export_proto_np(__matmul_c8);
void void
__matmul_c8 (gfc_array_c8 * retarray, gfc_array_c8 * a, gfc_array_c8 * b) __matmul_c8 (gfc_array_c8 * retarray, gfc_array_c8 * a, gfc_array_c8 * b)
{ {
......
...@@ -37,6 +37,9 @@ Boston, MA 02111-1307, USA. */ ...@@ -37,6 +37,9 @@ Boston, MA 02111-1307, USA. */
C(I,J) = C(I,J)+A(I,K)*B(K,J) C(I,J) = C(I,J)+A(I,K)*B(K,J)
*/ */
extern void __matmul_i4 (gfc_array_i4 * retarray, gfc_array_i4 * a, gfc_array_i4 * b);
export_proto_np(__matmul_i4);
void void
__matmul_i4 (gfc_array_i4 * retarray, gfc_array_i4 * a, gfc_array_i4 * b) __matmul_i4 (gfc_array_i4 * retarray, gfc_array_i4 * a, gfc_array_i4 * b)
{ {
......
...@@ -37,6 +37,9 @@ Boston, MA 02111-1307, USA. */ ...@@ -37,6 +37,9 @@ Boston, MA 02111-1307, USA. */
C(I,J) = C(I,J)+A(I,K)*B(K,J) C(I,J) = C(I,J)+A(I,K)*B(K,J)
*/ */
extern void __matmul_i8 (gfc_array_i8 * retarray, gfc_array_i8 * a, gfc_array_i8 * b);
export_proto_np(__matmul_i8);
void void
__matmul_i8 (gfc_array_i8 * retarray, gfc_array_i8 * a, gfc_array_i8 * b) __matmul_i8 (gfc_array_i8 * retarray, gfc_array_i8 * a, gfc_array_i8 * b)
{ {
......
...@@ -26,6 +26,10 @@ Boston, MA 02111-1307, USA. */ ...@@ -26,6 +26,10 @@ Boston, MA 02111-1307, USA. */
/* Dimensions: retarray(x,y) a(x, count) b(count,y). /* Dimensions: retarray(x,y) a(x, count) b(count,y).
Either a or b can be rank 1. In this case x or y is 1. */ Either a or b can be rank 1. In this case x or y is 1. */
extern void __matmul_l4 (gfc_array_l4 *, gfc_array_l4 *, gfc_array_l4 *);
export_proto_np(__matmul_l4);
void void
__matmul_l4 (gfc_array_l4 * retarray, gfc_array_l4 * a, gfc_array_l4 * b) __matmul_l4 (gfc_array_l4 * retarray, gfc_array_l4 * a, gfc_array_l4 * b)
{ {
......
...@@ -26,6 +26,10 @@ Boston, MA 02111-1307, USA. */ ...@@ -26,6 +26,10 @@ Boston, MA 02111-1307, USA. */
/* Dimensions: retarray(x,y) a(x, count) b(count,y). /* Dimensions: retarray(x,y) a(x, count) b(count,y).
Either a or b can be rank 1. In this case x or y is 1. */ Either a or b can be rank 1. In this case x or y is 1. */
extern void __matmul_l8 (gfc_array_l8 *, gfc_array_l4 *, gfc_array_l4 *);
export_proto_np(__matmul_l8);
void void
__matmul_l8 (gfc_array_l8 * retarray, gfc_array_l4 * a, gfc_array_l4 * b) __matmul_l8 (gfc_array_l8 * retarray, gfc_array_l4 * a, gfc_array_l4 * b)
{ {
......
...@@ -37,6 +37,9 @@ Boston, MA 02111-1307, USA. */ ...@@ -37,6 +37,9 @@ Boston, MA 02111-1307, USA. */
C(I,J) = C(I,J)+A(I,K)*B(K,J) C(I,J) = C(I,J)+A(I,K)*B(K,J)
*/ */
extern void __matmul_r4 (gfc_array_r4 * retarray, gfc_array_r4 * a, gfc_array_r4 * b);
export_proto_np(__matmul_r4);
void void
__matmul_r4 (gfc_array_r4 * retarray, gfc_array_r4 * a, gfc_array_r4 * b) __matmul_r4 (gfc_array_r4 * retarray, gfc_array_r4 * a, gfc_array_r4 * b)
{ {
......
...@@ -37,6 +37,9 @@ Boston, MA 02111-1307, USA. */ ...@@ -37,6 +37,9 @@ Boston, MA 02111-1307, USA. */
C(I,J) = C(I,J)+A(I,K)*B(K,J) C(I,J) = C(I,J)+A(I,K)*B(K,J)
*/ */
extern void __matmul_r8 (gfc_array_r8 * retarray, gfc_array_r8 * a, gfc_array_r8 * b);
export_proto_np(__matmul_r8);
void void
__matmul_r8 (gfc_array_r8 * retarray, gfc_array_r8 * a, gfc_array_r8 * b) __matmul_r8 (gfc_array_r8 * retarray, gfc_array_r8 * a, gfc_array_r8 * b)
{ {
......
...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */ ...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */
#include "libgfortran.h" #include "libgfortran.h"
extern void __maxloc0_4_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array);
export_proto_np(__maxloc0_4_i4);
void void
__maxloc0_4_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array) __maxloc0_4_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array)
{ {
...@@ -117,6 +121,10 @@ __maxloc0_4_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array) ...@@ -117,6 +121,10 @@ __maxloc0_4_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array)
} }
} }
extern void __mmaxloc0_4_i4 (gfc_array_i4 *, gfc_array_i4 *, gfc_array_l4 *);
export_proto_np(__mmaxloc0_4_i4);
void void
__mmaxloc0_4_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array, gfc_array_l4 * mask) __mmaxloc0_4_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array, gfc_array_l4 * mask)
{ {
......
...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */ ...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */
#include "libgfortran.h" #include "libgfortran.h"
extern void __maxloc0_4_i8 (gfc_array_i4 * retarray, gfc_array_i8 *array);
export_proto_np(__maxloc0_4_i8);
void void
__maxloc0_4_i8 (gfc_array_i4 * retarray, gfc_array_i8 *array) __maxloc0_4_i8 (gfc_array_i4 * retarray, gfc_array_i8 *array)
{ {
...@@ -117,6 +121,10 @@ __maxloc0_4_i8 (gfc_array_i4 * retarray, gfc_array_i8 *array) ...@@ -117,6 +121,10 @@ __maxloc0_4_i8 (gfc_array_i4 * retarray, gfc_array_i8 *array)
} }
} }
extern void __mmaxloc0_4_i8 (gfc_array_i4 *, gfc_array_i8 *, gfc_array_l4 *);
export_proto_np(__mmaxloc0_4_i8);
void void
__mmaxloc0_4_i8 (gfc_array_i4 * retarray, gfc_array_i8 *array, gfc_array_l4 * mask) __mmaxloc0_4_i8 (gfc_array_i4 * retarray, gfc_array_i8 *array, gfc_array_l4 * mask)
{ {
......
...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */ ...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */
#include "libgfortran.h" #include "libgfortran.h"
extern void __maxloc0_4_r4 (gfc_array_i4 * retarray, gfc_array_r4 *array);
export_proto_np(__maxloc0_4_r4);
void void
__maxloc0_4_r4 (gfc_array_i4 * retarray, gfc_array_r4 *array) __maxloc0_4_r4 (gfc_array_i4 * retarray, gfc_array_r4 *array)
{ {
...@@ -117,6 +121,10 @@ __maxloc0_4_r4 (gfc_array_i4 * retarray, gfc_array_r4 *array) ...@@ -117,6 +121,10 @@ __maxloc0_4_r4 (gfc_array_i4 * retarray, gfc_array_r4 *array)
} }
} }
extern void __mmaxloc0_4_r4 (gfc_array_i4 *, gfc_array_r4 *, gfc_array_l4 *);
export_proto_np(__mmaxloc0_4_r4);
void void
__mmaxloc0_4_r4 (gfc_array_i4 * retarray, gfc_array_r4 *array, gfc_array_l4 * mask) __mmaxloc0_4_r4 (gfc_array_i4 * retarray, gfc_array_r4 *array, gfc_array_l4 * mask)
{ {
......
...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */ ...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */
#include "libgfortran.h" #include "libgfortran.h"
extern void __maxloc0_4_r8 (gfc_array_i4 * retarray, gfc_array_r8 *array);
export_proto_np(__maxloc0_4_r8);
void void
__maxloc0_4_r8 (gfc_array_i4 * retarray, gfc_array_r8 *array) __maxloc0_4_r8 (gfc_array_i4 * retarray, gfc_array_r8 *array)
{ {
...@@ -117,6 +121,10 @@ __maxloc0_4_r8 (gfc_array_i4 * retarray, gfc_array_r8 *array) ...@@ -117,6 +121,10 @@ __maxloc0_4_r8 (gfc_array_i4 * retarray, gfc_array_r8 *array)
} }
} }
extern void __mmaxloc0_4_r8 (gfc_array_i4 *, gfc_array_r8 *, gfc_array_l4 *);
export_proto_np(__mmaxloc0_4_r8);
void void
__mmaxloc0_4_r8 (gfc_array_i4 * retarray, gfc_array_r8 *array, gfc_array_l4 * mask) __mmaxloc0_4_r8 (gfc_array_i4 * retarray, gfc_array_r8 *array, gfc_array_l4 * mask)
{ {
......
...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */ ...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */
#include "libgfortran.h" #include "libgfortran.h"
extern void __maxloc0_8_i4 (gfc_array_i8 * retarray, gfc_array_i4 *array);
export_proto_np(__maxloc0_8_i4);
void void
__maxloc0_8_i4 (gfc_array_i8 * retarray, gfc_array_i4 *array) __maxloc0_8_i4 (gfc_array_i8 * retarray, gfc_array_i4 *array)
{ {
...@@ -117,6 +121,10 @@ __maxloc0_8_i4 (gfc_array_i8 * retarray, gfc_array_i4 *array) ...@@ -117,6 +121,10 @@ __maxloc0_8_i4 (gfc_array_i8 * retarray, gfc_array_i4 *array)
} }
} }
extern void __mmaxloc0_8_i4 (gfc_array_i8 *, gfc_array_i4 *, gfc_array_l4 *);
export_proto_np(__mmaxloc0_8_i4);
void void
__mmaxloc0_8_i4 (gfc_array_i8 * retarray, gfc_array_i4 *array, gfc_array_l4 * mask) __mmaxloc0_8_i4 (gfc_array_i8 * retarray, gfc_array_i4 *array, gfc_array_l4 * mask)
{ {
......
...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */ ...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */
#include "libgfortran.h" #include "libgfortran.h"
extern void __maxloc0_8_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array);
export_proto_np(__maxloc0_8_i8);
void void
__maxloc0_8_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array) __maxloc0_8_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array)
{ {
...@@ -117,6 +121,10 @@ __maxloc0_8_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array) ...@@ -117,6 +121,10 @@ __maxloc0_8_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array)
} }
} }
extern void __mmaxloc0_8_i8 (gfc_array_i8 *, gfc_array_i8 *, gfc_array_l4 *);
export_proto_np(__mmaxloc0_8_i8);
void void
__mmaxloc0_8_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array, gfc_array_l4 * mask) __mmaxloc0_8_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array, gfc_array_l4 * mask)
{ {
......
...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */ ...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */
#include "libgfortran.h" #include "libgfortran.h"
extern void __maxloc0_8_r4 (gfc_array_i8 * retarray, gfc_array_r4 *array);
export_proto_np(__maxloc0_8_r4);
void void
__maxloc0_8_r4 (gfc_array_i8 * retarray, gfc_array_r4 *array) __maxloc0_8_r4 (gfc_array_i8 * retarray, gfc_array_r4 *array)
{ {
...@@ -117,6 +121,10 @@ __maxloc0_8_r4 (gfc_array_i8 * retarray, gfc_array_r4 *array) ...@@ -117,6 +121,10 @@ __maxloc0_8_r4 (gfc_array_i8 * retarray, gfc_array_r4 *array)
} }
} }
extern void __mmaxloc0_8_r4 (gfc_array_i8 *, gfc_array_r4 *, gfc_array_l4 *);
export_proto_np(__mmaxloc0_8_r4);
void void
__mmaxloc0_8_r4 (gfc_array_i8 * retarray, gfc_array_r4 *array, gfc_array_l4 * mask) __mmaxloc0_8_r4 (gfc_array_i8 * retarray, gfc_array_r4 *array, gfc_array_l4 * mask)
{ {
......
...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */ ...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */
#include "libgfortran.h" #include "libgfortran.h"
extern void __maxloc0_8_r8 (gfc_array_i8 * retarray, gfc_array_r8 *array);
export_proto_np(__maxloc0_8_r8);
void void
__maxloc0_8_r8 (gfc_array_i8 * retarray, gfc_array_r8 *array) __maxloc0_8_r8 (gfc_array_i8 * retarray, gfc_array_r8 *array)
{ {
...@@ -117,6 +121,10 @@ __maxloc0_8_r8 (gfc_array_i8 * retarray, gfc_array_r8 *array) ...@@ -117,6 +121,10 @@ __maxloc0_8_r8 (gfc_array_i8 * retarray, gfc_array_r8 *array)
} }
} }
extern void __mmaxloc0_8_r8 (gfc_array_i8 *, gfc_array_r8 *, gfc_array_l4 *);
export_proto_np(__mmaxloc0_8_r8);
void void
__mmaxloc0_8_r8 (gfc_array_i8 * retarray, gfc_array_r8 *array, gfc_array_l4 * mask) __mmaxloc0_8_r8 (gfc_array_i8 * retarray, gfc_array_r8 *array, gfc_array_l4 * mask)
{ {
......
...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */
#include <limits.h> #include <limits.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __maxloc1_4_i4 (gfc_array_i4 *, gfc_array_i4 *, index_type *);
export_proto_np(__maxloc1_4_i4);
void void
__maxloc1_4_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array, index_type *pdim) __maxloc1_4_i4 (gfc_array_i4 *retarray, gfc_array_i4 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
...@@ -152,6 +156,11 @@ __maxloc1_4_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array, index_type *pdim) ...@@ -152,6 +156,11 @@ __maxloc1_4_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array, index_type *pdim)
} }
} }
extern void __mmaxloc1_4_i4 (gfc_array_i4 *, gfc_array_i4 *, index_type *,
gfc_array_l4 *);
export_proto_np(__mmaxloc1_4_i4);
void void
__mmaxloc1_4_i4 (gfc_array_i4 * retarray, gfc_array_i4 * array, index_type *pdim, gfc_array_l4 * mask) __mmaxloc1_4_i4 (gfc_array_i4 * retarray, gfc_array_i4 * array, index_type *pdim, gfc_array_l4 * mask)
{ {
......
...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */
#include <limits.h> #include <limits.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __maxloc1_4_i8 (gfc_array_i4 *, gfc_array_i8 *, index_type *);
export_proto_np(__maxloc1_4_i8);
void void
__maxloc1_4_i8 (gfc_array_i4 * retarray, gfc_array_i8 *array, index_type *pdim) __maxloc1_4_i8 (gfc_array_i4 *retarray, gfc_array_i8 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
...@@ -152,6 +156,11 @@ __maxloc1_4_i8 (gfc_array_i4 * retarray, gfc_array_i8 *array, index_type *pdim) ...@@ -152,6 +156,11 @@ __maxloc1_4_i8 (gfc_array_i4 * retarray, gfc_array_i8 *array, index_type *pdim)
} }
} }
extern void __mmaxloc1_4_i8 (gfc_array_i4 *, gfc_array_i8 *, index_type *,
gfc_array_l4 *);
export_proto_np(__mmaxloc1_4_i8);
void void
__mmaxloc1_4_i8 (gfc_array_i4 * retarray, gfc_array_i8 * array, index_type *pdim, gfc_array_l4 * mask) __mmaxloc1_4_i8 (gfc_array_i4 * retarray, gfc_array_i8 * array, index_type *pdim, gfc_array_l4 * mask)
{ {
......
...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */
#include <limits.h> #include <limits.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __maxloc1_4_r4 (gfc_array_i4 *, gfc_array_r4 *, index_type *);
export_proto_np(__maxloc1_4_r4);
void void
__maxloc1_4_r4 (gfc_array_i4 * retarray, gfc_array_r4 *array, index_type *pdim) __maxloc1_4_r4 (gfc_array_i4 *retarray, gfc_array_r4 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
...@@ -152,6 +156,11 @@ __maxloc1_4_r4 (gfc_array_i4 * retarray, gfc_array_r4 *array, index_type *pdim) ...@@ -152,6 +156,11 @@ __maxloc1_4_r4 (gfc_array_i4 * retarray, gfc_array_r4 *array, index_type *pdim)
} }
} }
extern void __mmaxloc1_4_r4 (gfc_array_i4 *, gfc_array_r4 *, index_type *,
gfc_array_l4 *);
export_proto_np(__mmaxloc1_4_r4);
void void
__mmaxloc1_4_r4 (gfc_array_i4 * retarray, gfc_array_r4 * array, index_type *pdim, gfc_array_l4 * mask) __mmaxloc1_4_r4 (gfc_array_i4 * retarray, gfc_array_r4 * array, index_type *pdim, gfc_array_l4 * mask)
{ {
......
...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */
#include <limits.h> #include <limits.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __maxloc1_4_r8 (gfc_array_i4 *, gfc_array_r8 *, index_type *);
export_proto_np(__maxloc1_4_r8);
void void
__maxloc1_4_r8 (gfc_array_i4 * retarray, gfc_array_r8 *array, index_type *pdim) __maxloc1_4_r8 (gfc_array_i4 *retarray, gfc_array_r8 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
...@@ -152,6 +156,11 @@ __maxloc1_4_r8 (gfc_array_i4 * retarray, gfc_array_r8 *array, index_type *pdim) ...@@ -152,6 +156,11 @@ __maxloc1_4_r8 (gfc_array_i4 * retarray, gfc_array_r8 *array, index_type *pdim)
} }
} }
extern void __mmaxloc1_4_r8 (gfc_array_i4 *, gfc_array_r8 *, index_type *,
gfc_array_l4 *);
export_proto_np(__mmaxloc1_4_r8);
void void
__mmaxloc1_4_r8 (gfc_array_i4 * retarray, gfc_array_r8 * array, index_type *pdim, gfc_array_l4 * mask) __mmaxloc1_4_r8 (gfc_array_i4 * retarray, gfc_array_r8 * array, index_type *pdim, gfc_array_l4 * mask)
{ {
......
...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */
#include <limits.h> #include <limits.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __maxloc1_8_i4 (gfc_array_i8 *, gfc_array_i4 *, index_type *);
export_proto_np(__maxloc1_8_i4);
void void
__maxloc1_8_i4 (gfc_array_i8 * retarray, gfc_array_i4 *array, index_type *pdim) __maxloc1_8_i4 (gfc_array_i8 *retarray, gfc_array_i4 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
...@@ -152,6 +156,11 @@ __maxloc1_8_i4 (gfc_array_i8 * retarray, gfc_array_i4 *array, index_type *pdim) ...@@ -152,6 +156,11 @@ __maxloc1_8_i4 (gfc_array_i8 * retarray, gfc_array_i4 *array, index_type *pdim)
} }
} }
extern void __mmaxloc1_8_i4 (gfc_array_i8 *, gfc_array_i4 *, index_type *,
gfc_array_l4 *);
export_proto_np(__mmaxloc1_8_i4);
void void
__mmaxloc1_8_i4 (gfc_array_i8 * retarray, gfc_array_i4 * array, index_type *pdim, gfc_array_l4 * mask) __mmaxloc1_8_i4 (gfc_array_i8 * retarray, gfc_array_i4 * array, index_type *pdim, gfc_array_l4 * mask)
{ {
......
...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */
#include <limits.h> #include <limits.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __maxloc1_8_i8 (gfc_array_i8 *, gfc_array_i8 *, index_type *);
export_proto_np(__maxloc1_8_i8);
void void
__maxloc1_8_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array, index_type *pdim) __maxloc1_8_i8 (gfc_array_i8 *retarray, gfc_array_i8 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
...@@ -152,6 +156,11 @@ __maxloc1_8_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array, index_type *pdim) ...@@ -152,6 +156,11 @@ __maxloc1_8_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array, index_type *pdim)
} }
} }
extern void __mmaxloc1_8_i8 (gfc_array_i8 *, gfc_array_i8 *, index_type *,
gfc_array_l4 *);
export_proto_np(__mmaxloc1_8_i8);
void void
__mmaxloc1_8_i8 (gfc_array_i8 * retarray, gfc_array_i8 * array, index_type *pdim, gfc_array_l4 * mask) __mmaxloc1_8_i8 (gfc_array_i8 * retarray, gfc_array_i8 * array, index_type *pdim, gfc_array_l4 * mask)
{ {
......
...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */
#include <limits.h> #include <limits.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __maxloc1_8_r4 (gfc_array_i8 *, gfc_array_r4 *, index_type *);
export_proto_np(__maxloc1_8_r4);
void void
__maxloc1_8_r4 (gfc_array_i8 * retarray, gfc_array_r4 *array, index_type *pdim) __maxloc1_8_r4 (gfc_array_i8 *retarray, gfc_array_r4 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
...@@ -152,6 +156,11 @@ __maxloc1_8_r4 (gfc_array_i8 * retarray, gfc_array_r4 *array, index_type *pdim) ...@@ -152,6 +156,11 @@ __maxloc1_8_r4 (gfc_array_i8 * retarray, gfc_array_r4 *array, index_type *pdim)
} }
} }
extern void __mmaxloc1_8_r4 (gfc_array_i8 *, gfc_array_r4 *, index_type *,
gfc_array_l4 *);
export_proto_np(__mmaxloc1_8_r4);
void void
__mmaxloc1_8_r4 (gfc_array_i8 * retarray, gfc_array_r4 * array, index_type *pdim, gfc_array_l4 * mask) __mmaxloc1_8_r4 (gfc_array_i8 * retarray, gfc_array_r4 * array, index_type *pdim, gfc_array_l4 * mask)
{ {
......
...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */
#include <limits.h> #include <limits.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __maxloc1_8_r8 (gfc_array_i8 *, gfc_array_r8 *, index_type *);
export_proto_np(__maxloc1_8_r8);
void void
__maxloc1_8_r8 (gfc_array_i8 * retarray, gfc_array_r8 *array, index_type *pdim) __maxloc1_8_r8 (gfc_array_i8 *retarray, gfc_array_r8 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
...@@ -152,6 +156,11 @@ __maxloc1_8_r8 (gfc_array_i8 * retarray, gfc_array_r8 *array, index_type *pdim) ...@@ -152,6 +156,11 @@ __maxloc1_8_r8 (gfc_array_i8 * retarray, gfc_array_r8 *array, index_type *pdim)
} }
} }
extern void __mmaxloc1_8_r8 (gfc_array_i8 *, gfc_array_r8 *, index_type *,
gfc_array_l4 *);
export_proto_np(__mmaxloc1_8_r8);
void void
__mmaxloc1_8_r8 (gfc_array_i8 * retarray, gfc_array_r8 * array, index_type *pdim, gfc_array_l4 * mask) __mmaxloc1_8_r8 (gfc_array_i8 * retarray, gfc_array_r8 * array, index_type *pdim, gfc_array_l4 * mask)
{ {
......
...@@ -25,8 +25,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -25,8 +25,12 @@ Boston, MA 02111-1307, USA. */
#include <float.h> #include <float.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __maxval_i4 (gfc_array_i4 *, gfc_array_i4 *, index_type *);
export_proto_np(__maxval_i4);
void void
__maxval_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array, index_type *pdim) __maxval_i4 (gfc_array_i4 *retarray, gfc_array_i4 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
...@@ -146,6 +150,11 @@ __maxval_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array, index_type *pdim) ...@@ -146,6 +150,11 @@ __maxval_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array, index_type *pdim)
} }
} }
extern void __mmaxval_i4 (gfc_array_i4 *, gfc_array_i4 *, index_type *,
gfc_array_l4 *);
export_proto_np(__mmaxval_i4);
void void
__mmaxval_i4 (gfc_array_i4 * retarray, gfc_array_i4 * array, index_type *pdim, gfc_array_l4 * mask) __mmaxval_i4 (gfc_array_i4 * retarray, gfc_array_i4 * array, index_type *pdim, gfc_array_l4 * mask)
{ {
......
...@@ -25,8 +25,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -25,8 +25,12 @@ Boston, MA 02111-1307, USA. */
#include <float.h> #include <float.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __maxval_i8 (gfc_array_i8 *, gfc_array_i8 *, index_type *);
export_proto_np(__maxval_i8);
void void
__maxval_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array, index_type *pdim) __maxval_i8 (gfc_array_i8 *retarray, gfc_array_i8 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
...@@ -146,6 +150,11 @@ __maxval_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array, index_type *pdim) ...@@ -146,6 +150,11 @@ __maxval_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array, index_type *pdim)
} }
} }
extern void __mmaxval_i8 (gfc_array_i8 *, gfc_array_i8 *, index_type *,
gfc_array_l4 *);
export_proto_np(__mmaxval_i8);
void void
__mmaxval_i8 (gfc_array_i8 * retarray, gfc_array_i8 * array, index_type *pdim, gfc_array_l4 * mask) __mmaxval_i8 (gfc_array_i8 * retarray, gfc_array_i8 * array, index_type *pdim, gfc_array_l4 * mask)
{ {
......
...@@ -25,8 +25,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -25,8 +25,12 @@ Boston, MA 02111-1307, USA. */
#include <float.h> #include <float.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __maxval_r4 (gfc_array_r4 *, gfc_array_r4 *, index_type *);
export_proto_np(__maxval_r4);
void void
__maxval_r4 (gfc_array_r4 * retarray, gfc_array_r4 *array, index_type *pdim) __maxval_r4 (gfc_array_r4 *retarray, gfc_array_r4 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
...@@ -146,6 +150,11 @@ __maxval_r4 (gfc_array_r4 * retarray, gfc_array_r4 *array, index_type *pdim) ...@@ -146,6 +150,11 @@ __maxval_r4 (gfc_array_r4 * retarray, gfc_array_r4 *array, index_type *pdim)
} }
} }
extern void __mmaxval_r4 (gfc_array_r4 *, gfc_array_r4 *, index_type *,
gfc_array_l4 *);
export_proto_np(__mmaxval_r4);
void void
__mmaxval_r4 (gfc_array_r4 * retarray, gfc_array_r4 * array, index_type *pdim, gfc_array_l4 * mask) __mmaxval_r4 (gfc_array_r4 * retarray, gfc_array_r4 * array, index_type *pdim, gfc_array_l4 * mask)
{ {
......
...@@ -25,8 +25,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -25,8 +25,12 @@ Boston, MA 02111-1307, USA. */
#include <float.h> #include <float.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __maxval_r8 (gfc_array_r8 *, gfc_array_r8 *, index_type *);
export_proto_np(__maxval_r8);
void void
__maxval_r8 (gfc_array_r8 * retarray, gfc_array_r8 *array, index_type *pdim) __maxval_r8 (gfc_array_r8 *retarray, gfc_array_r8 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
...@@ -146,6 +150,11 @@ __maxval_r8 (gfc_array_r8 * retarray, gfc_array_r8 *array, index_type *pdim) ...@@ -146,6 +150,11 @@ __maxval_r8 (gfc_array_r8 * retarray, gfc_array_r8 *array, index_type *pdim)
} }
} }
extern void __mmaxval_r8 (gfc_array_r8 *, gfc_array_r8 *, index_type *,
gfc_array_l4 *);
export_proto_np(__mmaxval_r8);
void void
__mmaxval_r8 (gfc_array_r8 * retarray, gfc_array_r8 * array, index_type *pdim, gfc_array_l4 * mask) __mmaxval_r8 (gfc_array_r8 * retarray, gfc_array_r8 * array, index_type *pdim, gfc_array_l4 * mask)
{ {
......
...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */ ...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */
#include "libgfortran.h" #include "libgfortran.h"
extern void __minloc0_4_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array);
export_proto_np(__minloc0_4_i4);
void void
__minloc0_4_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array) __minloc0_4_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array)
{ {
...@@ -117,6 +121,10 @@ __minloc0_4_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array) ...@@ -117,6 +121,10 @@ __minloc0_4_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array)
} }
} }
extern void __mminloc0_4_i4 (gfc_array_i4 *, gfc_array_i4 *, gfc_array_l4 *);
export_proto_np(__mminloc0_4_i4);
void void
__mminloc0_4_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array, gfc_array_l4 * mask) __mminloc0_4_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array, gfc_array_l4 * mask)
{ {
......
...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */ ...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */
#include "libgfortran.h" #include "libgfortran.h"
extern void __minloc0_4_i8 (gfc_array_i4 * retarray, gfc_array_i8 *array);
export_proto_np(__minloc0_4_i8);
void void
__minloc0_4_i8 (gfc_array_i4 * retarray, gfc_array_i8 *array) __minloc0_4_i8 (gfc_array_i4 * retarray, gfc_array_i8 *array)
{ {
...@@ -117,6 +121,10 @@ __minloc0_4_i8 (gfc_array_i4 * retarray, gfc_array_i8 *array) ...@@ -117,6 +121,10 @@ __minloc0_4_i8 (gfc_array_i4 * retarray, gfc_array_i8 *array)
} }
} }
extern void __mminloc0_4_i8 (gfc_array_i4 *, gfc_array_i8 *, gfc_array_l4 *);
export_proto_np(__mminloc0_4_i8);
void void
__mminloc0_4_i8 (gfc_array_i4 * retarray, gfc_array_i8 *array, gfc_array_l4 * mask) __mminloc0_4_i8 (gfc_array_i4 * retarray, gfc_array_i8 *array, gfc_array_l4 * mask)
{ {
......
...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */ ...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */
#include "libgfortran.h" #include "libgfortran.h"
extern void __minloc0_4_r4 (gfc_array_i4 * retarray, gfc_array_r4 *array);
export_proto_np(__minloc0_4_r4);
void void
__minloc0_4_r4 (gfc_array_i4 * retarray, gfc_array_r4 *array) __minloc0_4_r4 (gfc_array_i4 * retarray, gfc_array_r4 *array)
{ {
...@@ -117,6 +121,10 @@ __minloc0_4_r4 (gfc_array_i4 * retarray, gfc_array_r4 *array) ...@@ -117,6 +121,10 @@ __minloc0_4_r4 (gfc_array_i4 * retarray, gfc_array_r4 *array)
} }
} }
extern void __mminloc0_4_r4 (gfc_array_i4 *, gfc_array_r4 *, gfc_array_l4 *);
export_proto_np(__mminloc0_4_r4);
void void
__mminloc0_4_r4 (gfc_array_i4 * retarray, gfc_array_r4 *array, gfc_array_l4 * mask) __mminloc0_4_r4 (gfc_array_i4 * retarray, gfc_array_r4 *array, gfc_array_l4 * mask)
{ {
......
...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */ ...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */
#include "libgfortran.h" #include "libgfortran.h"
extern void __minloc0_4_r8 (gfc_array_i4 * retarray, gfc_array_r8 *array);
export_proto_np(__minloc0_4_r8);
void void
__minloc0_4_r8 (gfc_array_i4 * retarray, gfc_array_r8 *array) __minloc0_4_r8 (gfc_array_i4 * retarray, gfc_array_r8 *array)
{ {
...@@ -117,6 +121,10 @@ __minloc0_4_r8 (gfc_array_i4 * retarray, gfc_array_r8 *array) ...@@ -117,6 +121,10 @@ __minloc0_4_r8 (gfc_array_i4 * retarray, gfc_array_r8 *array)
} }
} }
extern void __mminloc0_4_r8 (gfc_array_i4 *, gfc_array_r8 *, gfc_array_l4 *);
export_proto_np(__mminloc0_4_r8);
void void
__mminloc0_4_r8 (gfc_array_i4 * retarray, gfc_array_r8 *array, gfc_array_l4 * mask) __mminloc0_4_r8 (gfc_array_i4 * retarray, gfc_array_r8 *array, gfc_array_l4 * mask)
{ {
......
...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */ ...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */
#include "libgfortran.h" #include "libgfortran.h"
extern void __minloc0_8_i4 (gfc_array_i8 * retarray, gfc_array_i4 *array);
export_proto_np(__minloc0_8_i4);
void void
__minloc0_8_i4 (gfc_array_i8 * retarray, gfc_array_i4 *array) __minloc0_8_i4 (gfc_array_i8 * retarray, gfc_array_i4 *array)
{ {
...@@ -117,6 +121,10 @@ __minloc0_8_i4 (gfc_array_i8 * retarray, gfc_array_i4 *array) ...@@ -117,6 +121,10 @@ __minloc0_8_i4 (gfc_array_i8 * retarray, gfc_array_i4 *array)
} }
} }
extern void __mminloc0_8_i4 (gfc_array_i8 *, gfc_array_i4 *, gfc_array_l4 *);
export_proto_np(__mminloc0_8_i4);
void void
__mminloc0_8_i4 (gfc_array_i8 * retarray, gfc_array_i4 *array, gfc_array_l4 * mask) __mminloc0_8_i4 (gfc_array_i8 * retarray, gfc_array_i4 *array, gfc_array_l4 * mask)
{ {
......
...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */ ...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */
#include "libgfortran.h" #include "libgfortran.h"
extern void __minloc0_8_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array);
export_proto_np(__minloc0_8_i8);
void void
__minloc0_8_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array) __minloc0_8_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array)
{ {
...@@ -117,6 +121,10 @@ __minloc0_8_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array) ...@@ -117,6 +121,10 @@ __minloc0_8_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array)
} }
} }
extern void __mminloc0_8_i8 (gfc_array_i8 *, gfc_array_i8 *, gfc_array_l4 *);
export_proto_np(__mminloc0_8_i8);
void void
__mminloc0_8_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array, gfc_array_l4 * mask) __mminloc0_8_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array, gfc_array_l4 * mask)
{ {
......
...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */ ...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */
#include "libgfortran.h" #include "libgfortran.h"
extern void __minloc0_8_r4 (gfc_array_i8 * retarray, gfc_array_r4 *array);
export_proto_np(__minloc0_8_r4);
void void
__minloc0_8_r4 (gfc_array_i8 * retarray, gfc_array_r4 *array) __minloc0_8_r4 (gfc_array_i8 * retarray, gfc_array_r4 *array)
{ {
...@@ -117,6 +121,10 @@ __minloc0_8_r4 (gfc_array_i8 * retarray, gfc_array_r4 *array) ...@@ -117,6 +121,10 @@ __minloc0_8_r4 (gfc_array_i8 * retarray, gfc_array_r4 *array)
} }
} }
extern void __mminloc0_8_r4 (gfc_array_i8 *, gfc_array_r4 *, gfc_array_l4 *);
export_proto_np(__mminloc0_8_r4);
void void
__mminloc0_8_r4 (gfc_array_i8 * retarray, gfc_array_r4 *array, gfc_array_l4 * mask) __mminloc0_8_r4 (gfc_array_i8 * retarray, gfc_array_r4 *array, gfc_array_l4 * mask)
{ {
......
...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */ ...@@ -27,6 +27,10 @@ Boston, MA 02111-1307, USA. */
#include "libgfortran.h" #include "libgfortran.h"
extern void __minloc0_8_r8 (gfc_array_i8 * retarray, gfc_array_r8 *array);
export_proto_np(__minloc0_8_r8);
void void
__minloc0_8_r8 (gfc_array_i8 * retarray, gfc_array_r8 *array) __minloc0_8_r8 (gfc_array_i8 * retarray, gfc_array_r8 *array)
{ {
...@@ -117,6 +121,10 @@ __minloc0_8_r8 (gfc_array_i8 * retarray, gfc_array_r8 *array) ...@@ -117,6 +121,10 @@ __minloc0_8_r8 (gfc_array_i8 * retarray, gfc_array_r8 *array)
} }
} }
extern void __mminloc0_8_r8 (gfc_array_i8 *, gfc_array_r8 *, gfc_array_l4 *);
export_proto_np(__mminloc0_8_r8);
void void
__mminloc0_8_r8 (gfc_array_i8 * retarray, gfc_array_r8 *array, gfc_array_l4 * mask) __mminloc0_8_r8 (gfc_array_i8 * retarray, gfc_array_r8 *array, gfc_array_l4 * mask)
{ {
......
...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */
#include <limits.h> #include <limits.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __minloc1_4_i4 (gfc_array_i4 *, gfc_array_i4 *, index_type *);
export_proto_np(__minloc1_4_i4);
void void
__minloc1_4_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array, index_type *pdim) __minloc1_4_i4 (gfc_array_i4 *retarray, gfc_array_i4 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
...@@ -152,6 +156,11 @@ __minloc1_4_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array, index_type *pdim) ...@@ -152,6 +156,11 @@ __minloc1_4_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array, index_type *pdim)
} }
} }
extern void __mminloc1_4_i4 (gfc_array_i4 *, gfc_array_i4 *, index_type *,
gfc_array_l4 *);
export_proto_np(__mminloc1_4_i4);
void void
__mminloc1_4_i4 (gfc_array_i4 * retarray, gfc_array_i4 * array, index_type *pdim, gfc_array_l4 * mask) __mminloc1_4_i4 (gfc_array_i4 * retarray, gfc_array_i4 * array, index_type *pdim, gfc_array_l4 * mask)
{ {
......
...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */
#include <limits.h> #include <limits.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __minloc1_4_i8 (gfc_array_i4 *, gfc_array_i8 *, index_type *);
export_proto_np(__minloc1_4_i8);
void void
__minloc1_4_i8 (gfc_array_i4 * retarray, gfc_array_i8 *array, index_type *pdim) __minloc1_4_i8 (gfc_array_i4 *retarray, gfc_array_i8 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
...@@ -152,6 +156,11 @@ __minloc1_4_i8 (gfc_array_i4 * retarray, gfc_array_i8 *array, index_type *pdim) ...@@ -152,6 +156,11 @@ __minloc1_4_i8 (gfc_array_i4 * retarray, gfc_array_i8 *array, index_type *pdim)
} }
} }
extern void __mminloc1_4_i8 (gfc_array_i4 *, gfc_array_i8 *, index_type *,
gfc_array_l4 *);
export_proto_np(__mminloc1_4_i8);
void void
__mminloc1_4_i8 (gfc_array_i4 * retarray, gfc_array_i8 * array, index_type *pdim, gfc_array_l4 * mask) __mminloc1_4_i8 (gfc_array_i4 * retarray, gfc_array_i8 * array, index_type *pdim, gfc_array_l4 * mask)
{ {
......
...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */
#include <limits.h> #include <limits.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __minloc1_4_r4 (gfc_array_i4 *, gfc_array_r4 *, index_type *);
export_proto_np(__minloc1_4_r4);
void void
__minloc1_4_r4 (gfc_array_i4 * retarray, gfc_array_r4 *array, index_type *pdim) __minloc1_4_r4 (gfc_array_i4 *retarray, gfc_array_r4 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
...@@ -152,6 +156,11 @@ __minloc1_4_r4 (gfc_array_i4 * retarray, gfc_array_r4 *array, index_type *pdim) ...@@ -152,6 +156,11 @@ __minloc1_4_r4 (gfc_array_i4 * retarray, gfc_array_r4 *array, index_type *pdim)
} }
} }
extern void __mminloc1_4_r4 (gfc_array_i4 *, gfc_array_r4 *, index_type *,
gfc_array_l4 *);
export_proto_np(__mminloc1_4_r4);
void void
__mminloc1_4_r4 (gfc_array_i4 * retarray, gfc_array_r4 * array, index_type *pdim, gfc_array_l4 * mask) __mminloc1_4_r4 (gfc_array_i4 * retarray, gfc_array_r4 * array, index_type *pdim, gfc_array_l4 * mask)
{ {
......
...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */
#include <limits.h> #include <limits.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __minloc1_4_r8 (gfc_array_i4 *, gfc_array_r8 *, index_type *);
export_proto_np(__minloc1_4_r8);
void void
__minloc1_4_r8 (gfc_array_i4 * retarray, gfc_array_r8 *array, index_type *pdim) __minloc1_4_r8 (gfc_array_i4 *retarray, gfc_array_r8 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
...@@ -152,6 +156,11 @@ __minloc1_4_r8 (gfc_array_i4 * retarray, gfc_array_r8 *array, index_type *pdim) ...@@ -152,6 +156,11 @@ __minloc1_4_r8 (gfc_array_i4 * retarray, gfc_array_r8 *array, index_type *pdim)
} }
} }
extern void __mminloc1_4_r8 (gfc_array_i4 *, gfc_array_r8 *, index_type *,
gfc_array_l4 *);
export_proto_np(__mminloc1_4_r8);
void void
__mminloc1_4_r8 (gfc_array_i4 * retarray, gfc_array_r8 * array, index_type *pdim, gfc_array_l4 * mask) __mminloc1_4_r8 (gfc_array_i4 * retarray, gfc_array_r8 * array, index_type *pdim, gfc_array_l4 * mask)
{ {
......
...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */
#include <limits.h> #include <limits.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __minloc1_8_i4 (gfc_array_i8 *, gfc_array_i4 *, index_type *);
export_proto_np(__minloc1_8_i4);
void void
__minloc1_8_i4 (gfc_array_i8 * retarray, gfc_array_i4 *array, index_type *pdim) __minloc1_8_i4 (gfc_array_i8 *retarray, gfc_array_i4 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
...@@ -152,6 +156,11 @@ __minloc1_8_i4 (gfc_array_i8 * retarray, gfc_array_i4 *array, index_type *pdim) ...@@ -152,6 +156,11 @@ __minloc1_8_i4 (gfc_array_i8 * retarray, gfc_array_i4 *array, index_type *pdim)
} }
} }
extern void __mminloc1_8_i4 (gfc_array_i8 *, gfc_array_i4 *, index_type *,
gfc_array_l4 *);
export_proto_np(__mminloc1_8_i4);
void void
__mminloc1_8_i4 (gfc_array_i8 * retarray, gfc_array_i4 * array, index_type *pdim, gfc_array_l4 * mask) __mminloc1_8_i4 (gfc_array_i8 * retarray, gfc_array_i4 * array, index_type *pdim, gfc_array_l4 * mask)
{ {
......
...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */
#include <limits.h> #include <limits.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __minloc1_8_i8 (gfc_array_i8 *, gfc_array_i8 *, index_type *);
export_proto_np(__minloc1_8_i8);
void void
__minloc1_8_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array, index_type *pdim) __minloc1_8_i8 (gfc_array_i8 *retarray, gfc_array_i8 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
...@@ -152,6 +156,11 @@ __minloc1_8_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array, index_type *pdim) ...@@ -152,6 +156,11 @@ __minloc1_8_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array, index_type *pdim)
} }
} }
extern void __mminloc1_8_i8 (gfc_array_i8 *, gfc_array_i8 *, index_type *,
gfc_array_l4 *);
export_proto_np(__mminloc1_8_i8);
void void
__mminloc1_8_i8 (gfc_array_i8 * retarray, gfc_array_i8 * array, index_type *pdim, gfc_array_l4 * mask) __mminloc1_8_i8 (gfc_array_i8 * retarray, gfc_array_i8 * array, index_type *pdim, gfc_array_l4 * mask)
{ {
......
...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */
#include <limits.h> #include <limits.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __minloc1_8_r4 (gfc_array_i8 *, gfc_array_r4 *, index_type *);
export_proto_np(__minloc1_8_r4);
void void
__minloc1_8_r4 (gfc_array_i8 * retarray, gfc_array_r4 *array, index_type *pdim) __minloc1_8_r4 (gfc_array_i8 *retarray, gfc_array_r4 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
...@@ -152,6 +156,11 @@ __minloc1_8_r4 (gfc_array_i8 * retarray, gfc_array_r4 *array, index_type *pdim) ...@@ -152,6 +156,11 @@ __minloc1_8_r4 (gfc_array_i8 * retarray, gfc_array_r4 *array, index_type *pdim)
} }
} }
extern void __mminloc1_8_r4 (gfc_array_i8 *, gfc_array_r4 *, index_type *,
gfc_array_l4 *);
export_proto_np(__mminloc1_8_r4);
void void
__mminloc1_8_r4 (gfc_array_i8 * retarray, gfc_array_r4 * array, index_type *pdim, gfc_array_l4 * mask) __mminloc1_8_r4 (gfc_array_i8 * retarray, gfc_array_r4 * array, index_type *pdim, gfc_array_l4 * mask)
{ {
......
...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -26,8 +26,12 @@ Boston, MA 02111-1307, USA. */
#include <limits.h> #include <limits.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __minloc1_8_r8 (gfc_array_i8 *, gfc_array_r8 *, index_type *);
export_proto_np(__minloc1_8_r8);
void void
__minloc1_8_r8 (gfc_array_i8 * retarray, gfc_array_r8 *array, index_type *pdim) __minloc1_8_r8 (gfc_array_i8 *retarray, gfc_array_r8 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
...@@ -152,6 +156,11 @@ __minloc1_8_r8 (gfc_array_i8 * retarray, gfc_array_r8 *array, index_type *pdim) ...@@ -152,6 +156,11 @@ __minloc1_8_r8 (gfc_array_i8 * retarray, gfc_array_r8 *array, index_type *pdim)
} }
} }
extern void __mminloc1_8_r8 (gfc_array_i8 *, gfc_array_r8 *, index_type *,
gfc_array_l4 *);
export_proto_np(__mminloc1_8_r8);
void void
__mminloc1_8_r8 (gfc_array_i8 * retarray, gfc_array_r8 * array, index_type *pdim, gfc_array_l4 * mask) __mminloc1_8_r8 (gfc_array_i8 * retarray, gfc_array_r8 * array, index_type *pdim, gfc_array_l4 * mask)
{ {
......
...@@ -25,8 +25,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -25,8 +25,12 @@ Boston, MA 02111-1307, USA. */
#include <float.h> #include <float.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __minval_i4 (gfc_array_i4 *, gfc_array_i4 *, index_type *);
export_proto_np(__minval_i4);
void void
__minval_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array, index_type *pdim) __minval_i4 (gfc_array_i4 *retarray, gfc_array_i4 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
...@@ -146,6 +150,11 @@ __minval_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array, index_type *pdim) ...@@ -146,6 +150,11 @@ __minval_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array, index_type *pdim)
} }
} }
extern void __mminval_i4 (gfc_array_i4 *, gfc_array_i4 *, index_type *,
gfc_array_l4 *);
export_proto_np(__mminval_i4);
void void
__mminval_i4 (gfc_array_i4 * retarray, gfc_array_i4 * array, index_type *pdim, gfc_array_l4 * mask) __mminval_i4 (gfc_array_i4 * retarray, gfc_array_i4 * array, index_type *pdim, gfc_array_l4 * mask)
{ {
......
...@@ -25,8 +25,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -25,8 +25,12 @@ Boston, MA 02111-1307, USA. */
#include <float.h> #include <float.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __minval_i8 (gfc_array_i8 *, gfc_array_i8 *, index_type *);
export_proto_np(__minval_i8);
void void
__minval_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array, index_type *pdim) __minval_i8 (gfc_array_i8 *retarray, gfc_array_i8 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
...@@ -146,6 +150,11 @@ __minval_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array, index_type *pdim) ...@@ -146,6 +150,11 @@ __minval_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array, index_type *pdim)
} }
} }
extern void __mminval_i8 (gfc_array_i8 *, gfc_array_i8 *, index_type *,
gfc_array_l4 *);
export_proto_np(__mminval_i8);
void void
__mminval_i8 (gfc_array_i8 * retarray, gfc_array_i8 * array, index_type *pdim, gfc_array_l4 * mask) __mminval_i8 (gfc_array_i8 * retarray, gfc_array_i8 * array, index_type *pdim, gfc_array_l4 * mask)
{ {
......
...@@ -25,8 +25,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -25,8 +25,12 @@ Boston, MA 02111-1307, USA. */
#include <float.h> #include <float.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __minval_r4 (gfc_array_r4 *, gfc_array_r4 *, index_type *);
export_proto_np(__minval_r4);
void void
__minval_r4 (gfc_array_r4 * retarray, gfc_array_r4 *array, index_type *pdim) __minval_r4 (gfc_array_r4 *retarray, gfc_array_r4 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
...@@ -146,6 +150,11 @@ __minval_r4 (gfc_array_r4 * retarray, gfc_array_r4 *array, index_type *pdim) ...@@ -146,6 +150,11 @@ __minval_r4 (gfc_array_r4 * retarray, gfc_array_r4 *array, index_type *pdim)
} }
} }
extern void __mminval_r4 (gfc_array_r4 *, gfc_array_r4 *, index_type *,
gfc_array_l4 *);
export_proto_np(__mminval_r4);
void void
__mminval_r4 (gfc_array_r4 * retarray, gfc_array_r4 * array, index_type *pdim, gfc_array_l4 * mask) __mminval_r4 (gfc_array_r4 * retarray, gfc_array_r4 * array, index_type *pdim, gfc_array_l4 * mask)
{ {
......
...@@ -25,8 +25,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -25,8 +25,12 @@ Boston, MA 02111-1307, USA. */
#include <float.h> #include <float.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __minval_r8 (gfc_array_r8 *, gfc_array_r8 *, index_type *);
export_proto_np(__minval_r8);
void void
__minval_r8 (gfc_array_r8 * retarray, gfc_array_r8 *array, index_type *pdim) __minval_r8 (gfc_array_r8 *retarray, gfc_array_r8 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
...@@ -146,6 +150,11 @@ __minval_r8 (gfc_array_r8 * retarray, gfc_array_r8 *array, index_type *pdim) ...@@ -146,6 +150,11 @@ __minval_r8 (gfc_array_r8 * retarray, gfc_array_r8 *array, index_type *pdim)
} }
} }
extern void __mminval_r8 (gfc_array_r8 *, gfc_array_r8 *, index_type *,
gfc_array_l4 *);
export_proto_np(__mminval_r8);
void void
__mminval_r8 (gfc_array_r8 * retarray, gfc_array_r8 * array, index_type *pdim, gfc_array_l4 * mask) __mminval_r8 (gfc_array_r8 * retarray, gfc_array_r8 * array, index_type *pdim, gfc_array_l4 * mask)
{ {
......
...@@ -23,8 +23,11 @@ Boston, MA 02111-1307, USA. */ ...@@ -23,8 +23,11 @@ Boston, MA 02111-1307, USA. */
#include "libgfortran.h" #include "libgfortran.h"
extern GFC_REAL_4 nearest_r4 (GFC_REAL_4 s, GFC_REAL_4 dir);
export_proto(nearest_r4);
GFC_REAL_4 GFC_REAL_4
prefix(nearest_r4) (GFC_REAL_4 s, GFC_REAL_4 dir) nearest_r4 (GFC_REAL_4 s, GFC_REAL_4 dir)
{ {
dir = copysignf (__builtin_inff (), dir); dir = copysignf (__builtin_inff (), dir);
if (FLT_EVAL_METHOD != 0) if (FLT_EVAL_METHOD != 0)
......
...@@ -23,8 +23,11 @@ Boston, MA 02111-1307, USA. */ ...@@ -23,8 +23,11 @@ Boston, MA 02111-1307, USA. */
#include "libgfortran.h" #include "libgfortran.h"
extern GFC_REAL_8 nearest_r8 (GFC_REAL_8 s, GFC_REAL_8 dir);
export_proto(nearest_r8);
GFC_REAL_8 GFC_REAL_8
prefix(nearest_r8) (GFC_REAL_8 s, GFC_REAL_8 dir) nearest_r8 (GFC_REAL_8 s, GFC_REAL_8 dir)
{ {
dir = copysign (__builtin_inf (), dir); dir = copysign (__builtin_inf (), dir);
if (FLT_EVAL_METHOD != 0) if (FLT_EVAL_METHOD != 0)
......
...@@ -22,13 +22,16 @@ Boston, MA 02111-1307, USA. */ ...@@ -22,13 +22,16 @@ Boston, MA 02111-1307, USA. */
#include "config.h" #include "config.h"
#include "libgfortran.h" #include "libgfortran.h"
/* Uuse Binary Method to calculate the powi. This is not an optimal but /* Use Binary Method to calculate the powi. This is not an optimal but
a simple and reasonable arithmetic. See section 4.6.3, "Evaluation of a simple and reasonable arithmetic. See section 4.6.3, "Evaluation of
Powers" of Donald E. Knuth, "Seminumerical Algorithms", Vol. 2, "The Art Powers" of Donald E. Knuth, "Seminumerical Algorithms", Vol. 2, "The Art
of Computer Programming", 3rd Edition, 1998. */ of Computer Programming", 3rd Edition, 1998. */
GFC_COMPLEX_4 pow_c4_i4 (GFC_COMPLEX_4 a, GFC_INTEGER_4 b);
export_proto(pow_c4_i4);
GFC_COMPLEX_4 GFC_COMPLEX_4
prefix(pow_c4_i4) (GFC_COMPLEX_4 a, GFC_INTEGER_4 b) pow_c4_i4 (GFC_COMPLEX_4 a, GFC_INTEGER_4 b)
{ {
GFC_COMPLEX_4 pow, x; GFC_COMPLEX_4 pow, x;
GFC_INTEGER_4 n, u; GFC_INTEGER_4 n, u;
......
...@@ -22,13 +22,16 @@ Boston, MA 02111-1307, USA. */ ...@@ -22,13 +22,16 @@ Boston, MA 02111-1307, USA. */
#include "config.h" #include "config.h"
#include "libgfortran.h" #include "libgfortran.h"
/* Uuse Binary Method to calculate the powi. This is not an optimal but /* Use Binary Method to calculate the powi. This is not an optimal but
a simple and reasonable arithmetic. See section 4.6.3, "Evaluation of a simple and reasonable arithmetic. See section 4.6.3, "Evaluation of
Powers" of Donald E. Knuth, "Seminumerical Algorithms", Vol. 2, "The Art Powers" of Donald E. Knuth, "Seminumerical Algorithms", Vol. 2, "The Art
of Computer Programming", 3rd Edition, 1998. */ of Computer Programming", 3rd Edition, 1998. */
GFC_COMPLEX_4 pow_c4_i8 (GFC_COMPLEX_4 a, GFC_INTEGER_8 b);
export_proto(pow_c4_i8);
GFC_COMPLEX_4 GFC_COMPLEX_4
prefix(pow_c4_i8) (GFC_COMPLEX_4 a, GFC_INTEGER_8 b) pow_c4_i8 (GFC_COMPLEX_4 a, GFC_INTEGER_8 b)
{ {
GFC_COMPLEX_4 pow, x; GFC_COMPLEX_4 pow, x;
GFC_INTEGER_8 n, u; GFC_INTEGER_8 n, u;
......
...@@ -22,13 +22,16 @@ Boston, MA 02111-1307, USA. */ ...@@ -22,13 +22,16 @@ Boston, MA 02111-1307, USA. */
#include "config.h" #include "config.h"
#include "libgfortran.h" #include "libgfortran.h"
/* Uuse Binary Method to calculate the powi. This is not an optimal but /* Use Binary Method to calculate the powi. This is not an optimal but
a simple and reasonable arithmetic. See section 4.6.3, "Evaluation of a simple and reasonable arithmetic. See section 4.6.3, "Evaluation of
Powers" of Donald E. Knuth, "Seminumerical Algorithms", Vol. 2, "The Art Powers" of Donald E. Knuth, "Seminumerical Algorithms", Vol. 2, "The Art
of Computer Programming", 3rd Edition, 1998. */ of Computer Programming", 3rd Edition, 1998. */
GFC_COMPLEX_8 pow_c8_i4 (GFC_COMPLEX_8 a, GFC_INTEGER_4 b);
export_proto(pow_c8_i4);
GFC_COMPLEX_8 GFC_COMPLEX_8
prefix(pow_c8_i4) (GFC_COMPLEX_8 a, GFC_INTEGER_4 b) pow_c8_i4 (GFC_COMPLEX_8 a, GFC_INTEGER_4 b)
{ {
GFC_COMPLEX_8 pow, x; GFC_COMPLEX_8 pow, x;
GFC_INTEGER_4 n, u; GFC_INTEGER_4 n, u;
......
...@@ -22,13 +22,16 @@ Boston, MA 02111-1307, USA. */ ...@@ -22,13 +22,16 @@ Boston, MA 02111-1307, USA. */
#include "config.h" #include "config.h"
#include "libgfortran.h" #include "libgfortran.h"
/* Uuse Binary Method to calculate the powi. This is not an optimal but /* Use Binary Method to calculate the powi. This is not an optimal but
a simple and reasonable arithmetic. See section 4.6.3, "Evaluation of a simple and reasonable arithmetic. See section 4.6.3, "Evaluation of
Powers" of Donald E. Knuth, "Seminumerical Algorithms", Vol. 2, "The Art Powers" of Donald E. Knuth, "Seminumerical Algorithms", Vol. 2, "The Art
of Computer Programming", 3rd Edition, 1998. */ of Computer Programming", 3rd Edition, 1998. */
GFC_COMPLEX_8 pow_c8_i8 (GFC_COMPLEX_8 a, GFC_INTEGER_8 b);
export_proto(pow_c8_i8);
GFC_COMPLEX_8 GFC_COMPLEX_8
prefix(pow_c8_i8) (GFC_COMPLEX_8 a, GFC_INTEGER_8 b) pow_c8_i8 (GFC_COMPLEX_8 a, GFC_INTEGER_8 b)
{ {
GFC_COMPLEX_8 pow, x; GFC_COMPLEX_8 pow, x;
GFC_INTEGER_8 n, u; GFC_INTEGER_8 n, u;
......
...@@ -22,13 +22,16 @@ Boston, MA 02111-1307, USA. */ ...@@ -22,13 +22,16 @@ Boston, MA 02111-1307, USA. */
#include "config.h" #include "config.h"
#include "libgfortran.h" #include "libgfortran.h"
/* Uuse Binary Method to calculate the powi. This is not an optimal but /* Use Binary Method to calculate the powi. This is not an optimal but
a simple and reasonable arithmetic. See section 4.6.3, "Evaluation of a simple and reasonable arithmetic. See section 4.6.3, "Evaluation of
Powers" of Donald E. Knuth, "Seminumerical Algorithms", Vol. 2, "The Art Powers" of Donald E. Knuth, "Seminumerical Algorithms", Vol. 2, "The Art
of Computer Programming", 3rd Edition, 1998. */ of Computer Programming", 3rd Edition, 1998. */
GFC_INTEGER_4 pow_i4_i4 (GFC_INTEGER_4 a, GFC_INTEGER_4 b);
export_proto(pow_i4_i4);
GFC_INTEGER_4 GFC_INTEGER_4
prefix(pow_i4_i4) (GFC_INTEGER_4 a, GFC_INTEGER_4 b) pow_i4_i4 (GFC_INTEGER_4 a, GFC_INTEGER_4 b)
{ {
GFC_INTEGER_4 pow, x; GFC_INTEGER_4 pow, x;
GFC_INTEGER_4 n, u; GFC_INTEGER_4 n, u;
......
...@@ -22,13 +22,16 @@ Boston, MA 02111-1307, USA. */ ...@@ -22,13 +22,16 @@ Boston, MA 02111-1307, USA. */
#include "config.h" #include "config.h"
#include "libgfortran.h" #include "libgfortran.h"
/* Uuse Binary Method to calculate the powi. This is not an optimal but /* Use Binary Method to calculate the powi. This is not an optimal but
a simple and reasonable arithmetic. See section 4.6.3, "Evaluation of a simple and reasonable arithmetic. See section 4.6.3, "Evaluation of
Powers" of Donald E. Knuth, "Seminumerical Algorithms", Vol. 2, "The Art Powers" of Donald E. Knuth, "Seminumerical Algorithms", Vol. 2, "The Art
of Computer Programming", 3rd Edition, 1998. */ of Computer Programming", 3rd Edition, 1998. */
GFC_INTEGER_4 pow_i4_i8 (GFC_INTEGER_4 a, GFC_INTEGER_8 b);
export_proto(pow_i4_i8);
GFC_INTEGER_4 GFC_INTEGER_4
prefix(pow_i4_i8) (GFC_INTEGER_4 a, GFC_INTEGER_8 b) pow_i4_i8 (GFC_INTEGER_4 a, GFC_INTEGER_8 b)
{ {
GFC_INTEGER_4 pow, x; GFC_INTEGER_4 pow, x;
GFC_INTEGER_8 n, u; GFC_INTEGER_8 n, u;
......
...@@ -22,13 +22,16 @@ Boston, MA 02111-1307, USA. */ ...@@ -22,13 +22,16 @@ Boston, MA 02111-1307, USA. */
#include "config.h" #include "config.h"
#include "libgfortran.h" #include "libgfortran.h"
/* Uuse Binary Method to calculate the powi. This is not an optimal but /* Use Binary Method to calculate the powi. This is not an optimal but
a simple and reasonable arithmetic. See section 4.6.3, "Evaluation of a simple and reasonable arithmetic. See section 4.6.3, "Evaluation of
Powers" of Donald E. Knuth, "Seminumerical Algorithms", Vol. 2, "The Art Powers" of Donald E. Knuth, "Seminumerical Algorithms", Vol. 2, "The Art
of Computer Programming", 3rd Edition, 1998. */ of Computer Programming", 3rd Edition, 1998. */
GFC_INTEGER_8 pow_i8_i4 (GFC_INTEGER_8 a, GFC_INTEGER_4 b);
export_proto(pow_i8_i4);
GFC_INTEGER_8 GFC_INTEGER_8
prefix(pow_i8_i4) (GFC_INTEGER_8 a, GFC_INTEGER_4 b) pow_i8_i4 (GFC_INTEGER_8 a, GFC_INTEGER_4 b)
{ {
GFC_INTEGER_8 pow, x; GFC_INTEGER_8 pow, x;
GFC_INTEGER_4 n, u; GFC_INTEGER_4 n, u;
......
...@@ -22,13 +22,16 @@ Boston, MA 02111-1307, USA. */ ...@@ -22,13 +22,16 @@ Boston, MA 02111-1307, USA. */
#include "config.h" #include "config.h"
#include "libgfortran.h" #include "libgfortran.h"
/* Uuse Binary Method to calculate the powi. This is not an optimal but /* Use Binary Method to calculate the powi. This is not an optimal but
a simple and reasonable arithmetic. See section 4.6.3, "Evaluation of a simple and reasonable arithmetic. See section 4.6.3, "Evaluation of
Powers" of Donald E. Knuth, "Seminumerical Algorithms", Vol. 2, "The Art Powers" of Donald E. Knuth, "Seminumerical Algorithms", Vol. 2, "The Art
of Computer Programming", 3rd Edition, 1998. */ of Computer Programming", 3rd Edition, 1998. */
GFC_INTEGER_8 pow_i8_i8 (GFC_INTEGER_8 a, GFC_INTEGER_8 b);
export_proto(pow_i8_i8);
GFC_INTEGER_8 GFC_INTEGER_8
prefix(pow_i8_i8) (GFC_INTEGER_8 a, GFC_INTEGER_8 b) pow_i8_i8 (GFC_INTEGER_8 a, GFC_INTEGER_8 b)
{ {
GFC_INTEGER_8 pow, x; GFC_INTEGER_8 pow, x;
GFC_INTEGER_8 n, u; GFC_INTEGER_8 n, u;
......
...@@ -22,13 +22,16 @@ Boston, MA 02111-1307, USA. */ ...@@ -22,13 +22,16 @@ Boston, MA 02111-1307, USA. */
#include "config.h" #include "config.h"
#include "libgfortran.h" #include "libgfortran.h"
/* Uuse Binary Method to calculate the powi. This is not an optimal but /* Use Binary Method to calculate the powi. This is not an optimal but
a simple and reasonable arithmetic. See section 4.6.3, "Evaluation of a simple and reasonable arithmetic. See section 4.6.3, "Evaluation of
Powers" of Donald E. Knuth, "Seminumerical Algorithms", Vol. 2, "The Art Powers" of Donald E. Knuth, "Seminumerical Algorithms", Vol. 2, "The Art
of Computer Programming", 3rd Edition, 1998. */ of Computer Programming", 3rd Edition, 1998. */
GFC_REAL_4 pow_r4_i4 (GFC_REAL_4 a, GFC_INTEGER_4 b);
export_proto(pow_r4_i4);
GFC_REAL_4 GFC_REAL_4
prefix(pow_r4_i4) (GFC_REAL_4 a, GFC_INTEGER_4 b) pow_r4_i4 (GFC_REAL_4 a, GFC_INTEGER_4 b)
{ {
GFC_REAL_4 pow, x; GFC_REAL_4 pow, x;
GFC_INTEGER_4 n, u; GFC_INTEGER_4 n, u;
......
...@@ -22,13 +22,16 @@ Boston, MA 02111-1307, USA. */ ...@@ -22,13 +22,16 @@ Boston, MA 02111-1307, USA. */
#include "config.h" #include "config.h"
#include "libgfortran.h" #include "libgfortran.h"
/* Uuse Binary Method to calculate the powi. This is not an optimal but /* Use Binary Method to calculate the powi. This is not an optimal but
a simple and reasonable arithmetic. See section 4.6.3, "Evaluation of a simple and reasonable arithmetic. See section 4.6.3, "Evaluation of
Powers" of Donald E. Knuth, "Seminumerical Algorithms", Vol. 2, "The Art Powers" of Donald E. Knuth, "Seminumerical Algorithms", Vol. 2, "The Art
of Computer Programming", 3rd Edition, 1998. */ of Computer Programming", 3rd Edition, 1998. */
GFC_REAL_4 pow_r4_i8 (GFC_REAL_4 a, GFC_INTEGER_8 b);
export_proto(pow_r4_i8);
GFC_REAL_4 GFC_REAL_4
prefix(pow_r4_i8) (GFC_REAL_4 a, GFC_INTEGER_8 b) pow_r4_i8 (GFC_REAL_4 a, GFC_INTEGER_8 b)
{ {
GFC_REAL_4 pow, x; GFC_REAL_4 pow, x;
GFC_INTEGER_8 n, u; GFC_INTEGER_8 n, u;
......
...@@ -22,13 +22,16 @@ Boston, MA 02111-1307, USA. */ ...@@ -22,13 +22,16 @@ Boston, MA 02111-1307, USA. */
#include "config.h" #include "config.h"
#include "libgfortran.h" #include "libgfortran.h"
/* Uuse Binary Method to calculate the powi. This is not an optimal but /* Use Binary Method to calculate the powi. This is not an optimal but
a simple and reasonable arithmetic. See section 4.6.3, "Evaluation of a simple and reasonable arithmetic. See section 4.6.3, "Evaluation of
Powers" of Donald E. Knuth, "Seminumerical Algorithms", Vol. 2, "The Art Powers" of Donald E. Knuth, "Seminumerical Algorithms", Vol. 2, "The Art
of Computer Programming", 3rd Edition, 1998. */ of Computer Programming", 3rd Edition, 1998. */
GFC_REAL_8 pow_r8_i4 (GFC_REAL_8 a, GFC_INTEGER_4 b);
export_proto(pow_r8_i4);
GFC_REAL_8 GFC_REAL_8
prefix(pow_r8_i4) (GFC_REAL_8 a, GFC_INTEGER_4 b) pow_r8_i4 (GFC_REAL_8 a, GFC_INTEGER_4 b)
{ {
GFC_REAL_8 pow, x; GFC_REAL_8 pow, x;
GFC_INTEGER_4 n, u; GFC_INTEGER_4 n, u;
......
...@@ -22,13 +22,16 @@ Boston, MA 02111-1307, USA. */ ...@@ -22,13 +22,16 @@ Boston, MA 02111-1307, USA. */
#include "config.h" #include "config.h"
#include "libgfortran.h" #include "libgfortran.h"
/* Uuse Binary Method to calculate the powi. This is not an optimal but /* Use Binary Method to calculate the powi. This is not an optimal but
a simple and reasonable arithmetic. See section 4.6.3, "Evaluation of a simple and reasonable arithmetic. See section 4.6.3, "Evaluation of
Powers" of Donald E. Knuth, "Seminumerical Algorithms", Vol. 2, "The Art Powers" of Donald E. Knuth, "Seminumerical Algorithms", Vol. 2, "The Art
of Computer Programming", 3rd Edition, 1998. */ of Computer Programming", 3rd Edition, 1998. */
GFC_REAL_8 pow_r8_i8 (GFC_REAL_8 a, GFC_INTEGER_8 b);
export_proto(pow_r8_i8);
GFC_REAL_8 GFC_REAL_8
prefix(pow_r8_i8) (GFC_REAL_8 a, GFC_INTEGER_8 b) pow_r8_i8 (GFC_REAL_8 a, GFC_INTEGER_8 b)
{ {
GFC_REAL_8 pow, x; GFC_REAL_8 pow, x;
GFC_INTEGER_8 n, u; GFC_INTEGER_8 n, u;
......
...@@ -24,8 +24,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -24,8 +24,12 @@ Boston, MA 02111-1307, USA. */
#include <assert.h> #include <assert.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __product_c4 (gfc_array_c4 *, gfc_array_c4 *, index_type *);
export_proto_np(__product_c4);
void void
__product_c4 (gfc_array_c4 * retarray, gfc_array_c4 *array, index_type *pdim) __product_c4 (gfc_array_c4 *retarray, gfc_array_c4 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
...@@ -144,6 +148,11 @@ __product_c4 (gfc_array_c4 * retarray, gfc_array_c4 *array, index_type *pdim) ...@@ -144,6 +148,11 @@ __product_c4 (gfc_array_c4 * retarray, gfc_array_c4 *array, index_type *pdim)
} }
} }
extern void __mproduct_c4 (gfc_array_c4 *, gfc_array_c4 *, index_type *,
gfc_array_l4 *);
export_proto_np(__mproduct_c4);
void void
__mproduct_c4 (gfc_array_c4 * retarray, gfc_array_c4 * array, index_type *pdim, gfc_array_l4 * mask) __mproduct_c4 (gfc_array_c4 * retarray, gfc_array_c4 * array, index_type *pdim, gfc_array_l4 * mask)
{ {
......
...@@ -24,8 +24,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -24,8 +24,12 @@ Boston, MA 02111-1307, USA. */
#include <assert.h> #include <assert.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __product_c8 (gfc_array_c8 *, gfc_array_c8 *, index_type *);
export_proto_np(__product_c8);
void void
__product_c8 (gfc_array_c8 * retarray, gfc_array_c8 *array, index_type *pdim) __product_c8 (gfc_array_c8 *retarray, gfc_array_c8 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
...@@ -144,6 +148,11 @@ __product_c8 (gfc_array_c8 * retarray, gfc_array_c8 *array, index_type *pdim) ...@@ -144,6 +148,11 @@ __product_c8 (gfc_array_c8 * retarray, gfc_array_c8 *array, index_type *pdim)
} }
} }
extern void __mproduct_c8 (gfc_array_c8 *, gfc_array_c8 *, index_type *,
gfc_array_l4 *);
export_proto_np(__mproduct_c8);
void void
__mproduct_c8 (gfc_array_c8 * retarray, gfc_array_c8 * array, index_type *pdim, gfc_array_l4 * mask) __mproduct_c8 (gfc_array_c8 * retarray, gfc_array_c8 * array, index_type *pdim, gfc_array_l4 * mask)
{ {
......
...@@ -24,8 +24,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -24,8 +24,12 @@ Boston, MA 02111-1307, USA. */
#include <assert.h> #include <assert.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __product_i4 (gfc_array_i4 *, gfc_array_i4 *, index_type *);
export_proto_np(__product_i4);
void void
__product_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array, index_type *pdim) __product_i4 (gfc_array_i4 *retarray, gfc_array_i4 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
...@@ -144,6 +148,11 @@ __product_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array, index_type *pdim) ...@@ -144,6 +148,11 @@ __product_i4 (gfc_array_i4 * retarray, gfc_array_i4 *array, index_type *pdim)
} }
} }
extern void __mproduct_i4 (gfc_array_i4 *, gfc_array_i4 *, index_type *,
gfc_array_l4 *);
export_proto_np(__mproduct_i4);
void void
__mproduct_i4 (gfc_array_i4 * retarray, gfc_array_i4 * array, index_type *pdim, gfc_array_l4 * mask) __mproduct_i4 (gfc_array_i4 * retarray, gfc_array_i4 * array, index_type *pdim, gfc_array_l4 * mask)
{ {
......
...@@ -24,8 +24,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -24,8 +24,12 @@ Boston, MA 02111-1307, USA. */
#include <assert.h> #include <assert.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __product_i8 (gfc_array_i8 *, gfc_array_i8 *, index_type *);
export_proto_np(__product_i8);
void void
__product_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array, index_type *pdim) __product_i8 (gfc_array_i8 *retarray, gfc_array_i8 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
...@@ -144,6 +148,11 @@ __product_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array, index_type *pdim) ...@@ -144,6 +148,11 @@ __product_i8 (gfc_array_i8 * retarray, gfc_array_i8 *array, index_type *pdim)
} }
} }
extern void __mproduct_i8 (gfc_array_i8 *, gfc_array_i8 *, index_type *,
gfc_array_l4 *);
export_proto_np(__mproduct_i8);
void void
__mproduct_i8 (gfc_array_i8 * retarray, gfc_array_i8 * array, index_type *pdim, gfc_array_l4 * mask) __mproduct_i8 (gfc_array_i8 * retarray, gfc_array_i8 * array, index_type *pdim, gfc_array_l4 * mask)
{ {
......
...@@ -24,8 +24,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -24,8 +24,12 @@ Boston, MA 02111-1307, USA. */
#include <assert.h> #include <assert.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __product_r4 (gfc_array_r4 *, gfc_array_r4 *, index_type *);
export_proto_np(__product_r4);
void void
__product_r4 (gfc_array_r4 * retarray, gfc_array_r4 *array, index_type *pdim) __product_r4 (gfc_array_r4 *retarray, gfc_array_r4 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
...@@ -144,6 +148,11 @@ __product_r4 (gfc_array_r4 * retarray, gfc_array_r4 *array, index_type *pdim) ...@@ -144,6 +148,11 @@ __product_r4 (gfc_array_r4 * retarray, gfc_array_r4 *array, index_type *pdim)
} }
} }
extern void __mproduct_r4 (gfc_array_r4 *, gfc_array_r4 *, index_type *,
gfc_array_l4 *);
export_proto_np(__mproduct_r4);
void void
__mproduct_r4 (gfc_array_r4 * retarray, gfc_array_r4 * array, index_type *pdim, gfc_array_l4 * mask) __mproduct_r4 (gfc_array_r4 * retarray, gfc_array_r4 * array, index_type *pdim, gfc_array_l4 * mask)
{ {
......
...@@ -24,8 +24,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -24,8 +24,12 @@ Boston, MA 02111-1307, USA. */
#include <assert.h> #include <assert.h>
#include "libgfortran.h" #include "libgfortran.h"
extern void __product_r8 (gfc_array_r8 *, gfc_array_r8 *, index_type *);
export_proto_np(__product_r8);
void void
__product_r8 (gfc_array_r8 * retarray, gfc_array_r8 *array, index_type *pdim) __product_r8 (gfc_array_r8 *retarray, gfc_array_r8 *array, index_type *pdim)
{ {
index_type count[GFC_MAX_DIMENSIONS - 1]; index_type count[GFC_MAX_DIMENSIONS - 1];
index_type extent[GFC_MAX_DIMENSIONS - 1]; index_type extent[GFC_MAX_DIMENSIONS - 1];
...@@ -144,6 +148,11 @@ __product_r8 (gfc_array_r8 * retarray, gfc_array_r8 *array, index_type *pdim) ...@@ -144,6 +148,11 @@ __product_r8 (gfc_array_r8 * retarray, gfc_array_r8 *array, index_type *pdim)
} }
} }
extern void __mproduct_r8 (gfc_array_r8 *, gfc_array_r8 *, index_type *,
gfc_array_l4 *);
export_proto_np(__mproduct_r8);
void void
__mproduct_r8 (gfc_array_r8 * retarray, gfc_array_r8 * array, index_type *pdim, gfc_array_l4 * mask) __mproduct_r8 (gfc_array_r8 * retarray, gfc_array_r8 * array, index_type *pdim, gfc_array_l4 * mask)
{ {
......
...@@ -28,6 +28,11 @@ typedef GFC_ARRAY_DESCRIPTOR(1, index_type) shape_type; ...@@ -28,6 +28,11 @@ typedef GFC_ARRAY_DESCRIPTOR(1, index_type) shape_type;
/* The shape parameter is ignored. We can currently deduce the shape from the /* The shape parameter is ignored. We can currently deduce the shape from the
return array. */ return array. */
extern void __reshape_4 (gfc_array_i4 *, gfc_array_i4 *, shape_type *,
gfc_array_i4 *, shape_type *);
extern_proto_np(__reshape_4);
void void
__reshape_4 (gfc_array_i4 * ret, gfc_array_i4 * source, shape_type * shape, __reshape_4 (gfc_array_i4 * ret, gfc_array_i4 * source, shape_type * shape,
gfc_array_i4 * pad, shape_type * order) gfc_array_i4 * pad, shape_type * order)
...@@ -222,4 +227,3 @@ __reshape_4 (gfc_array_i4 * ret, gfc_array_i4 * source, shape_type * shape, ...@@ -222,4 +227,3 @@ __reshape_4 (gfc_array_i4 * ret, gfc_array_i4 * source, shape_type * shape,
} }
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment