go-randomx/register.go

30 lines
571 B
Go
Raw Permalink Normal View History

2024-04-11 14:04:59 +00:00
package randomx
import "unsafe"
2024-04-14 13:43:54 +00:00
const RegistersCount = 8
const RegistersCountFloat = 4
const LOW = 0
const HIGH = 1
2024-04-14 13:43:54 +00:00
type RegisterLine [RegistersCount]uint64
type RegisterFile struct {
R RegisterLine
F [RegistersCountFloat][2]float64
E [RegistersCountFloat][2]float64
A [RegistersCountFloat][2]float64
FPRC uint8
2024-04-14 13:43:54 +00:00
}
const RegisterFileSize = RegistersCount*8 + RegistersCountFloat*2*8*3
func (rf *RegisterFile) Memory() *[RegisterFileSize]byte {
return (*[RegisterFileSize]byte)(unsafe.Pointer(rf))
}
2024-05-01 14:58:49 +00:00
func (rf *RegisterFile) Clear() {
clear(rf.Memory()[:])
}