platform.go 579 B

123456789101112131415161718
  1. package farm
  2. func rotate32(val uint32, shift uint) uint32 {
  3. return ((val >> shift) | (val << (32 - shift)))
  4. }
  5. func rotate64(val uint64, shift uint) uint64 {
  6. return ((val >> shift) | (val << (64 - shift)))
  7. }
  8. func fetch32(s []byte, idx int) uint32 {
  9. return uint32(s[idx+0]) | uint32(s[idx+1])<<8 | uint32(s[idx+2])<<16 | uint32(s[idx+3])<<24
  10. }
  11. func fetch64(s []byte, idx int) uint64 {
  12. return uint64(s[idx+0]) | uint64(s[idx+1])<<8 | uint64(s[idx+2])<<16 | uint64(s[idx+3])<<24 |
  13. uint64(s[idx+4])<<32 | uint64(s[idx+5])<<40 | uint64(s[idx+6])<<48 | uint64(s[idx+7])<<56
  14. }