diff options
author | Francois-Xavier Coudert <coudert@clipper.ens.fr> | 2006-11-25 18:22:53 +0100 |
---|---|---|
committer | François-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2006-11-25 17:22:53 +0000 |
commit | 7afebb02328cbaeae28f6954f6e4c2999007099a (patch) | |
tree | 7b1a43b523ba701ba6ef1200cc8b3c34a25a1e66 /libgfortran/intrinsics | |
parent | 9406549c9ff749822cba6ea283708ef950d70ab3 (diff) | |
download | gcc-7afebb02328cbaeae28f6954f6e4c2999007099a.zip gcc-7afebb02328cbaeae28f6954f6e4c2999007099a.tar.gz gcc-7afebb02328cbaeae28f6954f6e4c2999007099a.tar.bz2 |
Makefile.am: Remove intrinsics/erf.c and intrinsics/bessel.c.
* Makefile.am: Remove intrinsics/erf.c and intrinsics/bessel.c.
* Makefile.in: Regenerate.
* intrinsics/erf.c: Remove.
* intrinsics/bessel.c: Remove.
* c99_protos.h: Add prototypes for bessel and error functions.
* intrinsics/c99_functions.c: Move content for intrinsics/erf.c
and intrinsics/bessel.c here.
From-SVN: r119204
Diffstat (limited to 'libgfortran/intrinsics')
-rw-r--r-- | libgfortran/intrinsics/bessel.c | 92 | ||||
-rw-r--r-- | libgfortran/intrinsics/c99_functions.c | 95 | ||||
-rw-r--r-- | libgfortran/intrinsics/erf.c | 48 |
3 files changed, 95 insertions, 140 deletions
diff --git a/libgfortran/intrinsics/bessel.c b/libgfortran/intrinsics/bessel.c deleted file mode 100644 index 69facd6..0000000 --- a/libgfortran/intrinsics/bessel.c +++ /dev/null @@ -1,92 +0,0 @@ -/* Wrapper for systems without the various C99 single precision Bessel - functions. - Copyright (C) 2004 Free Software Foundation, Inc. - -This file is part of the GNU Fortran 95 runtime library (libgfortran). - -Libgfortran is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -In addition to the permissions in the GNU General Public License, the -Free Software Foundation gives you unlimited permission to link the -compiled version of this file into combinations with other programs, -and to distribute those combinations without any restriction coming -from the use of this file. (The General Public License restrictions -do apply in other respects; for example, they cover modification of -the file, and distribution when not linked into a combine -executable.) - -Libgfortran is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public -License along with libgfortran; see the file COPYING. If not, -write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - -#include "config.h" -#include <math.h> -#include "libgfortran.h" - -#if HAVE_J0 && !HAVE_J0F -extern float j0f (float); - -float -j0f (float x) -{ - return (float) j0 ((double) x); -} -#endif - -#if HAVE_J1 && !HAVE_J1F -extern float j1f (float); - -float j1f (float x) -{ - return (float) j1 ((double) x); -} -#endif - -#if HAVE_JN && !HAVE_JNF -extern float jnf (int, float); - -float -jnf (int n, float x) -{ - return (float) jn (n, (double) x); -} -#endif - -#if HAVE_Y0 && !HAVE_Y0F -extern float y0f (float); - -float -y0f (float x) -{ - return (float) y0 ((double) x); -} -#endif - -#if HAVE_Y1 && !HAVE_Y1F -extern float y1f (float); - -float -y1f (float x) -{ - return (float) y1 ((double) x); -} -#endif - -#if HAVE_YN && !HAVE_YNF -extern float ynf (int, float); - -float -ynf (int n, float x) -{ - return (float) yn (n, (double) x); -} -#endif diff --git a/libgfortran/intrinsics/c99_functions.c b/libgfortran/intrinsics/c99_functions.c index 86867a2..96b5ef8 100644 --- a/libgfortran/intrinsics/c99_functions.c +++ b/libgfortran/intrinsics/c99_functions.c @@ -76,6 +76,101 @@ float complex clog10f(float complex); double complex clog10(double complex); long double complex clog10l(long double complex); + +/* Wrappers for systems without the various C99 single precision Bessel + functions. */ + +#if defined(HAVE_J0) && ! defined(HAVE_J0F) +#define HAVE_J0F 1 +extern float j0f (float); + +float +j0f (float x) +{ + return (float) j0 ((double) x); +} +#endif + +#if defined(HAVE_J1) && !defined(HAVE_J1F) +#define HAVE_J1F 1 +extern float j1f (float); + +float j1f (float x) +{ + return (float) j1 ((double) x); +} +#endif + +#if defined(HAVE_JN) && !defined(HAVE_JNF) +#define HAVE_JNF 1 +extern float jnf (int, float); + +float +jnf (int n, float x) +{ + return (float) jn (n, (double) x); +} +#endif + +#if defined(HAVE_Y0) && !defined(HAVE_Y0F) +#define HAVE_Y0F 1 +extern float y0f (float); + +float +y0f (float x) +{ + return (float) y0 ((double) x); +} +#endif + +#if defined(HAVE_Y1) && !defined(HAVE_Y1F) +#define HAVE_Y1F 1 +extern float y1f (float); + +float +y1f (float x) +{ + return (float) y1 ((double) x); +} +#endif + +#if defined(HAVE_YN) && !defined(HAVE_YNF) +#define HAVE_YNF 1 +extern float ynf (int, float); + +float +ynf (int n, float x) +{ + return (float) yn (n, (double) x); +} +#endif + + +/* Wrappers for systems without the C99 erff() and erfcf() functions. */ + +#if defined(HAVE_ERF) && !defined(HAVE_ERFF) +#define HAVE_ERFF 1 +extern float erff (float); + +float +erff (float x) +{ + return (float) erf ((double) x); +} +#endif + +#if defined(HAVE_ERFC) && !defined(HAVE_ERFCF) +#define HAVE_ERFCF 1 +extern float erfcf (float); + +float +erfcf (float x) +{ + return (float) erfc ((double) x); +} +#endif + + #ifndef HAVE_ACOSF #define HAVE_ACOSF 1 float diff --git a/libgfortran/intrinsics/erf.c b/libgfortran/intrinsics/erf.c deleted file mode 100644 index bf9ecca..0000000 --- a/libgfortran/intrinsics/erf.c +++ /dev/null @@ -1,48 +0,0 @@ -/* Wrapper for systems without the C99 erff() and erfcf() functions - Copyright (C) 2004 Free Software Foundation, Inc. - -This file is part of the GNU Fortran 95 runtime library (libgfortran). - -Libgfortran is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public -License as published by the Free Software Foundation; either -version 2 of the License, or (at your option) any later version. - -In addition to the permissions in the GNU General Public License, the -Free Software Foundation gives you unlimited permission to link the -compiled version of this file into combinations with other programs, -and to distribute those combinations without any restriction coming -from the use of this file. (The General Public License restrictions -do apply in other respects; for example, they cover modification of -the file, and distribution when not linked into a combine -executable.) - -Libgfortran is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public -License along with libgfortran; see the file COPYING. If not, -write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ - -#include "config.h" -#include <math.h> -#include "libgfortran.h" - -#if HAVE_ERF && !HAVE_ERFF -float -erff (float x) -{ - return (float) erf ((double) x); -} -#endif - -#if HAVE_ERFC && !HAVE_ERFCF -float -erfcf (float x) -{ - return (float) erfc ((double) x); -} -#endif |