Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt"
- "unsafe"
- )
- func newSIMDFloat32() []float32 {
- const align = 256 / 8 // SIMD
- const size = unsafe.Sizeof(float32(0))
- s32 := make([]float32, 2*align/size)
- p := uintptr(unsafe.Pointer(&s32[0]))
- p = ((p+align-1)/align*align - p) / size
- return s32[p : p+align/size : p+align/size]
- }
- func main() {
- s32 := newSIMDFloat32()
- fmt.Printf("SIMD %T %d %d %p %gn", s32, len(s32), cap(s32), &s32[0], s32)
- CArgPtr := &s32[0]
- fmt.Println(CArgPtr)
- }
- SIMD []float32 8 8 0x10436080 [0 0 0 0 0 0 0 0]
- 0x10436080
Add Comment
Please, Sign In to add comment