------------------------------------------------------------------ */ from-int32 -- conversion from Int or uInt */ / dn is the decNumber to receive the integer */ in or uin is the integer to be converted */ returns dn */ / No error is possible.
| 332 | /* No error is possible. */ |
| 333 | /* ------------------------------------------------------------------ */ |
| 334 | decNumber * decNumberFromInt32(decNumber *dn, Int in) { |
| 335 | uInt unsig; |
| 336 | if (in>=0) unsig=in; |
| 337 | else { // negative (possibly BADINT) |
| 338 | if (in==BADINT) unsig=(uInt)1073741824*2; // special case |
| 339 | else unsig=-in; // invert |
| 340 | } |
| 341 | // in is now positive |
| 342 | decNumberFromUInt32(dn, unsig); |
| 343 | if (in<0) dn->bits=DECNEG; // sign needed |
| 344 | return dn; |
| 345 | } // decNumberFromInt32 |
| 346 | |
| 347 | decNumber * decNumberFromUInt32(decNumber *dn, uInt uin) { |
| 348 | Unit *up; // work pointer |
no test coverage detected