code: func newGFPolyFromData(data *bitset.Bitset) gfPoly {
  	numTotalBytes := data.Len() / 8
  	if data.Len()%8 != 0 {
  		numTotalBytes++
  	}
  
  	result := gfPoly{term: make([]gfElement, numTotalBytes)}
  
  	i := numTotalBytes - 1
  	for j := 0; j < data.Len(); j += 8 {
  		result.term[i] = gfElement(data.ByteAt(j))
  		i--
  	}
  
  	return result
  }
docs: // newGFPolyFromData returns |data| as a polynomial over GF(2^8).
  //
  // Each data byte becomes the coefficient of an x term.
  //
  // For an n byte input the polynomial is:
  // data[n-1]*(x^n-1) + data[n-2]*(x^n-2) ... + data[0]*(x^0).