Lines Matching defs:dplace
458 * 'dplace' is the default place of the decimal point. It is always set to
462 _mpd_to_string(char **result, const mpd_t *dec, int flags, mpd_ssize_t dplace)
522 * dplace is the location of the decimal point relative to
524 * when dplace is shifted.
527 * 2) dplace := ldigits (initially)
528 * 3) exp := ldigits - dplace (initially exp = 0)
533 * | | | `- dplace >= digits
534 * | | `- dplace in the middle of the coefficient
535 * | ` dplace = 1 (after the first coefficient digit)
536 * `- dplace <= 0
548 dplace = ldigits;
553 * dplace = 1. Otherwise, move dplace one
555 dplace = -1 + mod_mpd_ssize_t(dec->exp+2, 3);
559 * dplace one or two places to the right. */
560 dplace += mod_mpd_ssize_t(ldigits-1, 3);
572 if (dplace <= 0) {
573 mem = -dplace + dec->digits + 2;
575 else if (dplace >= dec->digits) {
576 mem = dplace;
600 if (dplace <= 0) {
601 /* space: -dplace+dec->digits+2 */
604 for (k = 0; k < -dplace; k++) {
609 else if (dplace >= dec->digits) {
610 /* space: dplace */
612 for (k = 0; k < dplace-dec->digits; k++) {
618 cp = coeff_to_string_dot(cp, cp+dplace, dec);
624 * MPD_FMT_TOSCI, MPD_FMT_TOENG: only if ldigits != dplace
625 * MPD_FMT_FIXED: never (ldigits == dplace)
628 if (ldigits != dplace || flags&MPD_FMT_EXP) {
631 cp = exp_to_string(cp, ldigits-dplace);
1253 mpd_ssize_t dplace = MPD_DEFAULT_DOTPLACE;
1324 dplace = 1-spec->prec;
1365 result.nbytes = _mpd_to_string(&result.data, dec, flags, dplace);