| /* GCC Quad-Precision Math Library |
| Copyright (C) 2010, 2011 Free Software Foundation, Inc. |
| Written by Tobias Burnus <burnus@net-b.de> |
| |
| This file is part of the libquadmath library. |
| Libquadmath is free software; you can redistribute it and/or |
| modify it under the terms of the GNU Library General Public |
| License as published by the Free Software Foundation; either |
| version 2 of the License, or (at your option) any later version. |
| |
| Libquadmath 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 |
| Library General Public License for more details. |
| |
| You should have received a copy of the GNU Library General Public |
| License along with libquadmath; see the file COPYING.LIB. If |
| not, write to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, |
| Boston, MA 02110-1301, USA. */ |
| |
| #ifndef QUADMATH_WEAK_H |
| #define QUADMATH_WEAK_H |
| |
| #include "quadmath.h" |
| |
| #if SUPPORTS_WEAK |
| # define __qmath2(name,name2,type) \ |
| static __typeof(type) name __attribute__ ((__weakref__(#name2))); |
| # define __qmath_(name) __qmath_ ## name |
| #else |
| # define __qmath2(name,name2,type) |
| # define __qmath_(name) name |
| #endif |
| |
| /* __qmath_foo is a weak reference to symbol foo. */ |
| #define __qmath3(name) __qmath2(__qmath_ ## name,name,name) |
| |
| /* Prototypes for real functions. */ |
| __qmath3 (acosq) |
| __qmath3 (acoshq) |
| __qmath3 (asinq) |
| __qmath3 (asinhq) |
| __qmath3 (atanq) |
| __qmath3 (atanhq) |
| __qmath3 (atan2q) |
| __qmath3 (cbrtq) |
| __qmath3 (ceilq) |
| __qmath3 (copysignq) |
| __qmath3 (coshq) |
| __qmath3 (cosq) |
| __qmath3 (erfq) |
| __qmath3 (erfcq) |
| __qmath3 (expq) |
| __qmath3 (expm1q) |
| __qmath3 (fabsq) |
| __qmath3 (fdimq) |
| __qmath3 (finiteq) |
| __qmath3 (floorq) |
| __qmath3 (fmaq) |
| __qmath3 (fmaxq) |
| __qmath3 (fminq) |
| __qmath3 (fmodq) |
| __qmath3 (frexpq) |
| __qmath3 (hypotq) |
| __qmath3 (ilogbq) |
| __qmath3 (isinfq) |
| __qmath3 (isnanq) |
| __qmath3 (j0q) |
| __qmath3 (j1q) |
| __qmath3 (jnq) |
| __qmath3 (ldexpq) |
| __qmath3 (lgammaq) |
| __qmath3 (llrintq) |
| __qmath3 (llroundq) |
| __qmath3 (logbq) |
| __qmath3 (logq) |
| __qmath3 (log10q) |
| __qmath3 (log1pq) |
| __qmath3 (log2q) |
| __qmath3 (lrintq) |
| __qmath3 (lroundq) |
| __qmath3 (modfq) |
| __qmath3 (nanq) |
| __qmath3 (nearbyintq) |
| __qmath3 (nextafterq) |
| __qmath3 (powq) |
| __qmath3 (remainderq) |
| __qmath3 (remquoq) |
| __qmath3 (rintq) |
| __qmath3 (roundq) |
| __qmath3 (scalblnq) |
| __qmath3 (scalbnq) |
| __qmath3 (signbitq) |
| __qmath3 (sincosq) |
| __qmath3 (sinhq) |
| __qmath3 (sinq) |
| __qmath3 (sqrtq) |
| __qmath3 (tanq) |
| __qmath3 (tanhq) |
| __qmath3 (tgammaq) |
| __qmath3 (truncq) |
| __qmath3 (y0q) |
| __qmath3 (y1q) |
| __qmath3 (ynq) |
| |
| |
| /* Prototypes for complex functions. */ |
| __qmath3 (cabsq) |
| __qmath3 (cargq) |
| __qmath3 (cimagq) |
| __qmath3 (crealq) |
| __qmath3 (cacosq) |
| __qmath3 (cacoshq) |
| __qmath3 (casinq) |
| __qmath3 (casinhq) |
| __qmath3 (catanq) |
| __qmath3 (catanhq) |
| __qmath3 (ccosq) |
| __qmath3 (ccoshq) |
| __qmath3 (cexpq) |
| __qmath3 (cexpiq) |
| __qmath3 (clogq) |
| __qmath3 (clog10q) |
| __qmath3 (conjq) |
| __qmath3 (cpowq) |
| __qmath3 (cprojq) |
| __qmath3 (csinq) |
| __qmath3 (csinhq) |
| __qmath3 (csqrtq) |
| __qmath3 (ctanq) |
| __qmath3 (ctanhq) |
| |
| |
| /* Prototypes for string <-> flt128 conversion functions. */ |
| __qmath3 (strtoflt128) |
| __qmath3 (quadmath_snprintf) |
| |
| #endif |