github.com/gorgonia/agogo@v0.1.1/game/komi/naughty.go (about)

     1  package komi
     2  
     3  import (
     4  	"reflect"
     5  	"unsafe"
     6  )
     7  
     8  func (z *zobrist) makeIterator() {
     9  	z.it = make([][]int32, z.size, z.size)
    10  	rowStride := 2
    11  	for i := range z.it {
    12  		start := i * rowStride
    13  		hdr := &reflect.SliceHeader{
    14  			Data: uintptr(unsafe.Pointer(&z.table[start])),
    15  			Len:  rowStride,
    16  			Cap:  rowStride,
    17  		}
    18  		z.it[i] = *(*[]int32)(unsafe.Pointer(hdr))
    19  	}
    20  }