\\% Expansion in radix r \\ Author: Joerg Arndt \\ License: GPL version 3 or later \\ online at http://www.jjj.de/pari/ \\ version: 2011-January-19 (12:49) n2rad(n,r)= { /* convert n into radix r (as vector) */ local(len, v); if ( n==0, return( [0] ) ); len = valuation(n,r); if ( n == (r^len), return( vector(len+1,n,if(n==1,1,0)) ) ); len = ceil( log(n)/log(r) ); v = vector(len); forstep (k=len, 1, -1, v[k] = n%r; n \= r; ); return( v ); } /* ----- */ rad2n(v,r)= { /* inverse of n2rad() */ local(len, t, p); t = 0; p = 1; len = length(v); forstep (k=len, 1, -1, t += v[k]*p; p *= r; ); return( t ); } /* ----- */ \\ ==== end of file ====