Numeric Base Recursive Builder Algorithm
This is the Main Base Builder Recursive Generator Algorithm
Algorithm
This is the main Base Table Builder Algorithm. The algorithm is ruled by these following steps :
Init time : I init Time variable using the time library from Python
First Step Base Table : This is the first step of the builder, I build the basic table from the tablebase function
First level of recursivity : I build the first level of recursivity in safe mode using recursive_build function
Full Recursive algorithm : We get the full computation of the table via the recursive_build_sup_lvl method.
Time calculation : Computation of necessary time for the construction of the full array
- Returns
list of list : A list of list containing all the string values representing the full generateed Base Table array
Source Code
def table():
rec_level_h = [6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,4,4,4,4,4,4,4,4,4]
rec_level_m = [5,5,5,5,5,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3]
rec_level_l = [4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3]
table = []
bases = []
tmp = ()
ok = 0
mini =11
mytime = 0
fini = 0
finalt = 0
initt =time.time()
# Construction algorithm using recursivity to build the nearest max_int bound tables (never equal 4 000 000 000...)
for i in range (mini,37):
ind = 1
ok = 0
bases.append(tablebase(i))
table.append(recursive_build(bases[i-mini]))
while(not ok):
tmp=recursive_build_sup_lvl(bases[i-mini],table[i-mini],ind)
table[i-mini]=tmp[0]
ind+=1
if(ind==rec_level_l[i-mini]):
ok=1
return table