Lines Matching defs:dn
50 /* dn is the decNumber */
70 const decNumber *dn) {
71 const Unit *up=dn->lsu; /* Unit array pointer */
73 Int indigs=dn->digits; /* digits processed */
81 if (dn->digits>length*2-1 /* too long .. */
82 ||(dn->bits & DECSPECIAL)) return NULL; /* .. or special -- hopeless */
84 if (dn->bits&DECNEG) obyte=DECPMINUS; /* set the sign .. */
86 *scale=-dn->exponent; /* .. and scale */
139 /* dn is the decNumber [with space for length*2 digits] */
140 /* returns dn, or NULL if error */
158 const Int *scale, decNumber *dn) {
162 Unit *up=dn->lsu; /* output pointer */
166 decNumberZero(dn); /* default result */
169 if (nib==DECPMINUS || nib==DECPMINUSALT) dn->bits=DECNEG;
176 if (digits!=0) dn->digits=digits; /* count of actual digits [if 0, */
180 dn->exponent=-*scale; /* set the exponent */
182 if ((dn->digits-*scale-1)<-DECNUMMAXE) { /* underflow */
183 decNumberZero(dn);
189 || ((dn->digits-*scale-1)>DECNUMMAXE)) { /* overflow */
190 decNumberZero(dn);
193 if (digits==0) return dn; /* result was zero */
201 if (nib>9) {decNumberZero(dn); return NULL;}
214 if (nib>9) {decNumberZero(dn); return NULL;}
228 return dn;