package rle import "unsafe" func CVAL(p *[]uint8) int { a := int((*p)[0]) *p = (*p)[1:] return a } func CVAL2(p *[]uint8, v *uint16) { *v = *((*uint16)(unsafe.Pointer(&(*p)[0]))) *p = (*p)[2:] } func CVAL3(p *[]uint8, v *[3]uint8) { (*v)[0] = (*p)[0] (*v)[1] = (*p)[1] (*v)[2] = (*p)[2] *p = (*p)[3:] } func REPEAT(f func(), count *int, x *int, width int) { for *count > 0 && *x < width { f() *count-- *x++ } }