X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=libdecnumber%2FdecDouble.c;h=b88786974c9317049c8286609aeda673e4834530;hb=128e85e3ab36b8e30f6612fb50de3cbb4ede6824;hp=ba6a0af893be07ab5147357303e8d69c231df21d;hpb=f2be950300e01d47ae4f41fb7481c26319d33d81;p=deliverable%2Fbinutils-gdb.git diff --git a/libdecnumber/decDouble.c b/libdecnumber/decDouble.c index ba6a0af893..b88786974c 100644 --- a/libdecnumber/decDouble.c +++ b/libdecnumber/decDouble.c @@ -1,32 +1,27 @@ /* decDouble module for the decNumber C Library. - Copyright (C) 2007 Free Software Foundation, Inc. + Copyright (C) 2007-2013 Free Software Foundation, Inc. Contributed by IBM Corporation. Author Mike Cowlishaw. This file is part of GCC. GCC 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, or (at your option) any later + Software Foundation; either version 3, 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.) - GCC 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 GCC; see the file COPYING. If not, write to the Free - Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA - 02110-1301, USA. */ +Under Section 7 of GPL version 3, you are granted additional +permissions described in the GCC Runtime Library Exception, version +3.1, as published by the Free Software Foundation. + +You should have received a copy of the GNU General Public License and +a copy of the GCC Runtime Library Exception along with this program; +see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +. */ /* ------------------------------------------------------------------ */ /* decDouble.c -- decDouble operations module */ @@ -34,19 +29,19 @@ /* This module comprises decDouble operations (including conversions) */ /* ------------------------------------------------------------------ */ -#include "decContext.h" /* public includes */ +#include "decContext.h" /* public includes */ #include "decDouble.h" /* .. */ /* Constant mappings for shared code */ -#define DECPMAX DECDOUBLE_Pmax -#define DECEMIN DECDOUBLE_Emin -#define DECEMAX DECDOUBLE_Emax +#define DECPMAX DECDOUBLE_Pmax +#define DECEMIN DECDOUBLE_Emin +#define DECEMAX DECDOUBLE_Emax #define DECEMAXD DECDOUBLE_EmaxD #define DECBYTES DECDOUBLE_Bytes #define DECSTRING DECDOUBLE_String #define DECECONL DECDOUBLE_EconL -#define DECBIAS DECDOUBLE_Bias -#define DECLETS DECDOUBLE_Declets +#define DECBIAS DECDOUBLE_Bias +#define DECLETS DECDOUBLE_Declets #define DECQTINY (-DECDOUBLE_Bias) /* parameters of next-wider format */ #define DECWBYTES DECQUAD_Bytes @@ -55,100 +50,98 @@ #define DECWBIAS DECQUAD_Bias /* Type and function mappings for shared code */ -#define decFloat decDouble /* Type name */ -#define decFloatWider decQuad /* Type name */ +#define decFloat decDouble /* Type name */ +#define decFloatWider decQuad /* Type name */ /* Utilities and conversions (binary results, extractors, etc.) */ -#define decFloatFromBCD decDoubleFromBCD -#define decFloatFromInt32 decDoubleFromInt32 -#define decFloatFromPacked decDoubleFromPacked -#define decFloatFromString decDoubleFromString -#define decFloatFromUInt32 decDoubleFromUInt32 -#define decFloatFromWider decDoubleFromWider -#define decFloatGetCoefficient decDoubleGetCoefficient -#define decFloatGetExponent decDoubleGetExponent -#define decFloatSetCoefficient decDoubleSetCoefficient -#define decFloatSetExponent decDoubleSetExponent -#define decFloatShow decDoubleShow -#define decFloatToBCD decDoubleToBCD -#define decFloatToEngString decDoubleToEngString -#define decFloatToInt32 decDoubleToInt32 -#define decFloatToInt32Exact decDoubleToInt32Exact -#define decFloatToPacked decDoubleToPacked -#define decFloatToString decDoubleToString -#define decFloatToUInt32 decDoubleToUInt32 -#define decFloatToUInt32Exact decDoubleToUInt32Exact -#define decFloatToWider decDoubleToWider -#define decFloatZero decDoubleZero +#define decFloatFromBCD decDoubleFromBCD +#define decFloatFromInt32 decDoubleFromInt32 +#define decFloatFromPacked decDoubleFromPacked +#define decFloatFromPackedChecked decDoubleFromPackedChecked +#define decFloatFromString decDoubleFromString +#define decFloatFromUInt32 decDoubleFromUInt32 +#define decFloatFromWider decDoubleFromWider +#define decFloatGetCoefficient decDoubleGetCoefficient +#define decFloatGetExponent decDoubleGetExponent +#define decFloatSetCoefficient decDoubleSetCoefficient +#define decFloatSetExponent decDoubleSetExponent +#define decFloatShow decDoubleShow +#define decFloatToBCD decDoubleToBCD +#define decFloatToEngString decDoubleToEngString +#define decFloatToInt32 decDoubleToInt32 +#define decFloatToInt32Exact decDoubleToInt32Exact +#define decFloatToPacked decDoubleToPacked +#define decFloatToString decDoubleToString +#define decFloatToUInt32 decDoubleToUInt32 +#define decFloatToUInt32Exact decDoubleToUInt32Exact +#define decFloatToWider decDoubleToWider +#define decFloatZero decDoubleZero /* Computational (result is a decFloat) */ -#define decFloatAbs decDoubleAbs -#define decFloatAdd decDoubleAdd -#define decFloatAnd decDoubleAnd -#define decFloatDivide decDoubleDivide -#define decFloatDivideInteger decDoubleDivideInteger -#define decFloatFMA decDoubleFMA -#define decFloatInvert decDoubleInvert -#define decFloatLogB decDoubleLogB -#define decFloatMax decDoubleMax -#define decFloatMaxMag decDoubleMaxMag -#define decFloatMin decDoubleMin -#define decFloatMinMag decDoubleMinMag -#define decFloatMinus decDoubleMinus -#define decFloatMultiply decDoubleMultiply -#define decFloatNextMinus decDoubleNextMinus -#define decFloatNextPlus decDoubleNextPlus -#define decFloatNextToward decDoubleNextToward -#define decFloatOr decDoubleOr -#define decFloatPlus decDoublePlus -#define decFloatQuantize decDoubleQuantize -#define decFloatReduce decDoubleReduce -#define decFloatRemainder decDoubleRemainder -#define decFloatRemainderNear decDoubleRemainderNear -#define decFloatRotate decDoubleRotate -#define decFloatScaleB decDoubleScaleB -#define decFloatShift decDoubleShift -#define decFloatSubtract decDoubleSubtract -#define decFloatToIntegralValue decDoubleToIntegralValue -#define decFloatToIntegralExact decDoubleToIntegralExact -#define decFloatXor decDoubleXor +#define decFloatAbs decDoubleAbs +#define decFloatAdd decDoubleAdd +#define decFloatAnd decDoubleAnd +#define decFloatDivide decDoubleDivide +#define decFloatDivideInteger decDoubleDivideInteger +#define decFloatFMA decDoubleFMA +#define decFloatInvert decDoubleInvert +#define decFloatLogB decDoubleLogB +#define decFloatMax decDoubleMax +#define decFloatMaxMag decDoubleMaxMag +#define decFloatMin decDoubleMin +#define decFloatMinMag decDoubleMinMag +#define decFloatMinus decDoubleMinus +#define decFloatMultiply decDoubleMultiply +#define decFloatNextMinus decDoubleNextMinus +#define decFloatNextPlus decDoubleNextPlus +#define decFloatNextToward decDoubleNextToward +#define decFloatOr decDoubleOr +#define decFloatPlus decDoublePlus +#define decFloatQuantize decDoubleQuantize +#define decFloatReduce decDoubleReduce +#define decFloatRemainder decDoubleRemainder +#define decFloatRemainderNear decDoubleRemainderNear +#define decFloatRotate decDoubleRotate +#define decFloatScaleB decDoubleScaleB +#define decFloatShift decDoubleShift +#define decFloatSubtract decDoubleSubtract +#define decFloatToIntegralValue decDoubleToIntegralValue +#define decFloatToIntegralExact decDoubleToIntegralExact +#define decFloatXor decDoubleXor /* Comparisons */ -#define decFloatCompare decDoubleCompare -#define decFloatCompareSignal decDoubleCompareSignal -#define decFloatCompareTotal decDoubleCompareTotal -#define decFloatCompareTotalMag decDoubleCompareTotalMag +#define decFloatCompare decDoubleCompare +#define decFloatCompareSignal decDoubleCompareSignal +#define decFloatCompareTotal decDoubleCompareTotal +#define decFloatCompareTotalMag decDoubleCompareTotalMag /* Copies */ -#define decFloatCanonical decDoubleCanonical -#define decFloatCopy decDoubleCopy -#define decFloatCopyAbs decDoubleCopyAbs -#define decFloatCopyNegate decDoubleCopyNegate -#define decFloatCopySign decDoubleCopySign +#define decFloatCanonical decDoubleCanonical +#define decFloatCopy decDoubleCopy +#define decFloatCopyAbs decDoubleCopyAbs +#define decFloatCopyNegate decDoubleCopyNegate +#define decFloatCopySign decDoubleCopySign /* Non-computational */ -#define decFloatClass decDoubleClass -#define decFloatClassString decDoubleClassString -#define decFloatDigits decDoubleDigits -#define decFloatIsCanonical decDoubleIsCanonical -#define decFloatIsFinite decDoubleIsFinite -#define decFloatIsInfinite decDoubleIsInfinite -#define decFloatIsInteger decDoubleIsInteger -#define decFloatIsNaN decDoubleIsNaN -#define decFloatIsNormal decDoubleIsNormal -#define decFloatIsSignaling decDoubleIsSignaling -#define decFloatIsSignalling decDoubleIsSignalling -#define decFloatIsSigned decDoubleIsSigned -#define decFloatIsSubnormal decDoubleIsSubnormal -#define decFloatIsZero decDoubleIsZero -#define decFloatRadix decDoubleRadix -#define decFloatSameQuantum decDoubleSameQuantum -#define decFloatVersion decDoubleVersion - +#define decFloatClass decDoubleClass +#define decFloatClassString decDoubleClassString +#define decFloatDigits decDoubleDigits +#define decFloatIsCanonical decDoubleIsCanonical +#define decFloatIsFinite decDoubleIsFinite +#define decFloatIsInfinite decDoubleIsInfinite +#define decFloatIsInteger decDoubleIsInteger +#define decFloatIsNaN decDoubleIsNaN +#define decFloatIsNormal decDoubleIsNormal +#define decFloatIsSignaling decDoubleIsSignaling +#define decFloatIsSignalling decDoubleIsSignalling +#define decFloatIsSigned decDoubleIsSigned +#define decFloatIsSubnormal decDoubleIsSubnormal +#define decFloatIsZero decDoubleIsZero +#define decFloatRadix decDoubleRadix +#define decFloatSameQuantum decDoubleSameQuantum +#define decFloatVersion decDoubleVersion #include "decNumberLocal.h" /* local includes (need DECPMAX) */ #include "decCommon.c" /* non-arithmetic decFloat routines */ #include "decBasic.c" /* basic formats routines */ -/* Below here will move to shared file as completed */ -