code: func (f *fieldVal) MulInt(val uint) *fieldVal {
  	// Since each word of the field representation can hold up to
  	// fieldOverflowBits extra bits which will be normalized out, it's safe
  	// to multiply each word without using a larger type or carry
  	// propagation so long as the values won't overflow a uint32.  This
  	// could obviously be done in a loop, but the unrolled version is
  	// faster.
  	ui := uint32(val)
  	f.n[0] *= ui
  	f.n[1] *= ui
  	f.n[2] *= ui
  	f.n[3] *= ui
  	f.n[4] *= ui
  	f.n[5] *= ui
  	f.n[6] *= ui
  	f.n[7] *= ui
  	f.n[8] *= ui
  	f.n[9] *= ui
  
  	return f
  }
docs: // MulInt multiplies the field value by the passed int and stores the result in
  // f.  Note that this function can overflow if multiplying the value by any of
  // the individual words exceeds a max uint32.  Therefore it is important that
  // the caller ensures no overflows will occur before using this function.
  //
  // The field value is returned to support chaining.  This enables syntax like:
  // f.MulInt(2).Add(f2) so that f = 2 * f + f2.