from functools import reduce,partial from operator import mul # from math import fmod def _base(n,b): out =[] while n: out.insert(0,n%b) n //= b return out def _multbase(n,bases): if reduce(mul,bases) < n: raise ValueError("Not enough bases/not big enough") for base in reversed(bases): out.insert(0,n%bases) n //= base if not n: return out def _fbase(n,b,se = 2**-64): out = [] if b < 1: b = 1/b op = out.append else: op = partial(out.insert,0) print(b) r = 1 while n > r != 0: r = int(n%b) op(r) n = (n-r)/b return out def _fmultbase(n,b,se = 0.01): out = [] if reduce(mul,bases) < n: raise ValueError("Not enough bases/not big enough") for base in reversed(bases): out.insert(0,n%base) n /= base if n < se or n == 0: return out #test