Mercurial > hg > CbC > CbC_gcc
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 |