from sys import path

path.append('/home/steph/mpc/lib')

#from dec2bin import dec2bin

binary_digits=['0','1']

def breakBin(x):	# takes a binary number (in int form)
  if type(x) != type(1):
    print "breakBin requires argument to be an integer"
    return 0
  else:
    list=[]
    x_str=repr(x)
    for i in x_str:
      if i not in binary_digits:
        print "breakBin(x) requires argument to be a binary integer"
	return 0
      else:
        list.append(int(i))

  return list

def nimAddPlaces(digit_list): # takes a list of binary digits
  total=0
  if type(digit_list) != type([]):
    print "nimAddPlaces(x) requires a list of binary digits"
    return 0

  for j in digit_list:
    if repr(j) not in binary_digits:
      print "nimAddPlaces(x) requires a list of binary digits"
      return 0
    else:
      try:
        total=total+j
      except TypeError, error:
        print "nimAddPlaces(x) requires a list of binary digits"

  return total % 2

def glueBinDigits(digit_list):	# takes a list of binary digits
  newstring=""
  if type(digit_list) != type([]):
    print "glueBinDigits(x) requires a list of binary digits"
    return 0

  for k in digit_list:
    k_str=repr(k)
    if k_str not in binary_digits:
      print "glueBinDigits(x) will only glue together a list of binary digits"
      return 0
    newstring=newstring + k_str

  newbin=int(newstring)

  return newbin
