44 lines
919 B
Go
44 lines
919 B
Go
package randomx
|
|
|
|
func NewRxVM(rxDataset *RxDataset, flags ...Flag) (*RxVM, error) {
|
|
if rxDataset.rxCache == nil {
|
|
vm, err := CreateVM(nil, rxDataset.dataset, flags...)
|
|
return &RxVM{
|
|
vm: vm,
|
|
rxDataset: nil,
|
|
}, err
|
|
}
|
|
vm, err := CreateVM(rxDataset.rxCache.cache, rxDataset.dataset, flags...)
|
|
return &RxVM{
|
|
vm: vm,
|
|
rxDataset: nil,
|
|
}, err
|
|
}
|
|
|
|
func (vm *RxVM) Close() {
|
|
if vm.vm != nil {
|
|
DestroyVM(vm.vm)
|
|
vm.vm = nil
|
|
}
|
|
}
|
|
|
|
func (vm *RxVM) CalcHash(in []byte) RxHash {
|
|
return CalculateHash(vm.vm, in)
|
|
}
|
|
|
|
func (vm *RxVM) CalcHashFirst(in []byte) {
|
|
CalculateHashFirst(vm.vm, in)
|
|
}
|
|
|
|
func (vm *RxVM) CalcHashNext(in []byte) RxHash {
|
|
return CalculateHashNext(vm.vm, in)
|
|
}
|
|
|
|
func (vm *RxVM) CalcHashLast() RxHash {
|
|
return CalculateHashLast(vm.vm)
|
|
}
|
|
|
|
func (vm *RxVM) UpdateDataset(rxDataset *RxDataset) {
|
|
SetVMCache(vm.vm, rxDataset.rxCache.cache)
|
|
SetVMDataset(vm.vm, rxDataset.dataset)
|
|
}
|