From 924d0947761d9dfe10a4c0a6e6074d0014cb2a29 Mon Sep 17 00:00:00 2001 From: Raphael Roberts Date: Sat, 6 Oct 2018 02:23:29 -0500 Subject: [PATCH] test --- multbase.py | 59 +++++++++++++++++++++++++++++++++++------------------ 1 file changed, 39 insertions(+), 20 deletions(-) diff --git a/multbase.py b/multbase.py index 5883665..d823359 100644 --- a/multbase.py +++ b/multbase.py @@ -1,24 +1,43 @@ -from functools import reduce +from functools import reduce,partial from operator import mul +# from math import fmod def _base(n,b): - out =[] - while n: - out.append(n%b) - n //= b - return out + out =[] + while n: + out.insert(0,n%b) + n //= b + return out def _multbase(n,bases): - out = [] - if functools.reduce(mul,bases) < n: - raise ValueError("Not enough bases/not big enough") - for base in reversed(bases): - out.append(n%bases) - n //= base - if not n: - return out - -def base(n,base_arg): - try: - return _multbase(n,base_arg - except ValueError: - return _base(n,base_arg) \ No newline at end of file + 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 \ No newline at end of file