@@ -56,6 +56,8 @@ def charToBin(char):
5656	return  None 
5757
5858def  binsToFormula (bin ):
59+ 	if  not  isinstance (bin , list ):
60+ 		return  binsToFormula (formula )
5961	results = []
6062	for  bi  in  bin :
6163		# print(bi, binToFormula(bi)) 
@@ -78,37 +80,59 @@ def binToFormula(bin):
7880		return  None 
7981
8082def  formulasToBin (formulas ):
83+ 	if  not  isinstance (formulas , list ):
84+ 		return  formulaToBin (formulas )
8185	results = []
8286	for  formula  in  formulas :
8387		results .append (formulaToBin (formula ))
8488	return  results 
8589
8690def  formulaToBin (formula ):
91+ 	# print("------------->", formula) 
8792	if  formula  !=  None  and  len (formula ) >  0 :
93+ 		# print(formula) 
8894		results = []
89- 		i = 0 
90- 		print (";;;" ,formula )
91- 		for  f  in  formula :
92- 			if  i  ==  0  and  f .startswith ("y" ):
93- 				print ("1/insert y" )
94- 				results .append (0 ) # x 
95- 			elif  i  ==  0  and  f .startswith ("z" ):
96- 				results .append (0 ) # x 
97- 				results .append (0 ) # y 
98- 				print ("2/insert x" )
99- 				print ("2/insert y" )
100- 			elif  i  ==  1  and  f .startswith ("z" ):
101- 				results .append (0 ) # y 
102- 				print ("3/insert y" )
103- 			print ("f" , f )
104- 			if  f .endswith ("'" ):
105- 				results .append (0 )
106- 			else :
107- 				results .append (1 )
108- 			i = i + 1 
95+ 		muls = formula .split ("*" )
96+ 		for  mul  in  muls :
97+ 			result = []
98+ 			adds = mul .split ("+" )
99+ 			i = 0 
100+ 			j = 0 
101+ 			for  add  in  adds :
102+ 				if  i  ==  0  and  add  ==  "z" :
103+ 					result .append (0 ) # x 
104+ 					result .append (0 ) # y 
105+ 					j = j + 1 
106+ 					j = j + 1 
107+ 				elif  i  ==  0  and  add  ==  "y" :
108+ 					result .append (0 ) # x 
109+ 					j = j + 1 
110+ 				# elif i == 1 and add == "z": 
111+ 				# 	result.append(0) # y 
112+ 				elif  i  ==  2  and  add  ==  "z" :
113+ 					result .append (0 ) # y 
114+ 					j = j + 1 
115+ 				if  add .endswith ("'" ):
116+ 					result .append (0 )
117+ 				else :
118+ 					result .append (1 )
119+ 				# print(add) 
120+ 				i = i + 1 
121+ 			# print("last", i,j,i+j) 
122+ 			for  k  in  range (i + j , 3 ):
123+ 				# print(k) 
124+ 				result .append (0 )
125+ 			results .append (result )
109126		return  results 
110127	return  None 
111128
129+ # print("===>", formulaToBin("x")) 
130+ # print("===>", formulaToBin("x+y")) 
131+ # print("===>", formulaToBin("x*y+z")) 
132+ # print("===>", formulaToBin("y")) 
133+ # print("===>", formulaToBin("z")) 
134+ # print("===>", formulaToBin("z'")) 
135+ 
112136def  binToFormulaOld (bin ):
113137	if  bin  ==  [0 ,0 ,0 ]:
114138		return  ["x'" ,"y'" ,"z'" ]
@@ -445,7 +469,10 @@ def filterGArray(g):
445469
446470	if  gValuesCount  ==  binariesLength :
447471		print ("\t They are equal!" )
448- 		g = formulasToBin (newG )
472+ 		# print("-->", newG) 
473+ 		# print("-->", formulasToBin(newG)) 
474+ 		# g=formulasToBin(newG) 
475+ 		g = (newG )
449476	elif  gValuesCount  <  binariesLength :
450477		print ("\t binariesLength is bigger then gValuesCount." )
451478		g = newG 
0 commit comments