comparison libdecnumber/decDouble.c @ 55:77e2b8dfacca gcc-4.4.5

update it from 4.4.3 to 4.5.0
author ryoma <e075725@ie.u-ryukyu.ac.jp>
date Fri, 12 Feb 2010 23:39:51 +0900
parents a06113de4d67
children 04ced10e8804
comparison
equal deleted inserted replaced
52:c156f1bd5cd9 55:77e2b8dfacca
27 /* decDouble.c -- decDouble operations module */ 27 /* decDouble.c -- decDouble operations module */
28 /* ------------------------------------------------------------------ */ 28 /* ------------------------------------------------------------------ */
29 /* This module comprises decDouble operations (including conversions) */ 29 /* This module comprises decDouble operations (including conversions) */
30 /* ------------------------------------------------------------------ */ 30 /* ------------------------------------------------------------------ */
31 31
32 #include "decContext.h" /* public includes */ 32 #include "decContext.h" /* public includes */
33 #include "decDouble.h" /* .. */ 33 #include "decDouble.h" /* .. */
34 34
35 /* Constant mappings for shared code */ 35 /* Constant mappings for shared code */
36 #define DECPMAX DECDOUBLE_Pmax 36 #define DECPMAX DECDOUBLE_Pmax
37 #define DECEMIN DECDOUBLE_Emin 37 #define DECEMIN DECDOUBLE_Emin
38 #define DECEMAX DECDOUBLE_Emax 38 #define DECEMAX DECDOUBLE_Emax
39 #define DECEMAXD DECDOUBLE_EmaxD 39 #define DECEMAXD DECDOUBLE_EmaxD
40 #define DECBYTES DECDOUBLE_Bytes 40 #define DECBYTES DECDOUBLE_Bytes
41 #define DECSTRING DECDOUBLE_String 41 #define DECSTRING DECDOUBLE_String
42 #define DECECONL DECDOUBLE_EconL 42 #define DECECONL DECDOUBLE_EconL
43 #define DECBIAS DECDOUBLE_Bias 43 #define DECBIAS DECDOUBLE_Bias
44 #define DECLETS DECDOUBLE_Declets 44 #define DECLETS DECDOUBLE_Declets
45 #define DECQTINY (-DECDOUBLE_Bias) 45 #define DECQTINY (-DECDOUBLE_Bias)
46 /* parameters of next-wider format */ 46 /* parameters of next-wider format */
47 #define DECWBYTES DECQUAD_Bytes 47 #define DECWBYTES DECQUAD_Bytes
48 #define DECWPMAX DECQUAD_Pmax 48 #define DECWPMAX DECQUAD_Pmax
49 #define DECWECONL DECQUAD_EconL 49 #define DECWECONL DECQUAD_EconL
50 #define DECWBIAS DECQUAD_Bias 50 #define DECWBIAS DECQUAD_Bias
51 51
52 /* Type and function mappings for shared code */ 52 /* Type and function mappings for shared code */
53 #define decFloat decDouble /* Type name */ 53 #define decFloat decDouble /* Type name */
54 #define decFloatWider decQuad /* Type name */ 54 #define decFloatWider decQuad /* Type name */
55 55
56 /* Utilities and conversions (binary results, extractors, etc.) */ 56 /* Utilities and conversions (binary results, extractors, etc.) */
57 #define decFloatFromBCD decDoubleFromBCD 57 #define decFloatFromBCD decDoubleFromBCD
58 #define decFloatFromInt32 decDoubleFromInt32 58 #define decFloatFromInt32 decDoubleFromInt32
59 #define decFloatFromPacked decDoubleFromPacked 59 #define decFloatFromPacked decDoubleFromPacked
60 #define decFloatFromString decDoubleFromString 60 #define decFloatFromPackedChecked decDoubleFromPackedChecked
61 #define decFloatFromUInt32 decDoubleFromUInt32 61 #define decFloatFromString decDoubleFromString
62 #define decFloatFromWider decDoubleFromWider 62 #define decFloatFromUInt32 decDoubleFromUInt32
63 #define decFloatGetCoefficient decDoubleGetCoefficient 63 #define decFloatFromWider decDoubleFromWider
64 #define decFloatGetExponent decDoubleGetExponent 64 #define decFloatGetCoefficient decDoubleGetCoefficient
65 #define decFloatSetCoefficient decDoubleSetCoefficient 65 #define decFloatGetExponent decDoubleGetExponent
66 #define decFloatSetExponent decDoubleSetExponent 66 #define decFloatSetCoefficient decDoubleSetCoefficient
67 #define decFloatShow decDoubleShow 67 #define decFloatSetExponent decDoubleSetExponent
68 #define decFloatToBCD decDoubleToBCD 68 #define decFloatShow decDoubleShow
69 #define decFloatToEngString decDoubleToEngString 69 #define decFloatToBCD decDoubleToBCD
70 #define decFloatToInt32 decDoubleToInt32 70 #define decFloatToEngString decDoubleToEngString
71 #define decFloatToInt32Exact decDoubleToInt32Exact 71 #define decFloatToInt32 decDoubleToInt32
72 #define decFloatToPacked decDoubleToPacked 72 #define decFloatToInt32Exact decDoubleToInt32Exact
73 #define decFloatToString decDoubleToString 73 #define decFloatToPacked decDoubleToPacked
74 #define decFloatToUInt32 decDoubleToUInt32 74 #define decFloatToString decDoubleToString
75 #define decFloatToUInt32Exact decDoubleToUInt32Exact 75 #define decFloatToUInt32 decDoubleToUInt32
76 #define decFloatToWider decDoubleToWider 76 #define decFloatToUInt32Exact decDoubleToUInt32Exact
77 #define decFloatZero decDoubleZero 77 #define decFloatToWider decDoubleToWider
78 #define decFloatZero decDoubleZero
78 79
79 /* Computational (result is a decFloat) */ 80 /* Computational (result is a decFloat) */
80 #define decFloatAbs decDoubleAbs 81 #define decFloatAbs decDoubleAbs
81 #define decFloatAdd decDoubleAdd 82 #define decFloatAdd decDoubleAdd
82 #define decFloatAnd decDoubleAnd 83 #define decFloatAnd decDoubleAnd
83 #define decFloatDivide decDoubleDivide 84 #define decFloatDivide decDoubleDivide
84 #define decFloatDivideInteger decDoubleDivideInteger 85 #define decFloatDivideInteger decDoubleDivideInteger
85 #define decFloatFMA decDoubleFMA 86 #define decFloatFMA decDoubleFMA
86 #define decFloatInvert decDoubleInvert 87 #define decFloatInvert decDoubleInvert
87 #define decFloatLogB decDoubleLogB 88 #define decFloatLogB decDoubleLogB
88 #define decFloatMax decDoubleMax 89 #define decFloatMax decDoubleMax
89 #define decFloatMaxMag decDoubleMaxMag 90 #define decFloatMaxMag decDoubleMaxMag
90 #define decFloatMin decDoubleMin 91 #define decFloatMin decDoubleMin
91 #define decFloatMinMag decDoubleMinMag 92 #define decFloatMinMag decDoubleMinMag
92 #define decFloatMinus decDoubleMinus 93 #define decFloatMinus decDoubleMinus
93 #define decFloatMultiply decDoubleMultiply 94 #define decFloatMultiply decDoubleMultiply
94 #define decFloatNextMinus decDoubleNextMinus 95 #define decFloatNextMinus decDoubleNextMinus
95 #define decFloatNextPlus decDoubleNextPlus 96 #define decFloatNextPlus decDoubleNextPlus
96 #define decFloatNextToward decDoubleNextToward 97 #define decFloatNextToward decDoubleNextToward
97 #define decFloatOr decDoubleOr 98 #define decFloatOr decDoubleOr
98 #define decFloatPlus decDoublePlus 99 #define decFloatPlus decDoublePlus
99 #define decFloatQuantize decDoubleQuantize 100 #define decFloatQuantize decDoubleQuantize
100 #define decFloatReduce decDoubleReduce 101 #define decFloatReduce decDoubleReduce
101 #define decFloatRemainder decDoubleRemainder 102 #define decFloatRemainder decDoubleRemainder
102 #define decFloatRemainderNear decDoubleRemainderNear 103 #define decFloatRemainderNear decDoubleRemainderNear
103 #define decFloatRotate decDoubleRotate 104 #define decFloatRotate decDoubleRotate
104 #define decFloatScaleB decDoubleScaleB 105 #define decFloatScaleB decDoubleScaleB
105 #define decFloatShift decDoubleShift 106 #define decFloatShift decDoubleShift
106 #define decFloatSubtract decDoubleSubtract 107 #define decFloatSubtract decDoubleSubtract
107 #define decFloatToIntegralValue decDoubleToIntegralValue 108 #define decFloatToIntegralValue decDoubleToIntegralValue
108 #define decFloatToIntegralExact decDoubleToIntegralExact 109 #define decFloatToIntegralExact decDoubleToIntegralExact
109 #define decFloatXor decDoubleXor 110 #define decFloatXor decDoubleXor
110 111
111 /* Comparisons */ 112 /* Comparisons */
112 #define decFloatCompare decDoubleCompare 113 #define decFloatCompare decDoubleCompare
113 #define decFloatCompareSignal decDoubleCompareSignal 114 #define decFloatCompareSignal decDoubleCompareSignal
114 #define decFloatCompareTotal decDoubleCompareTotal 115 #define decFloatCompareTotal decDoubleCompareTotal
115 #define decFloatCompareTotalMag decDoubleCompareTotalMag 116 #define decFloatCompareTotalMag decDoubleCompareTotalMag
116 117
117 /* Copies */ 118 /* Copies */
118 #define decFloatCanonical decDoubleCanonical 119 #define decFloatCanonical decDoubleCanonical
119 #define decFloatCopy decDoubleCopy 120 #define decFloatCopy decDoubleCopy
120 #define decFloatCopyAbs decDoubleCopyAbs 121 #define decFloatCopyAbs decDoubleCopyAbs
121 #define decFloatCopyNegate decDoubleCopyNegate 122 #define decFloatCopyNegate decDoubleCopyNegate
122 #define decFloatCopySign decDoubleCopySign 123 #define decFloatCopySign decDoubleCopySign
123 124
124 /* Non-computational */ 125 /* Non-computational */
125 #define decFloatClass decDoubleClass 126 #define decFloatClass decDoubleClass
126 #define decFloatClassString decDoubleClassString 127 #define decFloatClassString decDoubleClassString
127 #define decFloatDigits decDoubleDigits 128 #define decFloatDigits decDoubleDigits
128 #define decFloatIsCanonical decDoubleIsCanonical 129 #define decFloatIsCanonical decDoubleIsCanonical
129 #define decFloatIsFinite decDoubleIsFinite 130 #define decFloatIsFinite decDoubleIsFinite
130 #define decFloatIsInfinite decDoubleIsInfinite 131 #define decFloatIsInfinite decDoubleIsInfinite
131 #define decFloatIsInteger decDoubleIsInteger 132 #define decFloatIsInteger decDoubleIsInteger
132 #define decFloatIsNaN decDoubleIsNaN 133 #define decFloatIsNaN decDoubleIsNaN
133 #define decFloatIsNormal decDoubleIsNormal 134 #define decFloatIsNormal decDoubleIsNormal
134 #define decFloatIsSignaling decDoubleIsSignaling 135 #define decFloatIsSignaling decDoubleIsSignaling
135 #define decFloatIsSignalling decDoubleIsSignalling 136 #define decFloatIsSignalling decDoubleIsSignalling
136 #define decFloatIsSigned decDoubleIsSigned 137 #define decFloatIsSigned decDoubleIsSigned
137 #define decFloatIsSubnormal decDoubleIsSubnormal 138 #define decFloatIsSubnormal decDoubleIsSubnormal
138 #define decFloatIsZero decDoubleIsZero 139 #define decFloatIsZero decDoubleIsZero
139 #define decFloatRadix decDoubleRadix 140 #define decFloatRadix decDoubleRadix
140 #define decFloatSameQuantum decDoubleSameQuantum 141 #define decFloatSameQuantum decDoubleSameQuantum
141 #define decFloatVersion decDoubleVersion 142 #define decFloatVersion decDoubleVersion
142
143 143
144 #include "decNumberLocal.h" /* local includes (need DECPMAX) */ 144 #include "decNumberLocal.h" /* local includes (need DECPMAX) */
145 #include "decCommon.c" /* non-arithmetic decFloat routines */ 145 #include "decCommon.c" /* non-arithmetic decFloat routines */
146 #include "decBasic.c" /* basic formats routines */ 146 #include "decBasic.c" /* basic formats routines */
147 147
148 /* Below here will move to shared file as completed */
149