MCPcopy Create free account
hub / github.com/Meituan-Dianping/SQLAdvisor / decimal_actual_fraction

Function decimal_actual_fraction

strings/decimal.c:282–304  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

280*/
281
282int decimal_actual_fraction(decimal_t *from)
283{
284 int frac= from->frac, i;
285 dec1 *buf0= from->buf + ROUND_UP(from->intg) + ROUND_UP(frac) - 1;
286
287 if (frac == 0)
288 return 0;
289
290 i= ((frac - 1) % DIG_PER_DEC1 + 1);
291 while (frac > 0 && *buf0 == 0)
292 {
293 frac-= i;
294 i= DIG_PER_DEC1;
295 buf0--;
296 }
297 if (frac > 0)
298 {
299 for (i= DIG_PER_DEC1 - ((frac - 1) % DIG_PER_DEC1);
300 *buf0 % powers10[i++] == 0;
301 frac--) ;
302 }
303 return frac;
304}
305
306
307/*

Callers 1

my_decimal2binaryFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected