github.com/matrixorigin/matrixone@v0.7.0/cgo/external/decNumber/decQuad.c (about) 1 /* ------------------------------------------------------------------ */ 2 /* decQuad.c -- decQuad operations module */ 3 /* ------------------------------------------------------------------ */ 4 /* Copyright (c) IBM Corporation, 2000, 2010. All rights reserved. */ 5 /* */ 6 /* This software is made available under the terms of the */ 7 /* ICU License -- ICU 1.8.1 and later. */ 8 /* */ 9 /* The description and User's Guide ("The decNumber C Library") for */ 10 /* this software is included in the package as decNumber.pdf. This */ 11 /* document is also available in HTML, together with specifications, */ 12 /* testcases, and Web links, on the General Decimal Arithmetic page. */ 13 /* */ 14 /* Please send comments, suggestions, and corrections to the author: */ 15 /* mfc@uk.ibm.com */ 16 /* Mike Cowlishaw, IBM Fellow */ 17 /* IBM UK, PO Box 31, Birmingham Road, Warwick CV34 5JL, UK */ 18 /* ------------------------------------------------------------------ */ 19 /* This module comprises decQuad operations (including conversions) */ 20 /* ------------------------------------------------------------------ */ 21 22 23 /* Constant mappings for shared code */ 24 #define DECPMAX DECQUAD_Pmax 25 #define DECEMIN DECQUAD_Emin 26 #define DECEMAX DECQUAD_Emax 27 #define DECEMAXD DECQUAD_EmaxD 28 #define DECBYTES DECQUAD_Bytes 29 #define DECSTRING DECQUAD_String 30 #define DECECONL DECQUAD_EconL 31 #define DECBIAS DECQUAD_Bias 32 #define DECLETS DECQUAD_Declets 33 #define DECQTINY (-DECQUAD_Bias) 34 35 /* Type and function mappings for shared code */ 36 #define decFloat decQuad // Type name 37 38 // Utilities and conversions (binary results, extractors, etc.) 39 #define decFloatFromBCD decQuadFromBCD 40 #define decFloatFromInt32 decQuadFromInt32 41 #define decFloatFromPacked decQuadFromPacked 42 #define decFloatFromPackedChecked decQuadFromPackedChecked 43 #define decFloatFromString decQuadFromString 44 #define decFloatFromUInt32 decQuadFromUInt32 45 #define decFloatFromWider decQuadFromWider 46 #define decFloatGetCoefficient decQuadGetCoefficient 47 #define decFloatGetExponent decQuadGetExponent 48 #define decFloatSetCoefficient decQuadSetCoefficient 49 #define decFloatSetExponent decQuadSetExponent 50 #define decFloatShow decQuadShow 51 #define decFloatToBCD decQuadToBCD 52 #define decFloatToEngString decQuadToEngString 53 #define decFloatToInt32 decQuadToInt32 54 #define decFloatToInt32Exact decQuadToInt32Exact 55 #define decFloatToPacked decQuadToPacked 56 #define decFloatToString decQuadToString 57 #define decFloatToUInt32 decQuadToUInt32 58 #define decFloatToUInt32Exact decQuadToUInt32Exact 59 #define decFloatToWider decQuadToWider 60 #define decFloatZero decQuadZero 61 62 // Computational (result is a decFloat) 63 #define decFloatAbs decQuadAbs 64 #define decFloatAdd decQuadAdd 65 #define decFloatAnd decQuadAnd 66 #define decFloatDivide decQuadDivide 67 #define decFloatDivideInteger decQuadDivideInteger 68 #define decFloatFMA decQuadFMA 69 #define decFloatInvert decQuadInvert 70 #define decFloatLogB decQuadLogB 71 #define decFloatMax decQuadMax 72 #define decFloatMaxMag decQuadMaxMag 73 #define decFloatMin decQuadMin 74 #define decFloatMinMag decQuadMinMag 75 #define decFloatMinus decQuadMinus 76 #define decFloatMultiply decQuadMultiply 77 #define decFloatNextMinus decQuadNextMinus 78 #define decFloatNextPlus decQuadNextPlus 79 #define decFloatNextToward decQuadNextToward 80 #define decFloatOr decQuadOr 81 #define decFloatPlus decQuadPlus 82 #define decFloatQuantize decQuadQuantize 83 #define decFloatReduce decQuadReduce 84 #define decFloatRemainder decQuadRemainder 85 #define decFloatRemainderNear decQuadRemainderNear 86 #define decFloatRotate decQuadRotate 87 #define decFloatScaleB decQuadScaleB 88 #define decFloatShift decQuadShift 89 #define decFloatSubtract decQuadSubtract 90 #define decFloatToIntegralValue decQuadToIntegralValue 91 #define decFloatToIntegralExact decQuadToIntegralExact 92 #define decFloatXor decQuadXor 93 94 // Comparisons 95 #define decFloatCompare decQuadCompare 96 #define decFloatCompareSignal decQuadCompareSignal 97 #define decFloatCompareTotal decQuadCompareTotal 98 #define decFloatCompareTotalMag decQuadCompareTotalMag 99 100 // Copies 101 #define decFloatCanonical decQuadCanonical 102 #define decFloatCopy decQuadCopy 103 #define decFloatCopyAbs decQuadCopyAbs 104 #define decFloatCopyNegate decQuadCopyNegate 105 #define decFloatCopySign decQuadCopySign 106 107 // Non-computational 108 #define decFloatClass decQuadClass 109 #define decFloatClassString decQuadClassString 110 #define decFloatDigits decQuadDigits 111 #define decFloatIsCanonical decQuadIsCanonical 112 #define decFloatIsFinite decQuadIsFinite 113 #define decFloatIsInfinite decQuadIsInfinite 114 #define decFloatIsInteger decQuadIsInteger 115 #define decFloatIsLogical decQuadIsLogical 116 #define decFloatIsNaN decQuadIsNaN 117 #define decFloatIsNegative decQuadIsNegative 118 #define decFloatIsNormal decQuadIsNormal 119 #define decFloatIsPositive decQuadIsPositive 120 #define decFloatIsSignaling decQuadIsSignaling 121 #define decFloatIsSignalling decQuadIsSignalling 122 #define decFloatIsSigned decQuadIsSigned 123 #define decFloatIsSubnormal decQuadIsSubnormal 124 #define decFloatIsZero decQuadIsZero 125 #define decFloatRadix decQuadRadix 126 #define decFloatSameQuantum decQuadSameQuantum 127 #define decFloatVersion decQuadVersion 128 129 /* And now the code itself */ 130 #include "decContext.h" // public includes 131 #include "decQuad.h" // .. 132 #include "decNumberLocal.h" // local includes (need DECPMAX) 133 #include "decCommon.c" // non-arithmetic decFloat routines 134 #include "decBasic.c" // basic formats routines 135