code: func (curve *KoblitzCurve) SerializedBytePoints() []byte {
  	doublingPoints := curve.getDoublingPoints()
  
  	// Segregate the bits into byte-sized windows
  	serialized := make([]byte, curve.byteSize*256*3*10*4)
  	offset := 0
  	for byteNum := 0; byteNum < curve.byteSize; byteNum++ {
  		// Grab the 8 bits that make up this byte from doublingPoints.
  		startingBit := 8 * (curve.byteSize - byteNum - 1)
  		computingPoints := doublingPoints[startingBit : startingBit+8]
  
  		// Compute all points in this window and serialize them.
  		for i := 0; i < 256; i++ {
  			px, py, pz := new(fieldVal), new(fieldVal), new(fieldVal)
  			for j := 0; j < 8; j++ {
  				if i>>uint(j)&1 == 1 {
  					curve.addJacobian(px, py, pz, &computingPoints[j][0],
  						&computingPoints[j][1], &computingPoints[j][2], px, py, pz)
  				}
  			}
  			for i := 0; i < 10; i++ {
  				binary.LittleEndian.PutUint32(serialized[offset:], px.n[i])
  				offset += 4
  			}
  			for i := 0; i < 10; i++ {
  				binary.LittleEndian.PutUint32(serialized[offset:], py.n[i])
  				offset += 4
  			}
  			for i := 0; i < 10; i++ {
  				binary.LittleEndian.PutUint32(serialized[offset:], pz.n[i])
  				offset += 4
  			}
  		}
  	}
  
  	return serialized
  }
docs: // SerializedBytePoints returns a serialized byte slice which contains all of
  // the possible points per 8-bit window.  This is used to when generating
  // secp256k1.go.