fmtscale.c revision 1
1N/A/*********************************************************************** 1N/A* This software is part of the ast package * 1N/A* Copyright (c) 1985-2011 AT&T Intellectual Property * 1N/A* and is licensed under the * 1N/A* Common Public License, Version 1.0 * 1N/A* by AT&T Intellectual Property * 1N/A* A copy of the License is available at * 1N/A* (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) * 1N/A* Information and Software Systems Research * 1N/A* Glenn Fowler <gsf@research.att.com> * 1N/A* David Korn <dgk@research.att.com> * 1N/A* Phong Vo <kpv@research.att.com> * 1N/A***********************************************************************/ 1N/A * return number n scaled to metric multiples of k { 1000 1024 } 1N/A * return string length is at most 5 chars + terminating nul 1N/A while (n >= k && *(u +
1))
1N/A if ((r = (
10 * (m % k) + (k /
2)) / k) >
9)
1N/A if (k ==
1024 && n >=
1000)
1N/A *s++ = *u ==
'k' ?
'K' : *u;
1N/A if (n > 0 && n <
10)