Util function to determine number of digits from an integer
This commit is contained in:
parent
fa91b43e8c
commit
075def8fbd
|
@ -1695,7 +1695,7 @@ static void stampdata(Scene *scene, Object *camera, StampData *stamp_data, int d
|
|||
int digits = 1;
|
||||
|
||||
if (scene->r.efra > 9)
|
||||
digits = 1 + (int) log10(scene->r.efra);
|
||||
digits = integer_digits_i(scene->r.efra);
|
||||
|
||||
BLI_snprintf(fmtstr, sizeof(fmtstr), do_prefix ? "Frame %%0%di" : "%%0%di", digits);
|
||||
BLI_snprintf(stamp_data->frame, sizeof(stamp_data->frame), fmtstr, scene->r.cfra);
|
||||
|
|
|
@ -397,6 +397,10 @@ MINLINE int integer_digits_d(const double d)
|
|||
return (d == 0.0) ? 0 : (int)floor(log10(fabs(d))) + 1;
|
||||
}
|
||||
|
||||
MINLINE int integer_digits_i(const int i)
|
||||
{
|
||||
return (int)log10(i) + 1;
|
||||
}
|
||||
|
||||
/* Internal helpers for SSE2 implementation.
|
||||
*
|
||||
|
|
|
@ -594,7 +594,7 @@ static void text_update_drawcache(SpaceText *st, ARegion *ar)
|
|||
drawcache->total_lines = 0;
|
||||
|
||||
if (st->showlinenrs)
|
||||
st->linenrs_tot = (int)floor(log10((float)nlines)) + 1;
|
||||
st->linenrs_tot = integer_digits_i(nlines);
|
||||
|
||||
while (line) {
|
||||
if (drawcache->valid_head) { /* we're inside valid head lines */
|
||||
|
@ -628,7 +628,7 @@ static void text_update_drawcache(SpaceText *st, ARegion *ar)
|
|||
nlines = BLI_listbase_count(&txt->lines);
|
||||
|
||||
if (st->showlinenrs)
|
||||
st->linenrs_tot = (int)floor(log10((float)nlines)) + 1;
|
||||
st->linenrs_tot = integer_digits_i(nlines);
|
||||
}
|
||||
|
||||
drawcache->total_lines = nlines;
|
||||
|
|
Loading…
Reference in New Issue