func lattigo_decode()

in src/gowrapper/ckks/encoder.go [68:85]


func lattigo_decode(encoderHandle Handle2, ptHandle Handle2, logSlots uint64, outValues *C.double) {
	var enc *ckks.Encoder
	enc = getStoredEncoder(encoderHandle)

	var pt *ckks.Plaintext
	pt = getStoredPlaintext(ptHandle)

	var res []complex128
	res = (*enc).Decode(pt, int(logSlots))

	size := unsafe.Sizeof(float64(0))
	basePtr := uintptr(unsafe.Pointer(outValues))
	for i := range res {
		var x complex128
		x = res[i]
		*(*float64)(unsafe.Pointer(basePtr + size*uintptr(i))) = real(x)
	}
}