Guest User

Untitled

a guest
Nov 19th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.56 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4. "fmt"
  5. "unsafe"
  6. )
  7.  
  8. func newSIMDFloat32() []float32 {
  9. const align = 256 / 8 // SIMD
  10. const size = unsafe.Sizeof(float32(0))
  11. s32 := make([]float32, 2*align/size)
  12. p := uintptr(unsafe.Pointer(&s32[0]))
  13. p = ((p+align-1)/align*align - p) / size
  14. return s32[p : p+align/size : p+align/size]
  15. }
  16.  
  17. func main() {
  18. s32 := newSIMDFloat32()
  19. fmt.Printf("SIMD %T %d %d %p %gn", s32, len(s32), cap(s32), &s32[0], s32)
  20. CArgPtr := &s32[0]
  21. fmt.Println(CArgPtr)
  22. }
  23.  
  24. SIMD []float32 8 8 0x10436080 [0 0 0 0 0 0 0 0]
  25. 0x10436080
Add Comment
Please, Sign In to add comment