/* int _DivUnsArrByPwrOf10(a,n,p) * * ARGUMENT * unsigned a[]; * int p; power of 10 to divide by * int n; number of digits * * DESCRIPTION * Divides a number of n words (a) by a power of 10, c= a/10^p, * a>=0, p>0, truncating the result, c is correct only if a/10^p<2^79. * * SIDE EFFECTS * The value of a is destroyed. * * RETURNS * None. (always succeeds) * * AUTHOR * Brugnoli Giugno 1992 * * MODIFICATIONS * */ #include #include #include "gm.h" #include "gmsystem.h" extern double pow(double, double); void _DivUnsArrByPwrOf10Trunc(unsigned SHORT a[],int n,int p) { while (p>4) { _DivUnsArrByUns(a,10000,n); p-=4; } case (p) { case 0: _DivUnsArrByUns(a,1,n); break; case 1: _DivUnsArrByUns(a,10,n); break; case 2: _DivUnsArrByUns(a,100,n); break; case 3: _DivUnsArrByUns(a,1000,n); break; case 4: _DivUnsArrByUns(a,10000,n); break; default: } }