@ 261102.1

250206.1 · 972772153f3d6905c7e6a2bad7b7e3b4706185a1

Move oniguruma and decNumber to vendor directory (#3234)

reading declarations

Changes to vendor/decNumber/decDouble.c. All files

vendor/decNumber/decDouble.c

new file mode 100644@@ -0,0 +1,140 @@+/* ------------------------------------------------------------------ */
+/* decDouble.c -- decDouble operations module                         */
+/* ------------------------------------------------------------------ */
+/* Copyright (c) IBM Corporation, 2000, 2010.  All rights reserved.   */
+/*                                                                    */
+/* This software is made available under the terms of the             */
+/* ICU License -- ICU 1.8.1 and later.                                */
+/*                                                                    */
+/* The description and User's Guide ("The decNumber C Library") for   */
+/* this software is included in the package as decNumber.pdf.  This   */
+/* document is also available in HTML, together with specifications,  */
+/* testcases, and Web links, on the General Decimal Arithmetic page.  */
+/*                                                                    */
+/* Please send comments, suggestions, and corrections to the author:  */
+/*   mfc@uk.ibm.com                                                   */
+/*   Mike Cowlishaw, IBM Fellow                                       */
+/*   IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK         */
+/* ------------------------------------------------------------------ */
+/* This module comprises decDouble operations (including conversions) */
+/* ------------------------------------------------------------------ */
+
+#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 DECEMAXD    DECDOUBLE_EmaxD
+#define DECBYTES    DECDOUBLE_Bytes
+#define DECSTRING   DECDOUBLE_String
+#define DECECONL    DECDOUBLE_EconL
+#define DECBIAS     DECDOUBLE_Bias
+#define DECLETS     DECDOUBLE_Declets
+#define DECQTINY    (-DECDOUBLE_Bias)
+// parameters of next-wider format
+#define DECWBYTES   DECQUAD_Bytes
+#define DECWPMAX    DECQUAD_Pmax
+#define DECWECONL   DECQUAD_EconL
+#define DECWBIAS    DECQUAD_Bias
+
+/* Type and function mappings for shared code */
+#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 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
+
+// Comparisons
+#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
+
+// Non-computational
+#define decFloatClass              decDoubleClass
+#define decFloatClassString        decDoubleClassString
+#define decFloatDigits             decDoubleDigits
+#define decFloatIsCanonical        decDoubleIsCanonical
+#define decFloatIsFinite           decDoubleIsFinite
+#define decFloatIsInfinite         decDoubleIsInfinite
+#define decFloatIsInteger          decDoubleIsInteger
+#define decFloatIsLogical          decDoubleIsLogical
+#define decFloatIsNaN              decDoubleIsNaN
+#define decFloatIsNegative         decDoubleIsNegative
+#define decFloatIsNormal           decDoubleIsNormal
+#define decFloatIsPositive         decDoubleIsPositive
+#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
+