Lines Matching defs:dn

62 /*   dn is the source number (assumed valid)                          */
76 decimal64FromNumber (decimal64 * d64, const decNumber * dn, decContext * set)
82 uByte isneg = dn->bits & DECNEG; /* non-0 if original sign set */
88 if (!(dn->bits & DECSPECIAL))
90 Int ae = dn->exponent + dn->digits - 1; /* adjusted exponent */
91 if (dn->digits > DECIMAL64_Pmax /* too many digits */
97 decNumberPlus (&dw, dn, &dc); /* (round and check) */
100 dn = &dw; /* use the work number */
107 if (dn->bits & DECSPECIAL)
110 if (dn->bits & DECINF)
114 if ((*dn->lsu != 0 || dn->digits > 1) /* non-zero coefficient */
115 && (dn->digits < DECIMAL64_Pmax))
117 decDensePackCoeff (dn, d64->bytes, sizeof (d64->bytes), 0);
119 if (dn->bits & DECNAN)
126 else if (decNumberIsZero (dn))
129 if (dn->exponent < -DECIMAL64_Bias)
136 exp = dn->exponent + DECIMAL64_Bias; /* bias exponent */
152 /* we have a dn that fits, but it may need to be padded */
153 exp = (uInt) (dn->exponent + DECIMAL64_Bias); /* bias exponent */
161 decDensePackCoeff (dn, d64->bytes, sizeof (d64->bytes), pad);
188 /* dn is the target number, with appropriate space */
192 decimal64ToNumber (const decimal64 * d64, decNumber * dn)
197 decNumberZero (dn); /* clean target */
200 dn->bits = DECNEG;
205 dn->bits |= DECINF;
207 dn->bits |= DECNAN;
209 dn->bits |= DECSNAN;
227 dn->exponent = exp + decimal64ExpCon (d64) - DECIMAL64_Bias; /* remove bias */
231 if (!(dn->bits & DECINF))
246 decDenseUnpackCoeff (d64->bytes, sizeof (d64->bytes), dn, bunches, odd);
248 return dn;
268 decNumber dn; /* work */
269 decimal64ToNumber (d64, &dn);
270 decNumberToString (&dn, string);
277 decNumber dn; /* work */
278 decimal64ToNumber (d64, &dn);
279 decNumberToEngString (&dn, string);
302 decNumber dn; /* .. */
307 decNumberFromString (&dn, string, &dc); /* will round if needed */
309 decimal64FromNumber (result, &dn, &dc);