github.com/cristalhq/base64@v0.1.2/utils_be.go (about)

     1  //go:build armbe || arm64be || mips || mips64 || mips64p32 || ppc || ppc64 || sparc || sparc64 || s390 || s390x
     2  // +build armbe arm64be mips mips64 mips64p32 ppc ppc64 sparc sparc64 s390 s390x
     3  
     4  package base64
     5  
     6  import (
     7  	"math/bits"
     8  	"unsafe"
     9  )
    10  
    11  //go:nosplit
    12  func bswap32(ptr uintptr) uint32 {
    13  	return *(*uint32)(unsafe.Pointer(ptr))
    14  }
    15  
    16  //go:nosplit
    17  func stou32(cp uintptr, x uint32) {
    18  	*(*uint32)(unsafe.Pointer(cp)) = bits.ReverseBytes32(x)
    19  }
    20  
    21  //go:nosplit
    22  func ctou32(cp uintptr) uint32 {
    23  	return bits.ReverseBytes32(*(*uint32)(unsafe.Pointer(cp)))
    24  }